From 910e7fbe4db3c471f647a1c366e4a279a6ab5a84 Mon Sep 17 00:00:00 2001 From: Diego Novillo Date: Mon, 25 Feb 2013 15:28:14 +0000 Subject: Merged revisions 196123-196124,196129,196132-196134,196136-196139,196155-196158,196161-196162,196164-196167,196169-196172,196174,196177,196179-196180,196183-196185,196191,196194-196196,196199-196211,196213-196215,196218,196220-196224,196228-196231,196236,196241-196244 via svnmerge from svn+ssh://gcc.gnu.org/svn/gcc/trunk git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/integration@196262 138bc75d-0d04-0410-961f-82ee72b054a4 --- ChangeLog | 4 + MAINTAINERS | 1 + gcc/ChangeLog | 256 +- gcc/DATESTAMP | 2 +- gcc/Makefile.in | 2 +- gcc/ada/ChangeLog | 7 + gcc/ada/gnat-style.texi | 2 +- gcc/ada/projects.texi | 12 +- gcc/c-family/ChangeLog | 14 + gcc/c-family/c-common.c | 2 + gcc/c-family/c-opts.c | 10 + gcc/config.gcc | 4 + gcc/config/aarch64/aarch64-simd-builtins.def | 19 + gcc/config/aarch64/t-aarch64 | 3 +- gcc/config/arm/arm.md | 19 +- gcc/config/arm/iterators.md | 4 +- gcc/config/gnu-user.h | 6 +- gcc/config/i386/i386.c | 5 +- gcc/config/microblaze/microblaze.c | 11 + gcc/config/microblaze/microblaze.h | 4 + gcc/config/microblaze/microblaze.md | 24 +- gcc/config/mips/mips.c | 2 +- gcc/config/pa/pa.c | 15 + gcc/cp/ChangeLog | 27 + gcc/cp/call.c | 7 + gcc/cp/cp-tree.h | 1 + gcc/cp/cvt.c | 13 +- gcc/cp/decl.c | 9 +- gcc/cp/pt.c | 4 + gcc/cp/tree.c | 46 +- gcc/cp/typeck.c | 9 +- gcc/doc/invoke.texi | 12 +- gcc/doc/rtl.texi | 17 +- gcc/expmed.c | 35 +- gcc/expr.c | 2 + gcc/expr.h | 2 +- gcc/fortran/ChangeLog | 19 + gcc/fortran/gfortran.texi | 6 +- gcc/fortran/intrinsic.texi | 196 +- gcc/fortran/resolve.c | 2 +- gcc/fortran/trans-array.c | 7 +- gcc/function.c | 20 + gcc/function.h | 3 + gcc/genopinit.c | 10 +- gcc/genpreds.c | 5 +- gcc/ipa-cp.c | 33 +- gcc/ipa-prop.c | 61 +- gcc/lower-subreg.c | 56 +- gcc/lower-subreg.h | 1 + gcc/lra-constraints.c | 22 +- gcc/optabs.c | 35 +- gcc/optabs.h | 1 + gcc/passes.c | 5 +- gcc/po/ChangeLog | 4 + gcc/po/gcc.pot | 23109 ++++++++++--------- gcc/sel-sched-dump.c | 4 +- gcc/sel-sched.c | 67 + gcc/target-globals.c | 29 + gcc/target-globals.h | 1 + gcc/testsuite/ChangeLog | 101 + .../cpp0x/Wzero-as-null-pointer-constant-2.C | 14 + gcc/testsuite/g++.dg/ipa/devirt-11.C | 50 + gcc/testsuite/g++.dg/ipa/pr56310.C | 36 + gcc/testsuite/g++.dg/opt/pr56381.C | 156 + gcc/testsuite/g++.dg/pch/pch.exp | 2 + gcc/testsuite/g++.dg/template/access25.C | 20 + gcc/testsuite/g++.dg/template/error49.C | 10 + gcc/testsuite/g++.dg/template/typename19.C | 24 + gcc/testsuite/g++.dg/torture/pr56398.C | 22 + gcc/testsuite/g++.dg/warn/Warray-bounds-6.C | 30 - gcc/testsuite/gcc.c-torture/compile/pr52555.c | 10 + gcc/testsuite/gcc.c-torture/compile/pr56405.c | 7 + gcc/testsuite/gcc.dg/pch/pch.exp | 2 + gcc/testsuite/gcc.dg/pch/valid-1.c | 1 + gcc/testsuite/gcc.dg/pch/valid-1.hs | 1 + gcc/testsuite/gcc.dg/pch/valid-1b.c | 1 + gcc/testsuite/gcc.dg/pch/valid-1b.hs | 1 + gcc/testsuite/gcc.dg/pr56350.c | 13 + gcc/testsuite/gcc.dg/pr56396.c | 22 + gcc/testsuite/gcc.dg/tm/memopt-1.c | 4 +- gcc/testsuite/gcc.dg/tm/pr56108.c | 9 + gcc/testsuite/gcc.dg/torture/pr56384.c | 24 + gcc/testsuite/gcc.dg/torture/pr56420.c | 37 + gcc/testsuite/gcc.dg/tree-ssa/forwprop-8.c | 3 +- gcc/testsuite/gcc.dg/tree-ssa/pr21559.c | 6 +- gcc/testsuite/gcc.dg/tree-ssa/vrp17.c | 7 +- gcc/testsuite/gcc.dg/tree-ssa/vrp18.c | 6 +- gcc/testsuite/gcc.dg/tree-ssa/vrp23.c | 7 +- gcc/testsuite/gcc.dg/tree-ssa/vrp24.c | 8 +- gcc/testsuite/gfortran.dg/proc_ptr_comp_37.f90 | 25 + gcc/testsuite/lib/asan-dg.exp | 1 + gcc/testsuite/lib/dg-pch.exp | 51 +- gcc/testsuite/objc.dg/pch/pch.exp | 3 +- gcc/trans-mem.c | 19 +- gcc/tree-call-cdce.c | 7 +- gcc/tree-ssa-ccp.c | 9 +- gcc/tree-ssa-copy.c | 9 +- gcc/tree-ssa-copyrename.c | 40 +- gcc/tree-ssa-dce.c | 6 +- gcc/tree-ssa-forwprop.c | 2 - gcc/tree-ssa-live.c | 5 +- gcc/tree-ssa-loop-ivopts.c | 17 +- gcc/tree-ssa-pre.c | 2 +- gcc/tree-ssa-sccvn.c | 11 +- gcc/tree-ssa-sccvn.h | 17 +- gcc/tree-ssanames.c | 4 +- gcc/tree-vect-loop-manip.c | 1 + gcc/tree-vect-loop.c | 19 +- gcc/tree-vrp.c | 13 +- gcc/tree.h | 11 + libcpp/po/ChangeLog | 4 + libcpp/po/cpplib.pot | 440 +- libgcc/ChangeLog | 4 + libgcc/config/microblaze/modsi3.S | 2 + libgfortran/ChangeLog | 17 + libgfortran/acinclude.m4 | 12 - libgfortran/config.h.in | 3 - libgfortran/configure | 22 - libgfortran/configure.ac | 3 - libgfortran/intrinsics/c99_functions.c | 2 - libgfortran/io/open.c | 8 +- libgfortran/io/unix.c | 15 +- libgo/Makefile.am | 19 +- libgo/Makefile.in | 16 +- libgo/go/syscall/sockcmsg_unix.go | 10 +- libgo/go/syscall/socket.go | 24 - libgo/go/syscall/socket_posix.go | 31 + libgo/go/syscall/socket_xnet.go | 32 + libgo/runtime/lfstack.c | 7 +- libjava/classpath/ChangeLog.gcj | 6 + libjava/classpath/doc/cp-tools.texinfo | 2 +- libquadmath/ChangeLog | 6 + libquadmath/strtod/strtod_l.c | 44 +- libsanitizer/ChangeLog | 28 + libsanitizer/MERGE | 2 +- libsanitizer/asan/Makefile.am | 5 +- libsanitizer/asan/Makefile.in | 79 +- libsanitizer/asan/asan_flags.h | 8 +- libsanitizer/asan/asan_intercepted_functions.h | 59 +- libsanitizer/asan/asan_interceptors.cc | 13 +- libsanitizer/asan/asan_internal.h | 6 +- libsanitizer/asan/asan_mac.cc | 110 +- libsanitizer/asan/asan_mapping.h | 112 +- libsanitizer/asan/asan_preinit.cc | 27 + libsanitizer/asan/asan_report.cc | 4 +- libsanitizer/asan/asan_rtl.cc | 185 +- .../asan/dynamic/asan_interceptors_dynamic.cc | 114 - libsanitizer/include/sanitizer/asan_interface.h | 4 +- .../include/sanitizer/common_interface_defs.h | 5 + libsanitizer/merge.sh | 1 - libsanitizer/sanitizer_common/Makefile.am | 1 + libsanitizer/sanitizer_common/Makefile.in | 13 +- libsanitizer/sanitizer_common/sanitizer_common.cc | 2 +- libsanitizer/sanitizer_common/sanitizer_common.h | 2 +- .../sanitizer_common_interceptors.inc | 103 +- libsanitizer/sanitizer_common/sanitizer_flags.cc | 3 +- .../sanitizer_common/sanitizer_internal_defs.h | 2 +- libsanitizer/sanitizer_common/sanitizer_libc.h | 6 +- libsanitizer/sanitizer_common/sanitizer_linux.cc | 36 +- libsanitizer/sanitizer_common/sanitizer_mac.cc | 4 + .../sanitizer_platform_interceptors.h | 10 + .../sanitizer_platform_limits_posix.cc | 68 + .../sanitizer_platform_limits_posix.h | 41 + libsanitizer/sanitizer_common/sanitizer_posix.cc | 8 +- .../sanitizer_common/sanitizer_stacktrace.cc | 5 +- .../sanitizer_common/sanitizer_symbolizer_linux.cc | 2 +- libsanitizer/sanitizer_common/sanitizer_win.cc | 12 +- libsanitizer/tsan/tsan_platform_linux.cc | 2 +- libsanitizer/tsan/tsan_platform_mac.cc | 2 +- libsanitizer/tsan/tsan_platform_windows.cc | 2 +- libsanitizer/tsan/tsan_rtl.h | 2 + libsanitizer/tsan/tsan_rtl_thread.cc | 22 + libsanitizer/tsan/tsan_stat.cc | 8 + libsanitizer/tsan/tsan_stat.h | 8 + libsanitizer/tsan/tsan_suppressions.cc | 2 +- libstdc++-v3/ChangeLog | 38 + libstdc++-v3/doc/doxygen/user.cfg.in | 111 +- libstdc++-v3/doc/html/faq.html | 2 +- libstdc++-v3/doc/xml/faq.xml | 2 +- libstdc++-v3/include/bits/basic_ios.h | 2 +- libstdc++-v3/include/bits/regex.h | 4 +- libstdc++-v3/include/bits/stl_pair.h | 9 +- libstdc++-v3/include/bits/stringfwd.h | 15 +- libstdc++-v3/include/std/istream | 2 +- libstdc++-v3/include/std/limits | 24 +- libstdc++-v3/include/std/streambuf | 27 +- libstdc++-v3/include/std/tuple | 12 +- libstdc++-v3/include/std/type_traits | 37 +- libstdc++-v3/include/std/typeindex | 13 +- libstdc++-v3/include/tr1/memory | 4 +- libstdc++-v3/include/tr1/regex | 8 +- libstdc++-v3/scripts/run_doxygen | 2 + .../testsuite/20_util/uses_allocator/cons_neg.cc | 2 +- .../23_containers/unordered_multiset/55043.cc | 2 +- .../testsuite/23_containers/unordered_set/55043.cc | 2 +- 195 files changed, 15254 insertions(+), 12135 deletions(-) create mode 100644 gcc/testsuite/g++.dg/cpp0x/Wzero-as-null-pointer-constant-2.C create mode 100644 gcc/testsuite/g++.dg/ipa/devirt-11.C create mode 100644 gcc/testsuite/g++.dg/ipa/pr56310.C create mode 100644 gcc/testsuite/g++.dg/opt/pr56381.C create mode 100644 gcc/testsuite/g++.dg/template/access25.C create mode 100644 gcc/testsuite/g++.dg/template/error49.C create mode 100644 gcc/testsuite/g++.dg/template/typename19.C create mode 100644 gcc/testsuite/g++.dg/torture/pr56398.C delete mode 100644 gcc/testsuite/g++.dg/warn/Warray-bounds-6.C create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr52555.c create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr56405.c create mode 100644 gcc/testsuite/gcc.dg/pr56350.c create mode 100644 gcc/testsuite/gcc.dg/pr56396.c create mode 100644 gcc/testsuite/gcc.dg/tm/pr56108.c create mode 100644 gcc/testsuite/gcc.dg/torture/pr56384.c create mode 100644 gcc/testsuite/gcc.dg/torture/pr56420.c create mode 100644 gcc/testsuite/gfortran.dg/proc_ptr_comp_37.f90 create mode 100644 libgo/go/syscall/socket_posix.go create mode 100644 libgo/go/syscall/socket_xnet.go create mode 100644 libsanitizer/asan/asan_preinit.cc delete mode 100644 libsanitizer/asan/dynamic/asan_interceptors_dynamic.cc create mode 100644 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc create mode 100644 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h diff --git a/ChangeLog b/ChangeLog index f9c8f298233..6ef875812c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-02-20 Andrew Sutton + + * MAINTAINERS (Write After Approval): Add myself. + 2013-02-15 Yufeng Zhang * configure.ac: Set libgloss_dir for the aarch64*-*-* targets. diff --git a/MAINTAINERS b/MAINTAINERS index 3f57f2fdefc..9affec84353 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -523,6 +523,7 @@ Graham Stott graham.stott@btinternet.com Andrew Stubbs ams@codesourcery.com Mike Stump mikestump@comcast.net Jeff Sturm jsturm@gcc.gnu.org +Andrew Sutton andrew.n.sutton@gmail.com Gabriele Svelto gabriele.svelto@st.com Sriraman Tallam tmsriram@google.com Chung-Lin Tang cltang@codesourcery.com diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4b53af801b0..fda14f3cb7e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,258 @@ -2013-02-18 John David Anglin +2013-02-22 James Grennahlgh + + * config/aarch64/aarch64-simd-builtins.def: Add copyright header. + * config/aarch64/t-aarch64 + (aarch64-builtins.o): Depend on aarch64-simd-builtins.def. + +2013-02-22 Vladimir Makarov + + PR inline-asm/56148 + * lra-constraints.c (process_alt_operands): Reload operand + conflicting with earlier clobber only if no more other conflicting + operands. + +2013-02-22 Jakub Jelinek + + PR sanitizer/56393 + * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o + if not linking a shared library. + +2013-02-22 Seth LaForge + + * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian. + +2013-02-22 Greta Yorsh + + * config/arm/arm.md (split for extendsidi): Update condition. + (zero_extenddi2,extenddi2): Add an alternative. + * config/arm/iterators.md (qhs_extenddi_cstr): Likewise. + (qhs_zextenddi_cstr): Likewise. + +2013-02-21 Jakub Jelinek + + PR middle-end/56420 + * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to + avoid signed wrapping. + (expand_mult): Handle properly multiplication by + ((dword_type) -1) << (BITS_PER_WORD - 1). Improve multiplication by + ((dword_type) 1) << (BITS_PER_WORD - 1). Avoid undefined behavior + in the compiler if coeff is HOST_WIDE_INT_MIN. + (expand_divmod): Don't make ext_op1 static, change it's type to + uhwi. Avoid undefined behavior in -INTVAL (op1). + + PR rtl-optimization/50339 + * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt + field. + * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT. + (compute_costs): Call compute_splitting_shift also for ASHIFTRT + into splitting_ashiftrt field. + (find_decomposable_shift_zext, resolve_shift_zext): Handle also + ASHIFTRT. + (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT + choices. + +2013-02-20 Aldy Hernandez + + PR middle-end/56108 + * trans-mem.c (execute_tm_mark): Do not expand transactions that + are sure to go irrevocable. + +2013-02-21 Hans-Peter Nilsson + + * doc/rtl.texi (vec_concat, vec_duplicate): Mention that + scalars are valid operands. + +2013-02-21 Martin Jambor + + PR tree-optimization/56310 + * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy + only matching indices and non-negative final offsets. + (intersect_aggregates_with_edge): Pass src_idx to + agg_replacements_to_vector. Pass src_idx insstead of index to + intersect_with_agg_replacements. + +2013-02-21 Martin Jambor + + * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold + instead of hard-wired defaults. + +2013-02-21 Maciej W. Rozycki + + * doc/invoke.texi (MIPS Options): Update documentation of the + floating-point multiply-accumulate instruction restrictions. + +2013-02-21 Kostya Serebryany + + * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as + asan_shadow_offset on x86_64 linux. + +2013-02-21 Richard Biener + + PR tree-optimization/56415 + Revert + 2013-02-11 Richard Biener + + PR tree-optimization/56273 + * tree-vrp.c (simplify_cond_using_ranges): Disable for the + first VRP run. + +2013-02-21 Jakub Jelinek + + PR bootstrap/56258 + * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item + instead of @itemx. + + PR inline-asm/56405 + * expr.c (expand_expr_real_1) : Don't + use movmisalign or extract_bit_field for EXPAND_MEMORY modifier. + +2013-02-20 Jan Hubicka + + PR tree-optimization/56265 + * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph when target is + referenced for firs ttime. + +2013-02-20 Richard Biener + + * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals. + * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise. + * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise. + * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do + not return anything. + (rename_ssa_copies): Do not remove unused locals. + * tree-ssa-ccp.c (do_ssa_ccp): Likewise. + * tree-ssanames.c (pass_release_ssa_names): Remove unused + locals first. + * passes.c (execute_function_todo): Do not schedule unused locals + removal if cleanup_tree_cfg did something. + * tree-ssa-live.c (remove_unused_locals): Dump statistics + about the number of removed locals. + +2013-02-20 Richard Biener + + PR tree-optimization/56398 + * tree-vect-loop-manip.c (adjust_debug_stmts): Skip + SSA default defs. + +2013-02-20 Martin Jambor + + PR tree-optimization/55334 + * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to + restricted pointers to arrays. + +2013-02-20 Richard Biener + Jakub Jelinek + + PR tree-optimization/56396 + * tree-ssa-ccp.c (n_const_val): New static variable. + (get_value): Return NULL for SSA names we don't have a lattice + entry for. + (ccp_initialize): Initialize n_const_val. + * tree-ssa-copy.c (n_copy_of): New static variable. + (init_copy_prop): Initialize n_copy_of. + (get_value): Return NULL_TREE for SSA names we don't have a + lattice entry for. + +2013-02-20 Martin Jambor + + * ipa-cp.c (initialize_node_lattices): Fix dumping condition. + +2013-02-20 Richard Biener + + * genpreds.c (write_lookup_constraint): Do not compare first + letter of the constraint again. + +2013-02-20 Richard Biener + + * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits + and ceil_log2. + (get_use_iv_cost): Terminate hashtable walk when coming across + an empty entry. + +2013-02-20 Igor Zamyatin + + * config/i386/i386.c (initial_ix86_tune_features): Turn on fp + reassociation for avx2 targets. + +2012-02-19 Edgar E. Iglesias + + * config/microblaze/microblaze.c: microblaze_has_clz = 0 + Add version check for v8.10.a to enable microblaze_has_clz + * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined + version and TARGET_PATTERN_COMPARE check + * config/microblaze/microblaze.md: New clzsi2 instruction + +2012-02-19 Edgar E. Iglesias + + * config/microblaze/microblaze.md (call_value_intern): Check symbol is + function before branching. + +2012-02-19 Andrey Belevantsev + + * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set + DUMP_INSN_RTX_UID. + (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim. + +2012-02-19 Andrey Belevantsev + + PR middle-end/55889 + + * sel-sched.c: Include ira.h. + (implicit_clobber_conflict_p): New function. + (moveup_expr): Use it. + * Makefile.in (sel-sched.o): Depend on ira.h. + +2013-02-19 Richard Biener + + PR tree-optimization/56384 + * tree-ssa-sccvn.h (struct vn_phi_s): Add type member. + (vn_hash_type): Split out from ... + (vn_hash_constant_with_type): ... here. + * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type. + (vn_phi_eq): Compare types from vn_phi_s structure. + (vn_phi_lookup): Populate vn_phi_s type. + (vn_phi_insert): Likewise. + +2013-02-19 Jakub Jelinek + + PR tree-optimization/56350 + * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false + if haven't found reduction or nested cycle operand, rather than + asserting we must find it. + + PR tree-optimization/56381 + * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument + to fold_build3. + +2013-02-18 Aldy Hernandez + Jakub Jelinek + + PR target/52555 + * genopinit.c (raw_optab_handler): Use this_fn_optabs. + (swap_optab_enable): Same. + (init_all_optabs): Use argument instead of global. + * tree.h (struct tree_optimization_option): New field + target_optabs. + * expr.h (init_all_optabs): Add argument to prototype. + (TREE_OPTIMIZATION_OPTABS): New. + (save_optabs_if_changed): Protoize. + * optabs.h: Declare this_fn_optabs. + * optabs.c (save_optabs_if_changed): New. + Declare this_fn_optabs. + (init_optabs): Add argument to init_all_optabs() call. + * function.c (invoke_set_current_function_hook): Handle per + function optabs. + * function.h (struct function): New field optabs. + * config/mips/mips.c (mips_set_mips16_mode): Handle when + optimization_current_node has changed. + * target-globals.h (save_target_globals_default_opts): Protoize. + * target-globals.c (save_target_globals_default_opts): New. + +2013-02-18 John David Anglin + + PR target/56347 + * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark + registers %fr12 and %fr12R as call used. PR target/56214 * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 9e056c92577..5070074bee8 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20130218 +20130224 diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 2ca6c5b9ee6..00bb9386393 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -3339,7 +3339,7 @@ sel-sched.o : sel-sched.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ $(FUNCTION_H) $(INSN_ATTR_H) $(RECOG_H) $(EXCEPT_H) $(PARAMS_H) \ $(TM_P_H) output.h $(TARGET_H) $(TREE_PASS_H) \ $(SCHED_INT_H) $(GGC_H) $(TREE_H) langhooks.h rtlhooks-def.h \ - $(SEL_SCHED_IR_H) $(SEL_SCHED_DUMP_H) sel-sched.h $(DBGCNT_H) $(EMIT_RTL_H) + $(SEL_SCHED_IR_H) $(SEL_SCHED_DUMP_H) sel-sched.h $(DBGCNT_H) $(EMIT_RTL_H) ira.h sel-sched-dump.o : sel-sched-dump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ $(RTL_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h \ $(FUNCTION_H) $(INSN_ATTR_H) $(DIAGNOSTIC_CORE_H) $(RECOG_H) $(EXCEPT_H) $(PARAMS_H) \ diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 385e77118a3..d23568fedd6 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2013-02-21 Jakub Jelinek + + PR bootstrap/56258 + * gnat-style.texi (@title): Remove @hfill. + * projects.texi: Avoid line wrapping inside of @pxref or + @xref. + 2013-02-14 Rainer Emrich PR target/52123 diff --git a/gcc/ada/gnat-style.texi b/gcc/ada/gnat-style.texi index 43e6b4310a1..df2d491e14f 100644 --- a/gcc/ada/gnat-style.texi +++ b/gcc/ada/gnat-style.texi @@ -42,7 +42,7 @@ Texts. A copy of the license is included in the section entitled @titlepage @titlefont{GNAT Coding Style:} @sp 1 -@title @hfill A Guide for GNAT Developers +@title A Guide for GNAT Developers @subtitle GNAT, The GNU Ada Compiler @versionsubtitle @author Ada Core Technologies, Inc. diff --git a/gcc/ada/projects.texi b/gcc/ada/projects.texi index 6bf1e0c7c20..32ae8f66c5f 100644 --- a/gcc/ada/projects.texi +++ b/gcc/ada/projects.texi @@ -48,8 +48,7 @@ project files allow you to specify: @item Source file naming conventions; you can specify these either globally or for individual compilation units (@pxref{Naming Schemes}). @item Change any of the above settings depending on external values, thus enabling - the reuse of the projects in various @b{scenarios} (@pxref{Scenarios - in Projects}). + the reuse of the projects in various @b{scenarios} (@pxref{Scenarios in Projects}). @item Automatically build libraries as part of the build process (@pxref{Library Projects}). @@ -360,8 +359,8 @@ locating the specified source files in the specified source directories. @item For various reasons, it is sometimes useful to have a project with no sources (most of the time because the attributes defined in the project - file will be reused in other projects, as explained in @pxref{Organizing - Projects into Subsystems}. To do this, the attribute + file will be reused in other projects, as explained in + @pxref{Organizing Projects into Subsystems}. To do this, the attribute @emph{Source_Files} is set to the empty list, i.e. @code{()}. Alternatively, @emph{Source_Dirs} can be set to the empty list, with the same result. @@ -388,8 +387,9 @@ locating the specified source files in the specified source directories. This can be done thanks to the attribute @b{Excluded_Source_Files} (or its synonym @b{Locally_Removed_Files}). Its value is the list of file names that should not be taken into account. - This attribute is often used when extending a project, @xref{Project - Extension}. A similar attribute @b{Excluded_Source_List_File} plays the same + This attribute is often used when extending a project, + @xref{Project Extension}. A similar attribute + @b{Excluded_Source_List_File} plays the same role but takes the name of file containing file names similarly to @code{Source_List_File}. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 16ef84a3634..50ad1016f7c 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,17 @@ +2013-02-18 Aldy Hernandez + + PR target/52555 + * c-common.c (handle_optimize_attribute): Call + save_optabs_if_changed. + +2013-02-18 Jakub Jelinek + Steven Bosscher + + PR pch/54117 + * c-opts.c (c_common_post_options): If debug info is enabled + and non-dwarf*, refuse to load PCH files and when writing PCH + file warn. + 2013-02-05 Jakub Jelinek PR middle-end/56167 diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 1e6afaa77f2..a1d47a68045 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -8925,6 +8925,8 @@ handle_optimize_attribute (tree *node, tree name, tree args, DECL_FUNCTION_SPECIFIC_OPTIMIZATION (*node) = build_optimization_node (); + save_optabs_if_changed (*node); + /* Restore current options. */ cl_optimization_restore (&global_options, &cur_opts); } diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c index 6f5733353db..a727ecaefae 100644 --- a/gcc/c-family/c-opts.c +++ b/gcc/c-family/c-opts.c @@ -945,6 +945,16 @@ c_common_post_options (const char **pfilename) because the default address space slot then can't be used for the output PCH file. */ if (pch_file) + { + c_common_no_more_pch (); + /* Only -g0 and -gdwarf* are supported with PCH, for other + debug formats we warn here and refuse to load any PCH files. */ + if (write_symbols != NO_DEBUG && write_symbols != DWARF2_DEBUG) + warning (OPT_Wdeprecated, + "the \"%s\" debug format cannot be used with " + "pre-compiled headers", debug_type_names[write_symbols]); + } + else if (write_symbols != NO_DEBUG && write_symbols != DWARF2_DEBUG) c_common_no_more_pch (); /* Yuk. WTF is this? I do know ObjC relies on it somewhere. */ diff --git a/gcc/config.gcc b/gcc/config.gcc index bcc96cf1b89..d8b9972927a 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -922,6 +922,10 @@ arm*-*-uclinux*eabi*) # ARM ucLinux default_use_cxa_atexit=yes ;; arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) + case ${target} in + arm*eb-*-eabi*) + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" + esac # The BPABI long long divmod functions return a 128-bit value in # registers r0-r3. Correctly modeling that requires the use of # TImode. diff --git a/gcc/config/aarch64/aarch64-simd-builtins.def b/gcc/config/aarch64/aarch64-simd-builtins.def index af27079958a..a6a5e12c7a5 100644 --- a/gcc/config/aarch64/aarch64-simd-builtins.def +++ b/gcc/config/aarch64/aarch64-simd-builtins.def @@ -1,3 +1,22 @@ +/* Machine description for AArch64 architecture. + Copyright (C) 2012-2013 Free Software Foundation, Inc. + Contributed by ARM Ltd. + + 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 3, 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 COPYING3. If not see + . */ /* In the list below, the BUILTIN_ macros should correspond to the iterator used to construct the instruction's diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64 index ece7e471216..61adc2916fa 100644 --- a/gcc/config/aarch64/t-aarch64 +++ b/gcc/config/aarch64/t-aarch64 @@ -27,6 +27,7 @@ $(srcdir)/config/aarch64/aarch64-tune.md: $(srcdir)/config/aarch64/gentune.sh \ aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \ $(SYSTEM_H) coretypes.h $(TM_H) \ $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \ - $(DIAGNOSTIC_CORE_H) $(OPTABS_H) + $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \ + $(srcdir)/config/aarch64/aarch64-simd-builtins.def $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(srcdir)/config/aarch64/aarch64-builtins.c diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 64888f978b2..f3c59f37c85 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -4492,36 +4492,35 @@ ;; Zero and sign extension instructions. (define_insn "zero_extenddi2" - [(set (match_operand:DI 0 "s_register_operand" "=w,r,?r") + [(set (match_operand:DI 0 "s_register_operand" "=w,r,?r,w") (zero_extend:DI (match_operand:QHSI 1 "" "")))] "TARGET_32BIT " "#" - [(set_attr "length" "8,4,8") + [(set_attr "length" "8,4,8,8") + (set_attr "arch" "neon_nota8,*,*,neon_onlya8") (set_attr "ce_count" "2") (set_attr "predicable" "yes")] ) (define_insn "extenddi2" - [(set (match_operand:DI 0 "s_register_operand" "=w,r,?r,?r") + [(set (match_operand:DI 0 "s_register_operand" "=w,r,?r,?r,w") (sign_extend:DI (match_operand:QHSI 1 "" "")))] "TARGET_32BIT " "#" - [(set_attr "length" "8,4,8,8") + [(set_attr "length" "8,4,8,8,8") (set_attr "ce_count" "2") (set_attr "shift" "1") (set_attr "predicable" "yes") - (set_attr "arch" "*,*,a,t")] + (set_attr "arch" "neon_nota8,*,a,t,neon_onlya8")] ) ;; Splits for all extensions to DImode (define_split [(set (match_operand:DI 0 "s_register_operand" "") (zero_extend:DI (match_operand 1 "nonimmediate_operand" "")))] - "TARGET_32BIT && (!TARGET_NEON - || (reload_completed - && !(IS_VFP_REGNUM (REGNO (operands[0])))))" + "TARGET_32BIT && reload_completed && !IS_VFP_REGNUM (REGNO (operands[0]))" [(set (match_dup 0) (match_dup 1))] { rtx lo_part = gen_lowpart (SImode, operands[0]); @@ -4547,9 +4546,7 @@ (define_split [(set (match_operand:DI 0 "s_register_operand" "") (sign_extend:DI (match_operand 1 "nonimmediate_operand" "")))] - "TARGET_32BIT && (!TARGET_NEON - || (reload_completed - && !(IS_VFP_REGNUM (REGNO (operands[0])))))" + "TARGET_32BIT && reload_completed && !IS_VFP_REGNUM (REGNO (operands[0]))" [(set (match_dup 0) (ashiftrt:SI (match_dup 1) (const_int 31)))] { rtx lo_part = gen_lowpart (SImode, operands[0]); diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md index ea0e483301d..252f18b40a8 100644 --- a/gcc/config/arm/iterators.md +++ b/gcc/config/arm/iterators.md @@ -429,8 +429,8 @@ (define_mode_attr qhs_extenddi_op [(SI "s_register_operand") (HI "nonimmediate_operand") (QI "arm_reg_or_extendqisi_mem_op")]) -(define_mode_attr qhs_extenddi_cstr [(SI "r,0,r,r") (HI "r,0,rm,rm") (QI "r,0,rUq,rm")]) -(define_mode_attr qhs_zextenddi_cstr [(SI "r,0,r") (HI "r,0,rm") (QI "r,0,rm")]) +(define_mode_attr qhs_extenddi_cstr [(SI "r,0,r,r,r") (HI "r,0,rm,rm,r") (QI "r,0,rUq,rm,r")]) +(define_mode_attr qhs_zextenddi_cstr [(SI "r,0,r,r") (HI "r,0,rm,r") (QI "r,0,rm,r")]) ;; Mode attributes used for fixed-point support. (define_mode_attr qaddsub_suf [(V4UQQ "8") (V2UHQ "16") (UQQ "8") (UHQ "16") diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h index ba627e0ab0d..6c26163b223 100644 --- a/gcc/config/gnu-user.h +++ b/gcc/config/gnu-user.h @@ -104,11 +104,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see it to force everything into the executable. And similarly for -ltsan. */ #if defined(HAVE_LD_STATIC_DYNAMIC) #undef LIBASAN_EARLY_SPEC -#define LIBASAN_EARLY_SPEC "%{static-libasan:%{!shared:" \ +#define LIBASAN_EARLY_SPEC "%{!shared:libasan_preinit%O%s} " \ + "%{static-libasan:%{!shared:" \ LD_STATIC_OPTION " --whole-archive -lasan --no-whole-archive " \ LD_DYNAMIC_OPTION "}}%{!static-libasan:-lasan}" #undef LIBTSAN_EARLY_SPEC -#define LIBTSAN_EARLY_SPEC "%{static-libtsan:%{!shared:" \ +#define LIBTSAN_EARLY_SPEC "%{!shared:libasan_preinit%O%s} " \ + "%{static-libtsan:%{!shared:" \ LD_STATIC_OPTION " --whole-archive -ltsan --no-whole-archive " \ LD_DYNAMIC_OPTION "}}%{!static-libtsan:-ltsan}" #endif diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 9a94c36bea9..b835c5da2ab 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -2021,7 +2021,7 @@ static unsigned int initial_ix86_tune_features[X86_TUNE_LAST] = { /* X86_TUNE_REASSOC_FP_TO_PARALLEL: Try to produce parallel computations during reassociation of fp computation. */ - m_ATOM, + m_ATOM | m_HASWELL, /* X86_TUNE_GENERAL_REGS_SSE_SPILL: Try to spill general regs to SSE regs instead of memory. */ @@ -5436,7 +5436,8 @@ ix86_legitimate_combined_insn (rtx insn) static unsigned HOST_WIDE_INT ix86_asan_shadow_offset (void) { - return TARGET_LP64 ? (HOST_WIDE_INT_1 << 44) + return TARGET_LP64 ? (TARGET_MACHO ? (HOST_WIDE_INT_1 << 44) + : HOST_WIDE_INT_C (0x7fff8000)) : (HOST_WIDE_INT_1 << 29); } diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c index 449626b2e38..fc0296e2c15 100644 --- a/gcc/config/microblaze/microblaze.c +++ b/gcc/config/microblaze/microblaze.c @@ -143,6 +143,9 @@ int microblaze_section_threshold = -1; delay slots. -mcpu=v3.00.a or v4.00.a turns this on. */ int microblaze_no_unsafe_delay; +/* Set to one if the targeted core has the CLZ insn. */ +int microblaze_has_clz = 0; + /* Which CPU pipeline do we use. We haven't really standardized on a CPU version having only a particular type of pipeline. There can still be options on the CPU to scale pipeline features up or down. :( @@ -1369,6 +1372,14 @@ microblaze_option_override (void) "-mxl-multiply-high can be used only with -mcpu=v6.00.a or greater"); } + ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v8.10.a"); + microblaze_has_clz = 1; + if (ver < 0) + { + /* MicroBlaze prior to 8.10.a didn't have clz. */ + microblaze_has_clz = 0; + } + if (TARGET_MULTIPLY_HIGH && TARGET_SOFT_MUL) error ("-mxl-multiply-high requires -mno-xl-soft-mul"); diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h index b552665ac63..a188a2eb113 100644 --- a/gcc/config/microblaze/microblaze.h +++ b/gcc/config/microblaze/microblaze.h @@ -42,6 +42,7 @@ extern int microblaze_section_threshold; extern int microblaze_dbx_regno[]; extern int microblaze_no_unsafe_delay; +extern int microblaze_has_clz; extern enum pipeline_type microblaze_pipe; #define OBJECT_FORMAT_ELF @@ -58,6 +59,9 @@ extern enum pipeline_type microblaze_pipe; #define TARGET_DEFAULT (MASK_SOFT_MUL | MASK_SOFT_DIV | MASK_SOFT_FLOAT \ | TARGET_ENDIAN_DEFAULT) +/* Do we have CLZ? */ +#define TARGET_HAS_CLZ (TARGET_PATTERN_COMPARE && microblaze_has_clz) + /* The default is to support PIC. */ #define TARGET_SUPPORTS_PIC 1 diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md index 1d55a167be4..1b4200307cb 100644 --- a/gcc/config/microblaze/microblaze.md +++ b/gcc/config/microblaze/microblaze.md @@ -2128,9 +2128,17 @@ register rtx target = operands[1]; register rtx target2=gen_rtx_REG (Pmode,GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM); - if (GET_CODE (target) == SYMBOL_REF){ - gen_rtx_CLOBBER (VOIDmode,target2); - return "brlid\tr15,%1\;%#"; + if (GET_CODE (target) == SYMBOL_REF) + { + gen_rtx_CLOBBER (VOIDmode,target2); + if (SYMBOL_REF_FLAGS (target) & SYMBOL_FLAG_FUNCTION) + { + return "brlid\tr15,%1\;%#"; + } + else + { + return "bralid\tr15,%1\;%#"; + } } else if (GET_CODE (target) == CONST_INT) return "la\t%@,r0,%1\;brald\tr15,%@\;%#"; @@ -2192,3 +2200,13 @@ [(set_attr "type" "multi") (set_attr "length" "12")]) +;; This insn gives the count of leading number of zeros for the second +;; operand and stores the result in first operand. +(define_insn "clzsi2" + [(set (match_operand:SI 0 "register_operand" "=r") + (clz:SI (match_operand:SI 1 "register_operand" "r")))] + "TARGET_HAS_CLZ" + "clz\t%0,%1" + [(set_attr "type" "arith") + (set_attr "mode" "SI") + (set_attr "length" "4")]) diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index b203cdd1ed2..252e828480e 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -16313,7 +16313,7 @@ mips_set_mips16_mode (int mips16_p) if (mips16_p) { if (!mips16_globals) - mips16_globals = save_target_globals (); + mips16_globals = save_target_globals_default_opts (); else restore_target_globals (mips16_globals); } diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 0d39483d908..7816eeb54e4 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -10313,6 +10313,21 @@ pa_conditional_register_usage (void) { int i; + if (TARGET_HPUX) + { + /* Work around powf bug in libm. */ + if (TARGET_64BIT) + { + /* Mark %fr12 as call used. */ + call_used_regs[40] = 1; + } + else + { + /* Mark %fr12 and %fr12R as call used. */ + call_used_regs[48] = 1; + call_used_regs[49] = 1; + } + } if (!TARGET_64BIT && !TARGET_PA_11) { for (i = 56; i <= FP_REG_LAST; i++) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 52fac3af74c..4a2baa00ad5 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,30 @@ +2013-02-22 Jason Merrill + + PR c++/40405 + * pt.c (push_template_decl_real): Set DECL_INTERFACE_KNOWN + if we got the wrong number of template parms. + + PR c++/56377 + * pt.c (fn_type_unification): Use explicit args in template + instantiation context. + + PR c++/56359 + * call.c (can_convert_arg): Discard access checks. + + PR c++/56395 + * tree.c (strip_typedefs): Strip typedefs from TYPENAME_TYPE template + args. + +2013-02-20 Paolo Carlini + + PR c++/56373 + * tree.c (maybe_warn_zero_as_null_pointer_constant): Add. + * cvt.c (ocp_convert): Use the latter. + (cp_convert_to_pointer): Likewise. + * decl.c (check_default_argument): Likewise. + * typeck.c (cp_build_binary_op): Likewise. + * cp-tree.h (maybe_warn_zero_as_null_pointer_constant): Declare. + 2013-02-15 Jonathan Wakely Paolo Carlini diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 25dfd51c4f9..7c414217f05 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -8765,11 +8765,18 @@ can_convert_arg (tree to, tree from, tree arg, int flags, /* Get the high-water mark for the CONVERSION_OBSTACK. */ p = conversion_obstack_alloc (0); + /* We want to discard any access checks done for this test, + as we might not be in the appropriate access context and + we'll do the check again when we actually perform the + conversion. */ + push_deferring_access_checks (dk_deferred); t = implicit_conversion (to, from, arg, /*c_cast_p=*/false, flags, complain); ok_p = (t && !t->bad_p); + /* Discard the access checks now. */ + pop_deferring_access_checks (); /* Free all the conversions we allocated. */ obstack_free (&conversion_obstack, p); diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index d9270e2270d..4a597d8b3a6 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -5834,6 +5834,7 @@ extern bool cast_valid_in_integral_constant_expression_p (tree); extern bool cxx_type_hash_eq (const_tree, const_tree); extern void cxx_print_statistics (void); +extern bool maybe_warn_zero_as_null_pointer_constant (tree, location_t); /* in ptree.c */ extern void cxx_print_xnode (FILE *, tree, int); diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c index 8e8ce53325e..348e6082ceb 100644 --- a/gcc/cp/cvt.c +++ b/gcc/cp/cvt.c @@ -203,11 +203,8 @@ cp_convert_to_pointer (tree type, tree expr, tsubst_flags_t complain) if (null_ptr_cst_p (expr)) { - if ((complain & tf_warning) - && c_inhibit_evaluation_warnings == 0 - && !NULLPTR_TYPE_P (TREE_TYPE (expr))) - warning_at (loc, OPT_Wzero_as_null_pointer_constant, - "zero as null pointer constant"); + if (complain & tf_warning) + maybe_warn_zero_as_null_pointer_constant (expr, loc); if (TYPE_PTRMEMFUNC_P (type)) return build_ptrmemfunc (TYPE_PTRMEMFUNC_FN_TYPE (type), expr, 0, @@ -783,7 +780,11 @@ ocp_convert (tree type, tree expr, int convtype, int flags, return ignore_overflows (converted, e); } if (NULLPTR_TYPE_P (type) && e && null_ptr_cst_p (e)) - return nullptr_node; + { + if (complain & tf_warning) + maybe_warn_zero_as_null_pointer_constant (e, loc); + return nullptr_node; + } if (POINTER_TYPE_P (type) || TYPE_PTRMEM_P (type)) return fold_if_not_in_template (cp_convert_to_pointer (type, e, complain)); if (code == VECTOR_TYPE) diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 4e811583a2c..d8d3344fa5e 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -10870,15 +10870,10 @@ check_default_argument (tree decl, tree arg) --cp_unevaluated_operand; if (warn_zero_as_null_pointer_constant - && c_inhibit_evaluation_warnings == 0 && TYPE_PTR_OR_PTRMEM_P (decl_type) && null_ptr_cst_p (arg) - && !NULLPTR_TYPE_P (TREE_TYPE (arg))) - { - warning (OPT_Wzero_as_null_pointer_constant, - "zero as null pointer constant"); - return nullptr_node; - } + && maybe_warn_zero_as_null_pointer_constant (arg, input_location)) + return nullptr_node; /* [dcl.fct.default] diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 440df1ea231..5ff08211ebc 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -4782,6 +4782,8 @@ push_template_decl_real (tree decl, bool is_friend) error ("got %d template parameters for %q#T", TREE_VEC_LENGTH (a), current); error (" but %d required", TREE_VEC_LENGTH (t)); + /* Avoid crash in import_export_decl. */ + DECL_INTERFACE_KNOWN (decl) = 1; return error_mark_node; } @@ -15008,8 +15010,10 @@ fn_type_unification (tree fn, processing_template_decl += incomplete; input_location = DECL_SOURCE_LOCATION (fn); + TREE_VALUE (tinst) = explicit_targs; fntype = tsubst (TREE_TYPE (fn), explicit_targs, complain | tf_partial, NULL_TREE); + TREE_VALUE (tinst) = targs; input_location = loc; processing_template_decl -= incomplete; diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 0b033c2bfb4..75b4d5121ed 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1220,9 +1220,34 @@ strip_typedefs (tree t) } break; case TYPENAME_TYPE: - result = make_typename_type (strip_typedefs (TYPE_CONTEXT (t)), - TYPENAME_TYPE_FULLNAME (t), - typename_type, tf_none); + { + tree fullname = TYPENAME_TYPE_FULLNAME (t); + if (TREE_CODE (fullname) == TEMPLATE_ID_EXPR) + { + tree args = TREE_OPERAND (fullname, 1); + tree new_args = copy_node (args); + bool changed = false; + for (int i = 0; i < TREE_VEC_LENGTH (args); ++i) + { + tree arg = TREE_VEC_ELT (args, i); + tree strip_arg; + if (TYPE_P (arg)) + strip_arg = strip_typedefs (arg); + else + strip_arg = strip_typedefs_expr (arg); + TREE_VEC_ELT (new_args, i) = strip_arg; + if (strip_arg != arg) + changed = true; + } + if (changed) + fullname = lookup_template_function (TREE_OPERAND (fullname, 0), + new_args); + else + ggc_free (new_args); + } + result = make_typename_type (strip_typedefs (TYPE_CONTEXT (t)), + fullname, typename_type, tf_none); + } break; case DECLTYPE_TYPE: result = strip_typedefs_expr (DECLTYPE_TYPE_EXPR (t)); @@ -3939,6 +3964,21 @@ cp_tree_operand_length (const_tree t) return TREE_OPERAND_LENGTH (t); } } + +/* Implement -Wzero_as_null_pointer_constant. Return true if the + conditions for the warning hold, false otherwise. */ +bool +maybe_warn_zero_as_null_pointer_constant (tree expr, location_t loc) +{ + if (c_inhibit_evaluation_warnings == 0 + && !NULLPTR_TYPE_P (TREE_TYPE (expr))) + { + warning_at (loc, OPT_Wzero_as_null_pointer_constant, + "zero as null pointer constant"); + return true; + } + return false; +} #if defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 2007) /* Complain that some language-specific thing hanging off a tree diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 688c2665b4f..58295d73d15 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -4293,12 +4293,9 @@ cp_build_binary_op (location_t location, delta0, integer_one_node, complain); - - if ((complain & tf_warning) - && c_inhibit_evaluation_warnings == 0 - && !NULLPTR_TYPE_P (TREE_TYPE (op1))) - warning (OPT_Wzero_as_null_pointer_constant, - "zero as null pointer constant"); + + if (complain & tf_warning) + maybe_warn_zero_as_null_pointer_constant (op1, input_location); e2 = cp_build_binary_op (location, EQ_EXPR, e2, integer_zero_node, diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 4ce855a1e84..72f83408dab 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -5621,7 +5621,7 @@ Dump after the peephole pass. @opindex fdump-rtl-postreload Dump after post-reload optimizations. -@itemx -fdump-rtl-pro_and_epilogue +@item -fdump-rtl-pro_and_epilogue @opindex fdump-rtl-pro_and_epilogue Dump after generating the function prologues and epilogues. @@ -16454,10 +16454,12 @@ Enable (disable) use of the floating-point multiply-accumulate instructions, when they are available. The default is @option{-mfused-madd}. -When multiply-accumulate instructions are used, the intermediate -product is calculated to infinite precision and is not subject to -the FCSR Flush to Zero bit. This may be undesirable in some -circumstances. +On the R8000 CPU when multiply-accumulate instructions are used, +the intermediate product is calculated to infinite precision +and is not subject to the FCSR Flush to Zero bit. This may be +undesirable in some circumstances. On other processors the result +is numerically identical to the equivalent computation using +separate multiply, add, subtract and negate instructions. @item -nocpp @opindex nocpp diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi index b0b0723af2e..aa33d1cd80d 100644 --- a/gcc/doc/rtl.texi +++ b/gcc/doc/rtl.texi @@ -2627,17 +2627,18 @@ The result mode @var{m} is either the submode for a single element of with that element submode (if multiple subparts are selected). @findex vec_concat -@item (vec_concat:@var{m} @var{vec1} @var{vec2}) +@item (vec_concat:@var{m} @var{x1} @var{x2}) Describes a vector concat operation. The result is a concatenation of the -vectors @var{vec1} and @var{vec2}; its length is the sum of the lengths of -the two inputs. +vectors or scalars @var{x1} and @var{x2}; its length is the sum of the +lengths of the two inputs. @findex vec_duplicate -@item (vec_duplicate:@var{m} @var{vec}) -This operation 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. +@item (vec_duplicate:@var{m} @var{x}) +This operation converts a scalar into a vector or 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 or the scalar modes, and the +number of output parts must be an integer multiple of the number of input +parts. @end table diff --git a/gcc/expmed.c b/gcc/expmed.c index 954a360c7b2..d66c6e667fb 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -64,7 +64,8 @@ static rtx expand_smod_pow2 (enum machine_mode, rtx, HOST_WIDE_INT); static rtx expand_sdiv_pow2 (enum machine_mode, rtx, HOST_WIDE_INT); /* Test whether a value is zero of a power of two. */ -#define EXACT_POWER_OF_2_OR_ZERO_P(x) (((x) & ((x) - 1)) == 0) +#define EXACT_POWER_OF_2_OR_ZERO_P(x) \ + (((x) & ((x) - (unsigned HOST_WIDE_INT) 1)) == 0) struct init_expmed_rtl { @@ -3079,7 +3080,10 @@ expand_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target, /* If we are multiplying in DImode, it may still be a win to try to work with shifts and adds. */ if (CONST_DOUBLE_HIGH (scalar_op1) == 0 - && CONST_DOUBLE_LOW (scalar_op1) > 0) + && (CONST_DOUBLE_LOW (scalar_op1) > 0 + || (CONST_DOUBLE_LOW (scalar_op1) < 0 + && EXACT_POWER_OF_2_OR_ZERO_P + (CONST_DOUBLE_LOW (scalar_op1))))) { coeff = CONST_DOUBLE_LOW (scalar_op1); is_neg = false; @@ -3109,7 +3113,8 @@ expand_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target, use synth_mult. */ /* Special case powers of two. */ - if (EXACT_POWER_OF_2_OR_ZERO_P (coeff)) + if (EXACT_POWER_OF_2_OR_ZERO_P (coeff) + && !(is_neg && mode_bitsize > HOST_BITS_PER_WIDE_INT)) return expand_shift (LSHIFT_EXPR, mode, op0, floor_log2 (coeff), target, unsignedp); @@ -3124,13 +3129,24 @@ expand_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target, result is interpreted as an unsigned coefficient. Exclude cost of op0 from max_cost to match the cost calculation of the synth_mult. */ + coeff = -(unsigned HOST_WIDE_INT) coeff; max_cost = (set_src_cost (gen_rtx_MULT (mode, fake_reg, op1), speed) - neg_cost(speed, mode)); - if (max_cost > 0 - && choose_mult_variant (mode, -coeff, &algorithm, - &variant, max_cost)) + if (max_cost <= 0) + goto skip_synth; + + /* Special case powers of two. */ + if (EXACT_POWER_OF_2_OR_ZERO_P (coeff)) + { + rtx temp = expand_shift (LSHIFT_EXPR, mode, op0, + floor_log2 (coeff), target, unsignedp); + return expand_unop (mode, neg_optab, temp, target, 0); + } + + if (choose_mult_variant (mode, coeff, &algorithm, &variant, + max_cost)) { - rtx temp = expand_mult_const (mode, op0, -coeff, NULL_RTX, + rtx temp = expand_mult_const (mode, op0, coeff, NULL_RTX, &algorithm, variant); return expand_unop (mode, neg_optab, temp, target, 0); } @@ -3813,13 +3829,12 @@ expand_divmod (int rem_flag, enum tree_code code, enum machine_mode mode, int op1_is_constant, op1_is_pow2 = 0; int max_cost, extra_cost; static HOST_WIDE_INT last_div_const = 0; - static HOST_WIDE_INT ext_op1; bool speed = optimize_insn_for_speed_p (); op1_is_constant = CONST_INT_P (op1); if (op1_is_constant) { - ext_op1 = INTVAL (op1); + unsigned HOST_WIDE_INT ext_op1 = UINTVAL (op1); if (unsignedp) ext_op1 &= GET_MODE_MASK (mode); op1_is_pow2 = ((EXACT_POWER_OF_2_OR_ZERO_P (ext_op1) @@ -3967,7 +3982,7 @@ expand_divmod (int rem_flag, enum tree_code code, enum machine_mode mode, op1_is_pow2 = (op1_is_constant && ((EXACT_POWER_OF_2_OR_ZERO_P (INTVAL (op1)) || (! unsignedp - && EXACT_POWER_OF_2_OR_ZERO_P (-INTVAL (op1)))))) ; + && EXACT_POWER_OF_2_OR_ZERO_P (-UINTVAL (op1)))))); } /* If one of the operands is a volatile MEM, copy it into a register. */ diff --git a/gcc/expr.c b/gcc/expr.c index 08c5c9d0c58..d225479e84e 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -9551,6 +9551,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, set_mem_addr_space (temp, as); align = get_object_alignment (exp); if (modifier != EXPAND_WRITE + && modifier != EXPAND_MEMORY && mode != BLKmode && align < GET_MODE_ALIGNMENT (mode) /* If the target does not have special handling for unaligned @@ -9639,6 +9640,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, if (TREE_THIS_VOLATILE (exp)) MEM_VOLATILE_P (temp) = 1; if (modifier != EXPAND_WRITE + && modifier != EXPAND_MEMORY && mode != BLKmode && align < GET_MODE_ALIGNMENT (mode)) { diff --git a/gcc/expr.h b/gcc/expr.h index f5063b47cdd..15fcb471d8d 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -718,7 +718,7 @@ extern bool split_comparison (enum rtx_code, enum machine_mode, /* Call this once to initialize the contents of the optabs appropriately for the current target machine. */ extern void init_optabs (void); -extern void init_all_optabs (void); +extern void init_all_optabs (struct target_optabs *); /* Call this to initialize an optab function entry. */ extern rtx init_one_libfunc (const char *); diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 277ad3ef595..2bea99664f0 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,22 @@ +2013-02-24 Joseph Myers + + * resolve.c (generate_component_assignments): Don't use UTF-8 + ligature in diagnostic. + +2013-02-21 Janus Weil + + PR fortran/56385 + * trans-array.c (structure_alloc_comps): Handle procedure-pointer + components with allocatable result. + +2012-02-21 Tobias Burnus + + PR fortran/56416 + * gfortran.texi (Part II: Language Reference, Extensions, + Non-Fortran Main Program): Sort @menu to match actual section order. + * intrinsic.texi (Intrinsic Procedures): Ditto. + (C_F_POINTER, PRECISION): Move to the alphabetically correct place. + 2013-02-15 Tobias Burnus Mikael Morin diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi index 2dccb16d81a..462b4436615 100644 --- a/gcc/fortran/gfortran.texi +++ b/gcc/fortran/gfortran.texi @@ -182,8 +182,8 @@ Part I: Invoking GNU Fortran Part II: Language Reference * Fortran 2003 and 2008 status:: Fortran 2003 and 2008 features supported by GNU Fortran. * Compiler Characteristics:: User-visible implementation details. +* Extensions:: Language extensions implemented by GNU Fortran. * Mixed-Language Programming:: Interoperability with C -* Extensions:: Language extensions implemented by GNU Fortran. * Intrinsic Procedures:: Intrinsic procedures supported by GNU Fortran. * Intrinsic Modules:: Intrinsic modules supported by GNU Fortran. @@ -1348,8 +1348,8 @@ without warning. * Commas in FORMAT specifications:: * Missing period in FORMAT specifications:: * I/O item lists:: -* BOZ literal constants:: * @code{Q} exponent-letter:: +* BOZ literal constants:: * Real array indices:: * Unary operators:: * Implicitly convert LOGICAL and INTEGER values:: @@ -2698,8 +2698,8 @@ the same declaration part as the variable or procedure pointer. * _gfortran_set_options:: Set library option flags * _gfortran_set_convert:: Set endian conversion * _gfortran_set_record_marker:: Set length of record markers -* _gfortran_set_max_subrecord_length:: Set subrecord length * _gfortran_set_fpe:: Set when a Floating Point Exception should be raised +* _gfortran_set_max_subrecord_length:: Set subrecord length @end menu Even if you are doing mixed-language programming, it is very diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi index 91f2fea8320..4a48425cd83 100644 --- a/gcc/fortran/intrinsic.texi +++ b/gcc/fortran/intrinsic.texi @@ -87,9 +87,9 @@ Some basic guidelines for editing this document: * @code{CHMOD}: CHMOD, Change access permissions of files * @code{CMPLX}: CMPLX, Complex conversion function * @code{COMMAND_ARGUMENT_COUNT}: COMMAND_ARGUMENT_COUNT, Get number of command line arguments -* @code{COMPLEX}: COMPLEX, Complex conversion function -* @code{COMPILER_VERSION}: COMPILER_VERSION, Compiler version string * @code{COMPILER_OPTIONS}: COMPILER_OPTIONS, Options passed to the compiler +* @code{COMPILER_VERSION}: COMPILER_VERSION, Compiler version string +* @code{COMPLEX}: COMPLEX, Complex conversion function * @code{CONJG}: CONJG, Complex conjugate function * @code{COS}: COS, Cosine function * @code{COSH}: COSH, Hyperbolic cosine function @@ -234,12 +234,12 @@ Some basic guidelines for editing this document: * @code{PRESENT}: PRESENT, Determine whether an optional dummy argument is specified * @code{PRODUCT}: PRODUCT, Product of array elements * @code{RADIX}: RADIX, Base of a data model +* @code{RAN}: RAN, Real pseudo-random number +* @code{RAND}: RAND, Real pseudo-random number * @code{RANDOM_NUMBER}: RANDOM_NUMBER, Pseudo-random number * @code{RANDOM_SEED}: RANDOM_SEED, Initialize a pseudo-random number sequence -* @code{RAND}: RAND, Real pseudo-random number * @code{RANGE}: RANGE, Decimal exponent range * @code{RANK} : RANK, Rank of a data object -* @code{RAN}: RAN, Real pseudo-random number * @code{REAL}: REAL, Convert to real type * @code{RENAME}: RENAME, Rename a file * @code{REPEAT}: REPEAT, Repeated string concatenation @@ -2271,60 +2271,57 @@ end subroutine association_test @end table -@node C_FUNLOC -@section @code{C_FUNLOC} --- Obtain the C address of a procedure -@fnindex C_FUNLOC -@cindex pointer, C address of procedures +@node C_F_POINTER +@section @code{C_F_POINTER} --- Convert C into Fortran pointer +@fnindex C_F_POINTER +@cindex pointer, convert C to Fortran @table @asis @item @emph{Description}: -@code{C_FUNLOC(x)} determines the C address of the argument. +@code{C_F_POINTER(CPTR, FPTR[, SHAPE])} assigns the target of the C pointer +@var{CPTR} to the Fortran pointer @var{FPTR} and specifies its shape. @item @emph{Standard}: Fortran 2003 and later @item @emph{Class}: -Inquiry function +Subroutine @item @emph{Syntax}: -@code{RESULT = C_FUNLOC(x)} +@code{CALL C_F_POINTER(CPTR, FPTR[, SHAPE])} @item @emph{Arguments}: @multitable @columnfractions .15 .70 -@item @var{x} @tab Interoperable function or pointer to such function. +@item @var{CPTR} @tab scalar of the type @code{C_PTR}. It is +@code{INTENT(IN)}. +@item @var{FPTR} @tab pointer interoperable with @var{cptr}. It is +@code{INTENT(OUT)}. +@item @var{SHAPE} @tab (Optional) Rank-one array of type @code{INTEGER} +with @code{INTENT(IN)}. It shall be present +if and only if @var{fptr} is an array. The size +must be equal to the rank of @var{fptr}. @end multitable -@item @emph{Return value}: -The return value is of type @code{C_FUNPTR} and contains the C address -of the argument. - @item @emph{Example}: @smallexample -module x - use iso_c_binding - implicit none -contains - subroutine sub(a) bind(c) - real(c_float) :: a - a = sqrt(a)+5.0 - end subroutine sub -end module x program main use iso_c_binding - use x implicit none interface subroutine my_routine(p) bind(c,name='myC_func') - import :: c_funptr - type(c_funptr), intent(in) :: p + import :: c_ptr + type(c_ptr), intent(out) :: p end subroutine end interface - call my_routine(c_funloc(sub)) + type(c_ptr) :: cptr + real,pointer :: a(:) + call my_routine(cptr) + call c_f_pointer(cptr, a, [12]) end program main @end smallexample @item @emph{See also}: -@ref{C_ASSOCIATED}, @ref{C_LOC}, @ref{C_F_POINTER}, @ref{C_F_PROCPOINTER} +@ref{C_LOC}, @ref{C_F_PROCPOINTER} @end table @@ -2385,57 +2382,60 @@ end program main @end table -@node C_F_POINTER -@section @code{C_F_POINTER} --- Convert C into Fortran pointer -@fnindex C_F_POINTER -@cindex pointer, convert C to Fortran +@node C_FUNLOC +@section @code{C_FUNLOC} --- Obtain the C address of a procedure +@fnindex C_FUNLOC +@cindex pointer, C address of procedures @table @asis @item @emph{Description}: -@code{C_F_POINTER(CPTR, FPTR[, SHAPE])} assigns the target of the C pointer -@var{CPTR} to the Fortran pointer @var{FPTR} and specifies its shape. +@code{C_FUNLOC(x)} determines the C address of the argument. @item @emph{Standard}: Fortran 2003 and later @item @emph{Class}: -Subroutine +Inquiry function @item @emph{Syntax}: -@code{CALL C_F_POINTER(CPTR, FPTR[, SHAPE])} +@code{RESULT = C_FUNLOC(x)} @item @emph{Arguments}: @multitable @columnfractions .15 .70 -@item @var{CPTR} @tab scalar of the type @code{C_PTR}. It is -@code{INTENT(IN)}. -@item @var{FPTR} @tab pointer interoperable with @var{cptr}. It is -@code{INTENT(OUT)}. -@item @var{SHAPE} @tab (Optional) Rank-one array of type @code{INTEGER} -with @code{INTENT(IN)}. It shall be present -if and only if @var{fptr} is an array. The size -must be equal to the rank of @var{fptr}. +@item @var{x} @tab Interoperable function or pointer to such function. @end multitable +@item @emph{Return value}: +The return value is of type @code{C_FUNPTR} and contains the C address +of the argument. + @item @emph{Example}: @smallexample +module x + use iso_c_binding + implicit none +contains + subroutine sub(a) bind(c) + real(c_float) :: a + a = sqrt(a)+5.0 + end subroutine sub +end module x program main use iso_c_binding + use x implicit none interface subroutine my_routine(p) bind(c,name='myC_func') - import :: c_ptr - type(c_ptr), intent(out) :: p + import :: c_funptr + type(c_funptr), intent(in) :: p end subroutine end interface - type(c_ptr) :: cptr - real,pointer :: a(:) - call my_routine(cptr) - call c_f_pointer(cptr, a, [12]) + call my_routine(c_funloc(sub)) end program main @end smallexample @item @emph{See also}: -@ref{C_LOC}, @ref{C_F_PROCPOINTER} +@ref{C_ASSOCIATED}, @ref{C_LOC}, @ref{C_F_POINTER}, @ref{C_F_PROCPOINTER} @end table @@ -9749,51 +9749,6 @@ default kind. -@node PRECISION -@section @code{PRECISION} --- Decimal precision of a real kind -@fnindex PRECISION -@cindex model representation, precision - -@table @asis -@item @emph{Description}: -@code{PRECISION(X)} returns the decimal precision in the model of the -type of @code{X}. - -@item @emph{Standard}: -Fortran 95 and later - -@item @emph{Class}: -Inquiry function - -@item @emph{Syntax}: -@code{RESULT = PRECISION(X)} - -@item @emph{Arguments}: -@multitable @columnfractions .15 .70 -@item @var{X} @tab Shall be of type @code{REAL} or @code{COMPLEX}. -@end multitable - -@item @emph{Return value}: -The return value is of type @code{INTEGER} and of the default integer -kind. - -@item @emph{See also}: -@ref{SELECTED_REAL_KIND}, @ref{RANGE} - -@item @emph{Example}: -@smallexample -program prec_and_range - real(kind=4) :: x(2) - complex(kind=8) :: y - - print *, precision(x), range(x) - print *, precision(y), range(y) -end program prec_and_range -@end smallexample -@end table - - - @node POPCNT @section @code{POPCNT} --- Number of bits set @fnindex POPCNT @@ -9883,6 +9838,51 @@ end program test_population +@node PRECISION +@section @code{PRECISION} --- Decimal precision of a real kind +@fnindex PRECISION +@cindex model representation, precision + +@table @asis +@item @emph{Description}: +@code{PRECISION(X)} returns the decimal precision in the model of the +type of @code{X}. + +@item @emph{Standard}: +Fortran 95 and later + +@item @emph{Class}: +Inquiry function + +@item @emph{Syntax}: +@code{RESULT = PRECISION(X)} + +@item @emph{Arguments}: +@multitable @columnfractions .15 .70 +@item @var{X} @tab Shall be of type @code{REAL} or @code{COMPLEX}. +@end multitable + +@item @emph{Return value}: +The return value is of type @code{INTEGER} and of the default integer +kind. + +@item @emph{See also}: +@ref{SELECTED_REAL_KIND}, @ref{RANGE} + +@item @emph{Example}: +@smallexample +program prec_and_range + real(kind=4) :: x(2) + complex(kind=8) :: y + + print *, precision(x), range(x) + print *, precision(y), range(y) +end program prec_and_range +@end smallexample +@end table + + + @node PRESENT @section @code{PRESENT} --- Determine whether an optional dummy argument is specified @fnindex PRESENT diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index a29fef984ac..01e68aba785 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -9891,7 +9891,7 @@ generate_component_assignments (gfc_code **code, gfc_namespace *ns) (*code)->expr1->rank ? 1 : 0); if (depth > 1) { - gfc_warning ("TODO: type-bound defined assignment(s) at %L not " + gfc_warning ("TODO: type-bound defined assignment(s) at %L not " "done because multiple part array references would " "occur in intermediate expressions.", &(*code)->loc); return; diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index ee2954e5bca..75fed2f651c 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -7547,8 +7547,8 @@ structure_alloc_comps (gfc_symbol * der_type, tree decl, called_dealloc_with_status = false; gfc_init_block (&tmpblock); - if (c->attr.allocatable - && (c->attr.dimension || c->attr.codimension)) + if (c->attr.allocatable && (c->attr.dimension || c->attr.codimension) + && !c->attr.proc_pointer) { comp = fold_build3_loc (input_location, COMPONENT_REF, ctype, decl, cdecl, NULL_TREE); @@ -7730,7 +7730,8 @@ structure_alloc_comps (gfc_symbol * der_type, tree decl, continue; } - if (c->attr.allocatable && !cmp_has_alloc_comps) + if (c->attr.allocatable && !c->attr.proc_pointer + && !cmp_has_alloc_comps) { rank = c->as ? c->as->rank : 0; tmp = gfc_duplicate_allocatable (dcmp, comp, ctype, rank); diff --git a/gcc/function.c b/gcc/function.c index 4ce2259ef71..1b41cf2cb34 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -4400,6 +4400,26 @@ invoke_set_current_function_hook (tree fndecl) } targetm.set_current_function (fndecl); + + if (opts == optimization_default_node) + this_fn_optabs = this_target_optabs; + else + { + struct function *fn = DECL_STRUCT_FUNCTION (fndecl); + if (fn->optabs == NULL) + { + if (this_target_optabs == &default_target_optabs) + fn->optabs = TREE_OPTIMIZATION_OPTABS (opts); + else + { + fn->optabs = (unsigned char *) + ggc_alloc_atomic (sizeof (struct target_optabs)); + init_all_optabs ((struct target_optabs *) fn->optabs); + } + } + this_fn_optabs = fn->optabs ? (struct target_optabs *) fn->optabs + : this_target_optabs; + } } } diff --git a/gcc/function.h b/gcc/function.h index 89d71e592dd..53e28b768c0 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -580,6 +580,9 @@ struct GTY(()) function { a string describing the reason for failure. */ const char * GTY((skip)) cannot_be_copied_reason; + /* Optabs for this function. This is of type `struct target_optabs *'. */ + unsigned char *GTY ((atomic)) optabs; + /* Collected bit flags. */ /* Number of units of general registers that need saving in stdarg diff --git a/gcc/genopinit.c b/gcc/genopinit.c index 1bb2f770d22..fb8071765dd 100644 --- a/gcc/genopinit.c +++ b/gcc/genopinit.c @@ -422,8 +422,8 @@ main (int argc, char **argv) fprintf (s_file, " { %#08x, CODE_FOR_%s },\n", p->sort_num, p->name); fprintf (s_file, "};\n\n"); - fprintf (s_file, "void\ninit_all_optabs (void)\n{\n"); - fprintf (s_file, " bool *ena = this_target_optabs->pat_enable;\n"); + fprintf (s_file, "void\ninit_all_optabs (struct target_optabs *optabs)\n{\n"); + fprintf (s_file, " bool *ena = optabs->pat_enable;\n"); for (i = 0; patterns.iterate (i, &p); ++i) fprintf (s_file, " ena[%u] = HAVE_%s;\n", i, p->name); fprintf (s_file, "}\n\n"); @@ -456,7 +456,7 @@ main (int argc, char **argv) "raw_optab_handler (unsigned scode)\n" "{\n" " int i = lookup_handler (scode);\n" - " return (i >= 0 && this_target_optabs->pat_enable[i]\n" + " return (i >= 0 && this_fn_optabs->pat_enable[i]\n" " ? pats[i].icode : CODE_FOR_nothing);\n" "}\n\n"); @@ -468,8 +468,8 @@ main (int argc, char **argv) " int i = lookup_handler (scode);\n" " if (i >= 0)\n" " {\n" - " bool ret = this_target_optabs->pat_enable[i];\n" - " this_target_optabs->pat_enable[i] = set;\n" + " bool ret = this_fn_optabs->pat_enable[i];\n" + " this_fn_optabs->pat_enable[i] = set;\n" " return ret;\n" " }\n" " else\n" diff --git a/gcc/genpreds.c b/gcc/genpreds.c index 09fc87b3dd1..98488e30b8b 100644 --- a/gcc/genpreds.c +++ b/gcc/genpreds.c @@ -945,9 +945,10 @@ write_lookup_constraint (void) { do { - printf (" if (!strncmp (str, \"%s\", %lu))\n" + printf (" if (!strncmp (str + 1, \"%s\", %lu))\n" " return CONSTRAINT_%s;\n", - c->name, (unsigned long int) c->namelen, c->c_name); + c->name + 1, (unsigned long int) c->namelen - 1, + c->c_name); c = c->next_this_letter; } while (c); diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 332e623f41a..9a67f3c0be3 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -725,11 +725,27 @@ initialize_node_lattices (struct cgraph_node *node) set_all_contains_variable (plats); } if (dump_file && (dump_flags & TDF_DETAILS) - && node->alias && node->thunk.thunk_p) + && !node->alias && !node->thunk.thunk_p) fprintf (dump_file, "Marking all lattices of %s/%i as %s\n", cgraph_node_name (node), node->uid, disable ? "BOTTOM" : "VARIABLE"); } + if (!disable) + for (i = 0; i < ipa_get_param_count (info) ; i++) + { + struct ipcp_param_lattices *plats = ipa_get_parm_lattices (info, i); + tree t = TREE_TYPE (ipa_get_param(info, i)); + + if (POINTER_TYPE_P (t) && TYPE_RESTRICT (t) + && TREE_CODE (TREE_TYPE (t)) == ARRAY_TYPE) + { + set_lattice_to_bottom (&plats->itself); + if (dump_file && (dump_flags & TDF_DETAILS) + && !node->alias && !node->thunk.thunk_p) + fprintf (dump_file, "Going to ignore param %i of of %s/%i.\n", + i, cgraph_node_name (node), node->uid); + } + } for (ie = node->indirect_calls; ie; ie = ie->next_callee) if (ie->indirect_info->polymorphic) @@ -1638,7 +1654,7 @@ good_cloning_opportunity_p (struct cgraph_node *node, int time_benefit, ") -> evaluation: " HOST_WIDEST_INT_PRINT_DEC ", threshold: %i\n", time_benefit, size_cost, (HOST_WIDE_INT) count_sum, - evaluation, 500); + evaluation, PARAM_VALUE (PARAM_IPA_CP_EVAL_THRESHOLD)); return evaluation >= PARAM_VALUE (PARAM_IPA_CP_EVAL_THRESHOLD); } @@ -1652,7 +1668,7 @@ good_cloning_opportunity_p (struct cgraph_node *node, int time_benefit, "size: %i, freq_sum: %i) -> evaluation: " HOST_WIDEST_INT_PRINT_DEC ", threshold: %i\n", time_benefit, size_cost, freq_sum, evaluation, - CGRAPH_FREQ_BASE /2); + PARAM_VALUE (PARAM_IPA_CP_EVAL_THRESHOLD)); return evaluation >= PARAM_VALUE (PARAM_IPA_CP_EVAL_THRESHOLD); } @@ -2791,12 +2807,15 @@ intersect_with_plats (struct ipcp_param_lattices *plats, vector result while subtracting OFFSET from the individual value offsets. */ static vec -agg_replacements_to_vector (struct cgraph_node *node, HOST_WIDE_INT offset) +agg_replacements_to_vector (struct cgraph_node *node, int index, + HOST_WIDE_INT offset) { struct ipa_agg_replacement_value *av; vec res = vNULL; for (av = ipa_get_agg_replacements_for_node (node); av; av = av->next) + if (av->index == index + && (av->offset - offset) >= 0) { struct ipa_agg_jf_item item; gcc_checking_assert (av->value); @@ -2876,7 +2895,7 @@ intersect_aggregates_with_edge (struct cgraph_edge *cs, int index, if (agg_pass_through_permissible_p (orig_plats, jfunc)) { if (!inter.exists ()) - inter = agg_replacements_to_vector (cs->caller, 0); + inter = agg_replacements_to_vector (cs->caller, src_idx, 0); else intersect_with_agg_replacements (cs->caller, src_idx, &inter, 0); @@ -2909,9 +2928,9 @@ intersect_aggregates_with_edge (struct cgraph_edge *cs, int index, if (caller_info->ipcp_orig_node) { if (!inter.exists ()) - inter = agg_replacements_to_vector (cs->caller, delta); + inter = agg_replacements_to_vector (cs->caller, src_idx, delta); else - intersect_with_agg_replacements (cs->caller, index, &inter, + intersect_with_agg_replacements (cs->caller, src_idx, &inter, delta); } else diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index 5cc222d49f7..f68349363b0 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -2100,10 +2100,65 @@ ipa_make_edge_direct_to_target (struct cgraph_edge *ie, tree target) if (TREE_CODE (target) == ADDR_EXPR) target = TREE_OPERAND (target, 0); if (TREE_CODE (target) != FUNCTION_DECL) - return NULL; + { + target = canonicalize_constructor_val (target, NULL); + if (!target || TREE_CODE (target) != FUNCTION_DECL) + { + if (dump_file) + fprintf (dump_file, "ipa-prop: Discovered direct call to non-function" + " in (%s/%i).\n", + cgraph_node_name (ie->caller), ie->caller->uid); + return NULL; + } + } callee = cgraph_get_node (target); - if (!callee) - return NULL; + + /* Because may-edges are not explicitely represented and vtable may be external, + we may create the first reference to the object in the unit. */ + if (!callee || callee->global.inlined_to) + { + struct cgraph_node *first_clone = callee; + + /* We are better to ensure we can refer to it. + In the case of static functions we are out of luck, since we already + removed its body. In the case of public functions we may or may + not introduce the reference. */ + if (!canonicalize_constructor_val (target, NULL) + || !TREE_PUBLIC (target)) + { + if (dump_file) + fprintf (dump_file, "ipa-prop: Discovered call to a known target " + "(%s/%i -> %s/%i) but can not refer to it. Giving up.\n", + xstrdup (cgraph_node_name (ie->caller)), ie->caller->uid, + xstrdup (cgraph_node_name (ie->callee)), ie->callee->uid); + return NULL; + } + + /* Create symbol table node. Even if inline clone exists, we can not take + it as a target of non-inlined call. */ + callee = cgraph_create_node (target); + + /* OK, we previously inlined the function, then removed the offline copy and + now we want it back for external call. This can happen when devirtualizing + while inlining function called once that happens after extern inlined and + virtuals are already removed. In this case introduce the external node + and make it available for call. */ + if (first_clone) + { + first_clone->clone_of = callee; + callee->clones = first_clone; + symtab_prevail_in_asm_name_hash ((symtab_node)callee); + symtab_insert_node_to_hashtable ((symtab_node)callee); + if (dump_file) + fprintf (dump_file, "ipa-prop: Introduced new external node " + "(%s/%i) and turned into root of the clone tree.\n", + xstrdup (cgraph_node_name (callee)), callee->uid); + } + else if (dump_file) + fprintf (dump_file, "ipa-prop: Introduced new external node " + "(%s/%i).\n", + xstrdup (cgraph_node_name (callee)), callee->uid); + } ipa_check_create_node_params (); /* We can not make edges to inline clones. It is bug that someone removed diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c index 228d3a28eae..05927e13b08 100644 --- a/gcc/lower-subreg.c +++ b/gcc/lower-subreg.c @@ -57,9 +57,9 @@ along with GCC; see the file COPYING3. If not see to do this. This pass only splits moves with modes that are wider than - word_mode and ASHIFTs, LSHIFTRTs and ZERO_EXTENDs with integer - modes that are twice the width of word_mode. The latter could be - generalized if there was a need to do this, but the trend in + word_mode and ASHIFTs, LSHIFTRTs, ASHIFTRTs and ZERO_EXTENDs with + integer modes that are twice the width of word_mode. The latter + could be generalized if there was a need to do this, but the trend in architectures is to not need this. There are two useful preprocessor defines for use by maintainers: @@ -152,7 +152,7 @@ compute_splitting_shift (bool speed_p, struct cost_rtxes *rtxes, bool *splitting, enum rtx_code code, int word_move_zero_cost, int word_move_cost) { - int wide_cost, narrow_cost, i; + int wide_cost, narrow_cost, upper_cost, i; for (i = 0; i < BITS_PER_WORD; i++) { @@ -163,13 +163,20 @@ compute_splitting_shift (bool speed_p, struct cost_rtxes *rtxes, else narrow_cost = shift_cost (speed_p, rtxes, code, word_mode, i); + if (code != ASHIFTRT) + upper_cost = word_move_zero_cost; + else if (i == BITS_PER_WORD - 1) + upper_cost = word_move_cost; + else + upper_cost = shift_cost (speed_p, rtxes, code, word_mode, + BITS_PER_WORD - 1); + if (LOG_COSTS) fprintf (stderr, "%s %s by %d: original cost %d, split cost %d + %d\n", GET_MODE_NAME (twice_word_mode), GET_RTX_NAME (code), - i + BITS_PER_WORD, wide_cost, narrow_cost, - word_move_zero_cost); + i + BITS_PER_WORD, wide_cost, narrow_cost, upper_cost); - if (FORCE_LOWERING || wide_cost >= narrow_cost + word_move_zero_cost) + if (FORCE_LOWERING || wide_cost >= narrow_cost + upper_cost) splitting[i] = true; } } @@ -248,6 +255,9 @@ compute_costs (bool speed_p, struct cost_rtxes *rtxes) compute_splitting_shift (speed_p, rtxes, choices[speed_p].splitting_lshiftrt, LSHIFTRT, word_move_zero_cost, word_move_cost); + compute_splitting_shift (speed_p, rtxes, + choices[speed_p].splitting_ashiftrt, ASHIFTRT, + word_move_zero_cost, word_move_cost); } } @@ -1153,6 +1163,7 @@ find_decomposable_shift_zext (rtx insn, bool speed_p) op = SET_SRC (set); if (GET_CODE (op) != ASHIFT && GET_CODE (op) != LSHIFTRT + && GET_CODE (op) != ASHIFTRT && GET_CODE (op) != ZERO_EXTEND) return false; @@ -1173,6 +1184,8 @@ find_decomposable_shift_zext (rtx insn, bool speed_p) { bool *splitting = (GET_CODE (op) == ASHIFT ? choices[speed_p].splitting_ashift + : GET_CODE (op) == ASHIFTRT + ? choices[speed_p].splitting_ashiftrt : choices[speed_p].splitting_lshiftrt); if (!CONST_INT_P (XEXP (op, 1)) || !IN_RANGE (INTVAL (XEXP (op, 1)), BITS_PER_WORD, @@ -1200,7 +1213,7 @@ resolve_shift_zext (rtx insn) rtx op; rtx op_operand; rtx insns; - rtx src_reg, dest_reg, dest_zero; + rtx src_reg, dest_reg, dest_upper, upper_src = NULL_RTX; int src_reg_num, dest_reg_num, offset1, offset2, src_offset; set = single_set (insn); @@ -1210,6 +1223,7 @@ resolve_shift_zext (rtx insn) op = SET_SRC (set); if (GET_CODE (op) != ASHIFT && GET_CODE (op) != LSHIFTRT + && GET_CODE (op) != ASHIFTRT && GET_CODE (op) != ZERO_EXTEND) return NULL_RTX; @@ -1223,7 +1237,8 @@ resolve_shift_zext (rtx insn) /* src_reg_num is the number of the word mode register which we are operating on. For a left shift and a zero_extend on little endian machines this is register 0. */ - src_reg_num = GET_CODE (op) == LSHIFTRT ? 1 : 0; + src_reg_num = (GET_CODE (op) == LSHIFTRT || GET_CODE (op) == ASHIFTRT) + ? 1 : 0; if (WORDS_BIG_ENDIAN && GET_MODE_SIZE (GET_MODE (op_operand)) > UNITS_PER_WORD) @@ -1243,12 +1258,17 @@ resolve_shift_zext (rtx insn) dest_reg = simplify_gen_subreg_concatn (word_mode, SET_DEST (set), GET_MODE (SET_DEST (set)), offset1); - dest_zero = simplify_gen_subreg_concatn (word_mode, SET_DEST (set), - GET_MODE (SET_DEST (set)), - offset2); + dest_upper = simplify_gen_subreg_concatn (word_mode, SET_DEST (set), + GET_MODE (SET_DEST (set)), + offset2); src_reg = simplify_gen_subreg_concatn (word_mode, op_operand, GET_MODE (op_operand), src_offset); + if (GET_CODE (op) == ASHIFTRT + && INTVAL (XEXP (op, 1)) != 2 * BITS_PER_WORD - 1) + upper_src = expand_shift (RSHIFT_EXPR, word_mode, copy_rtx (src_reg), + BITS_PER_WORD - 1, NULL_RTX, 0); + if (GET_CODE (op) != ZERO_EXTEND) { int shift_count = INTVAL (XEXP (op, 1)); @@ -1257,12 +1277,17 @@ resolve_shift_zext (rtx insn) LSHIFT_EXPR : RSHIFT_EXPR, word_mode, src_reg, shift_count - BITS_PER_WORD, - dest_reg, 1); + dest_reg, GET_CODE (op) != ASHIFTRT); } if (dest_reg != src_reg) emit_move_insn (dest_reg, src_reg); - emit_move_insn (dest_zero, CONST0_RTX (word_mode)); + if (GET_CODE (op) != ASHIFTRT) + emit_move_insn (dest_upper, CONST0_RTX (word_mode)); + else if (INTVAL (XEXP (op, 1)) == 2 * BITS_PER_WORD - 1) + emit_move_insn (dest_upper, copy_rtx (src_reg)); + else + emit_move_insn (dest_upper, upper_src); insns = get_insns (); end_sequence (); @@ -1328,7 +1353,8 @@ dump_choices (bool speed_p, const char *description) GET_MODE_NAME (twice_word_mode)); dump_shift_choices (ASHIFT, choices[speed_p].splitting_ashift); - dump_shift_choices (LSHIFTRT, choices[speed_p].splitting_ashift); + dump_shift_choices (LSHIFTRT, choices[speed_p].splitting_lshiftrt); + dump_shift_choices (ASHIFTRT, choices[speed_p].splitting_ashiftrt); fprintf (dump_file, "\n"); } diff --git a/gcc/lower-subreg.h b/gcc/lower-subreg.h index b4320826a28..16c48bf8cd8 100644 --- a/gcc/lower-subreg.h +++ b/gcc/lower-subreg.h @@ -34,6 +34,7 @@ struct lower_subreg_choices { should be split. */ bool splitting_ashift[MAX_BITS_PER_WORD]; bool splitting_lshiftrt[MAX_BITS_PER_WORD]; + bool splitting_ashiftrt[MAX_BITS_PER_WORD]; /* True if there is at least one mode that is worth splitting. */ bool something_to_do; diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index d3f4420b6a0..e3b4add9f18 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -2052,7 +2052,7 @@ process_alt_operands (int only_alternative) curr_alt_dont_inherit_ops_num = 0; for (nop = 0; nop < early_clobbered_regs_num; nop++) { - int i, j, clobbered_hard_regno; + int i, j, clobbered_hard_regno, first_conflict_j, last_conflict_j; HARD_REG_SET temp_set; i = early_clobbered_nops[nop]; @@ -2063,6 +2063,7 @@ process_alt_operands (int only_alternative) clobbered_hard_regno = hard_regno[i]; CLEAR_HARD_REG_SET (temp_set); add_to_hard_reg_set (&temp_set, biggest_mode[i], clobbered_hard_regno); + first_conflict_j = last_conflict_j = -1; for (j = 0; j < n_operands; j++) if (j == i /* We don't want process insides of match_operator and @@ -2077,19 +2078,26 @@ process_alt_operands (int only_alternative) /* If we don't reload j-th operand, check conflicts. */ else if ((curr_alt_win[j] || curr_alt_match_win[j]) && uses_hard_regs_p (*curr_id->operand_loc[j], temp_set)) - break; - if (j >= n_operands) + { + if (first_conflict_j < 0) + first_conflict_j = j; + last_conflict_j = j; + } + if (last_conflict_j < 0) continue; /* If earlyclobber operand conflicts with another non-matching operand which is actually the same register as the earlyclobber operand, it is better to reload the another operand as an operand matching the earlyclobber operand can be also the same. */ - if (operand_reg[j] != NULL_RTX && ! curr_alt_match_win[j] - && REGNO (operand_reg[i]) == REGNO (operand_reg[j])) + if (first_conflict_j == last_conflict_j + && operand_reg[last_conflict_j] + != NULL_RTX && ! curr_alt_match_win[last_conflict_j] + && REGNO (operand_reg[i]) == REGNO (operand_reg[last_conflict_j])) { - curr_alt_win[j] = false; - curr_alt_dont_inherit_ops[curr_alt_dont_inherit_ops_num++] = j; + curr_alt_win[last_conflict_j] = false; + curr_alt_dont_inherit_ops[curr_alt_dont_inherit_ops_num++] + = last_conflict_j; losers++; overall += LRA_LOSER_COST_FACTOR; } diff --git a/gcc/optabs.c b/gcc/optabs.c index c1dacf487a0..c5778d1928b 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -44,6 +44,7 @@ along with GCC; see the file COPYING3. If not see struct target_optabs default_target_optabs; struct target_libfuncs default_target_libfuncs; +struct target_optabs *this_fn_optabs = &default_target_optabs; #if SWITCHABLE_TARGET struct target_optabs *this_target_optabs = &default_target_optabs; struct target_libfuncs *this_target_libfuncs = &default_target_libfuncs; @@ -6150,7 +6151,7 @@ init_optabs (void) libfunc_hash = htab_create_ggc (10, hash_libfunc, eq_libfunc, NULL); /* Fill in the optabs with the insns we support. */ - init_all_optabs (); + init_all_optabs (this_fn_optabs); /* The ffs function operates on `int'. Fall back on it if we do not have a libgcc2 function for that width. */ @@ -6207,6 +6208,38 @@ init_optabs (void) targetm.init_libfuncs (); } +/* Recompute the optabs and save them if they have changed. */ + +void +save_optabs_if_changed (tree fndecl) +{ + /* ?? If this fails, we should temporarily restore the default + target first (set_cfun (NULL) ??), do the rest of this function, + and then restore it. */ + gcc_assert (this_target_optabs == &default_target_optabs); + + struct target_optabs *tmp_optabs = (struct target_optabs *) + ggc_alloc_atomic (sizeof (struct target_optabs)); + tree optnode = DECL_FUNCTION_SPECIFIC_OPTIMIZATION (fndecl); + + /* Generate a new set of optabs into tmp_optabs. */ + init_all_optabs (tmp_optabs); + + /* If the optabs changed, record it. */ + if (memcmp (tmp_optabs, this_target_optabs, sizeof (struct target_optabs))) + { + if (TREE_OPTIMIZATION_OPTABS (optnode)) + ggc_free (TREE_OPTIMIZATION_OPTABS (optnode)); + + TREE_OPTIMIZATION_OPTABS (optnode) = (unsigned char *) tmp_optabs; + } + else + { + TREE_OPTIMIZATION_OPTABS (optnode) = NULL; + ggc_free (tmp_optabs); + } +} + /* A helper function for init_sync_libfuncs. Using the basename BASE, install libfuncs into TAB for BASE_N for 1 <= N <= MAX. */ diff --git a/gcc/optabs.h b/gcc/optabs.h index c08adcf454f..4de4409342d 100644 --- a/gcc/optabs.h +++ b/gcc/optabs.h @@ -76,6 +76,7 @@ struct target_optabs { }; extern struct target_optabs default_target_optabs; +extern struct target_optabs *this_fn_optabs; #if SWITCHABLE_TARGET extern struct target_optabs *this_target_optabs; #else diff --git a/gcc/passes.c b/gcc/passes.c index 3e1e1e9d9ec..8390223e88e 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1918,10 +1918,7 @@ execute_function_todo (void *data) /* Always cleanup the CFG before trying to update SSA. */ if (flags & TODO_cleanup_cfg) { - bool cleanup = cleanup_tree_cfg (); - - if (cleanup && (cfun->curr_properties & PROP_ssa)) - flags |= TODO_remove_unused_locals; + cleanup_tree_cfg (); /* When cleanup_tree_cfg merges consecutive blocks, it may perform some simplistic propagation when removing single diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog index 1a9a1a9be59..4da5c3a2634 100644 --- a/gcc/po/ChangeLog +++ b/gcc/po/ChangeLog @@ -1,3 +1,7 @@ +2013-02-24 Joseph Myers + + * gcc.pot: Regenerate. + 2012-10-08 Joseph Myers * es.po: Update. diff --git a/gcc/po/gcc.pot b/gcc/po/gcc.pot index 30fb53b6a2a..94832661424 100644 --- a/gcc/po/gcc.pot +++ b/gcc/po/gcc.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n" -"POT-Creation-Date: 2012-09-19 14:55+0000\n" +"POT-Creation-Date: 2013-02-24 01:09+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,157 +18,161 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: cfgrtl.c:2264 +#: cfgrtl.c:2320 msgid "flow control insn inside a basic block" msgstr "" -#: cfgrtl.c:2392 +#: cfgrtl.c:2448 msgid "wrong insn in the fallthru edge" msgstr "" -#: cfgrtl.c:2446 +#: cfgrtl.c:2502 msgid "insn outside basic block" msgstr "" -#: cfgrtl.c:2453 +#: cfgrtl.c:2509 msgid "return not followed by barrier" msgstr "" -#: collect2.c:1685 +#: collect2.c:1531 #, c-format msgid "collect2 version %s\n" msgstr "" -#: collect2.c:1792 +#: collect2.c:1638 #, c-format msgid "%d constructor found\n" msgid_plural "%d constructors found\n" msgstr[0] "" msgstr[1] "" -#: collect2.c:1796 +#: collect2.c:1642 #, c-format msgid "%d destructor found\n" msgid_plural "%d destructors found\n" msgstr[0] "" msgstr[1] "" -#: collect2.c:1800 +#: collect2.c:1646 #, c-format msgid "%d frame table found\n" msgid_plural "%d frame tables found\n" msgstr[0] "" msgstr[1] "" -#: collect2.c:2056 +#: collect2.c:1902 #, c-format msgid "[cannot find %s]" msgstr "" -#: collect2.c:2112 +#: collect2.c:1958 #, c-format msgid "[Leaving %s]\n" msgstr "" -#: collect2.c:2331 +#: collect2.c:2177 #, c-format msgid "" "\n" "write_c_file - output name is %s, prefix is %s\n" msgstr "" -#: collect2.c:2822 +#: collect2.c:2668 #, c-format msgid "" "\n" "ldd output with constructors/destructors.\n" msgstr "" -#: cprop.c:1771 +#: cprop.c:1766 msgid "const/copy propagation disabled" msgstr "" -#: diagnostic.c:168 +#: diagnostic.c:169 #, c-format msgid "%s: all warnings being treated as errors" msgstr "" -#: diagnostic.c:173 +#: diagnostic.c:174 #, c-format msgid "%s: some warnings being treated as errors" msgstr "" -#: diagnostic.c:319 +#: diagnostic.c:413 #, c-format msgid "compilation terminated due to -Wfatal-errors.\n" msgstr "" -#: diagnostic.c:329 +#: diagnostic.c:423 #, c-format msgid "compilation terminated due to -fmax-errors=%u.\n" msgstr "" -#: diagnostic.c:340 +#: diagnostic.c:442 #, c-format msgid "" "Please submit a full bug report,\n" "with preprocessed source if appropriate.\n" -"See %s for instructions.\n" msgstr "" -#: diagnostic.c:349 +#: diagnostic.c:448 +#, c-format +msgid "See %s for instructions.\n" +msgstr "" + +#: diagnostic.c:457 #, c-format msgid "compilation terminated.\n" msgstr "" -#: diagnostic.c:615 +#: diagnostic.c:722 #, c-format msgid "%s:%d: confused by earlier errors, bailing out\n" msgstr "" -#: diagnostic.c:992 +#: diagnostic.c:1126 #, c-format msgid "Internal compiler error: Error reporting routines re-entered.\n" msgstr "" -#: final.c:1160 +#: final.c:1161 msgid "negative insn length" msgstr "" -#: final.c:2828 +#: final.c:2897 msgid "could not split insn" msgstr "" -#: final.c:3236 +#: final.c:3306 msgid "invalid 'asm': " msgstr "" -#: final.c:3364 +#: final.c:3435 #, c-format msgid "nested assembly dialect alternatives" msgstr "" -#: final.c:3379 final.c:3391 +#: final.c:3450 final.c:3462 #, c-format msgid "unterminated assembly dialect alternative" msgstr "" -#: final.c:3516 +#: final.c:3587 #, c-format msgid "operand number missing after %%-letter" msgstr "" -#: final.c:3519 final.c:3560 +#: final.c:3590 final.c:3631 #, c-format msgid "operand number out of range" msgstr "" -#: final.c:3577 +#: final.c:3648 #, c-format msgid "invalid %%-code" msgstr "" -#: final.c:3607 +#: final.c:3678 #, c-format msgid "'%%l' operand isn't a label" msgstr "" @@ -179,281 +183,288 @@ msgstr "" #. TARGET_PRINT_OPERAND must handle them. #. We can't handle floating point constants; #. PRINT_OPERAND must handle them. -#: final.c:3748 config/i386/i386.c:13550 config/pdp11/pdp11.c:1689 +#: final.c:3819 config/i386/i386.c:13370 config/pdp11/pdp11.c:1688 #, c-format msgid "floating constant misused" msgstr "" -#: final.c:3806 config/i386/i386.c:13648 config/pdp11/pdp11.c:1730 +#: final.c:3877 config/i386/i386.c:13468 config/pdp11/pdp11.c:1729 #, c-format msgid "invalid expression as operand" msgstr "" -#: gcc.c:1331 +#: gcc.c:1402 #, c-format msgid "Using built-in specs.\n" msgstr "" -#: gcc.c:1528 +#: gcc.c:1599 #, c-format msgid "" "Setting spec %s to '%s'\n" "\n" msgstr "" -#: gcc.c:1639 +#: gcc.c:1708 #, c-format msgid "Reading specs from %s\n" msgstr "" -#: gcc.c:1764 +#: gcc.c:1833 #, c-format msgid "could not find specs file %s\n" msgstr "" -#: gcc.c:1833 +#: gcc.c:1902 #, c-format msgid "rename spec %s to %s\n" msgstr "" -#: gcc.c:1835 +#: gcc.c:1904 #, c-format msgid "" "spec is '%s'\n" "\n" msgstr "" -#: gcc.c:2252 +#: gcc.c:2337 #, c-format msgid "%s\n" msgstr "" -#: gcc.c:2616 +#: gcc.c:2704 #, c-format msgid "" "\n" "Go ahead? (y or n) " msgstr "" -#: gcc.c:2756 +#: gcc.c:2844 #, c-format msgid "# %s %.2f %.2f\n" msgstr "" -#: gcc.c:2959 +#: gcc.c:3047 #, c-format msgid "Usage: %s [options] file...\n" msgstr "" -#: gcc.c:2960 +#: gcc.c:3048 msgid "Options:\n" msgstr "" -#: gcc.c:2962 +#: gcc.c:3050 msgid " -pass-exit-codes Exit with highest error code from a phase\n" msgstr "" -#: gcc.c:2963 +#: gcc.c:3051 msgid " --help Display this information\n" msgstr "" -#: gcc.c:2964 +#: gcc.c:3052 msgid "" " --target-help Display target specific command line options\n" msgstr "" -#: gcc.c:2965 +#: gcc.c:3053 msgid "" " --help={common|optimizers|params|target|warnings|[^]{joined|separate|" "undocumented}}[,...]\n" msgstr "" -#: gcc.c:2966 +#: gcc.c:3054 msgid "" " Display specific types of command line options\n" msgstr "" -#: gcc.c:2968 +#: gcc.c:3056 msgid " (Use '-v --help' to display command line options of sub-processes)\n" msgstr "" -#: gcc.c:2969 +#: gcc.c:3057 msgid " --version Display compiler version information\n" msgstr "" -#: gcc.c:2970 +#: gcc.c:3058 msgid " -dumpspecs Display all of the built in spec strings\n" msgstr "" -#: gcc.c:2971 +#: gcc.c:3059 msgid " -dumpversion Display the version of the compiler\n" msgstr "" -#: gcc.c:2972 +#: gcc.c:3060 msgid " -dumpmachine Display the compiler's target processor\n" msgstr "" -#: gcc.c:2973 +#: gcc.c:3061 msgid "" " -print-search-dirs Display the directories in the compiler's search " "path\n" msgstr "" -#: gcc.c:2974 +#: gcc.c:3062 msgid "" " -print-libgcc-file-name Display the name of the compiler's companion " "library\n" msgstr "" -#: gcc.c:2975 +#: gcc.c:3063 msgid " -print-file-name= Display the full path to library \n" msgstr "" -#: gcc.c:2976 +#: gcc.c:3064 msgid "" " -print-prog-name= Display the full path to compiler component " "\n" msgstr "" -#: gcc.c:2977 +#: gcc.c:3065 +msgid "" +" -print-multiarch Display the target's normalized GNU triplet, used " +"as\n" +" a component in the library path\n" +msgstr "" + +#: gcc.c:3068 msgid "" " -print-multi-directory Display the root directory for versions of " "libgcc\n" msgstr "" -#: gcc.c:2978 +#: gcc.c:3069 msgid "" " -print-multi-lib Display the mapping between command line options " "and\n" " multiple library search directories\n" msgstr "" -#: gcc.c:2981 +#: gcc.c:3072 msgid " -print-multi-os-directory Display the relative path to OS libraries\n" msgstr "" -#: gcc.c:2982 +#: gcc.c:3073 msgid " -print-sysroot Display the target libraries directory\n" msgstr "" -#: gcc.c:2983 +#: gcc.c:3074 msgid "" " -print-sysroot-headers-suffix Display the sysroot suffix used to find " "headers\n" msgstr "" -#: gcc.c:2984 +#: gcc.c:3075 msgid "" " -Wa, Pass comma-separated on to the " "assembler\n" msgstr "" -#: gcc.c:2985 +#: gcc.c:3076 msgid "" " -Wp, Pass comma-separated on to the " "preprocessor\n" msgstr "" -#: gcc.c:2986 +#: gcc.c:3077 msgid "" " -Wl, Pass comma-separated on to the linker\n" msgstr "" -#: gcc.c:2987 +#: gcc.c:3078 msgid " -Xassembler Pass on to the assembler\n" msgstr "" -#: gcc.c:2988 +#: gcc.c:3079 msgid " -Xpreprocessor Pass on to the preprocessor\n" msgstr "" -#: gcc.c:2989 +#: gcc.c:3080 msgid " -Xlinker Pass on to the linker\n" msgstr "" -#: gcc.c:2990 +#: gcc.c:3081 msgid " -save-temps Do not delete intermediate files\n" msgstr "" -#: gcc.c:2991 +#: gcc.c:3082 msgid " -save-temps= Do not delete intermediate files\n" msgstr "" -#: gcc.c:2992 +#: gcc.c:3083 msgid "" " -no-canonical-prefixes Do not canonicalize paths when building relative\n" " prefixes to other gcc components\n" msgstr "" -#: gcc.c:2995 +#: gcc.c:3086 msgid " -pipe Use pipes rather than intermediate files\n" msgstr "" -#: gcc.c:2996 +#: gcc.c:3087 msgid " -time Time the execution of each subprocess\n" msgstr "" -#: gcc.c:2997 +#: gcc.c:3088 msgid "" " -specs= Override built-in specs with the contents of " "\n" msgstr "" -#: gcc.c:2998 +#: gcc.c:3089 msgid "" " -std= Assume that the input sources are for \n" msgstr "" -#: gcc.c:2999 +#: gcc.c:3090 msgid "" " --sysroot= Use as the root directory for " "headers\n" " and libraries\n" msgstr "" -#: gcc.c:3002 +#: gcc.c:3093 msgid "" " -B Add to the compiler's search paths\n" msgstr "" -#: gcc.c:3003 +#: gcc.c:3094 msgid "" " -v Display the programs invoked by the compiler\n" msgstr "" -#: gcc.c:3004 +#: gcc.c:3095 msgid "" " -### Like -v but options quoted and commands not " "executed\n" msgstr "" -#: gcc.c:3005 +#: gcc.c:3096 msgid "" " -E Preprocess only; do not compile, assemble or " "link\n" msgstr "" -#: gcc.c:3006 +#: gcc.c:3097 msgid " -S Compile only; do not assemble or link\n" msgstr "" -#: gcc.c:3007 +#: gcc.c:3098 msgid " -c Compile and assemble, but do not link\n" msgstr "" -#: gcc.c:3008 +#: gcc.c:3099 msgid " -o Place the output into \n" msgstr "" -#: gcc.c:3009 +#: gcc.c:3100 msgid " -pie Create a position independent executable\n" msgstr "" -#: gcc.c:3010 +#: gcc.c:3101 msgid " -shared Create a shared library\n" msgstr "" -#: gcc.c:3011 +#: gcc.c:3102 msgid "" " -x Specify the language of the following input " "files\n" @@ -464,7 +475,7 @@ msgid "" "extension\n" msgstr "" -#: gcc.c:3018 +#: gcc.c:3109 #, c-format msgid "" "\n" @@ -473,43 +484,43 @@ msgid "" " other options on to these processes the -W options must be used.\n" msgstr "" -#: gcc.c:5266 +#: gcc.c:5364 #, c-format msgid "Processing spec (%s), which is '%s'\n" msgstr "" -#: gcc.c:6544 +#: gcc.c:6649 #, c-format msgid "install: %s%s\n" msgstr "" -#: gcc.c:6547 +#: gcc.c:6652 #, c-format msgid "programs: %s\n" msgstr "" -#: gcc.c:6549 +#: gcc.c:6654 #, c-format msgid "libraries: %s\n" msgstr "" -#: gcc.c:6624 +#: gcc.c:6738 #, c-format msgid "" "\n" "For bug reporting instructions, please see:\n" msgstr "" -#: gcc.c:6640 +#: gcc.c:6754 #, c-format msgid "%s %s%s\n" msgstr "" -#: gcc.c:6643 gcov.c:493 fortran/gfortranspec.c:305 java/jcf-dump.c:1231 +#: gcc.c:6757 gcov.c:491 fortran/gfortranspec.c:303 java/jcf-dump.c:1230 msgid "(C)" msgstr "" -#: gcc.c:6644 java/jcf-dump.c:1232 +#: gcc.c:6758 java/jcf-dump.c:1231 #, c-format msgid "" "This is free software; see the source for copying conditions. There is NO\n" @@ -517,32 +528,32 @@ msgid "" "\n" msgstr "" -#: gcc.c:6661 +#: gcc.c:6775 #, c-format msgid "Target: %s\n" msgstr "" -#: gcc.c:6662 +#: gcc.c:6776 #, c-format msgid "Configured with: %s\n" msgstr "" -#: gcc.c:6676 +#: gcc.c:6790 #, c-format msgid "Thread model: %s\n" msgstr "" -#: gcc.c:6687 +#: gcc.c:6801 #, c-format msgid "gcc version %s %s\n" msgstr "" -#: gcc.c:6690 +#: gcc.c:6804 #, c-format msgid "gcc driver version %s %sexecuting gcc version %s\n" msgstr "" -#: gcc.c:6944 +#: gcc.c:7058 #, c-format msgid "" "\n" @@ -551,14 +562,14 @@ msgid "" "\n" msgstr "" -#: gcc.c:6945 +#: gcc.c:7059 #, c-format msgid "" "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n" "\n" msgstr "" -#: gcc.c:8138 +#: gcc.c:8276 #, c-format msgid "" "Assembler options\n" @@ -566,107 +577,107 @@ msgid "" "\n" msgstr "" -#: gcc.c:8139 +#: gcc.c:8277 #, c-format msgid "" "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n" "\n" msgstr "" -#: gcov.c:463 +#: gcov.c:461 #, c-format msgid "" "Usage: gcov [OPTION]... SOURCE|OBJ...\n" "\n" msgstr "" -#: gcov.c:464 +#: gcov.c:462 #, c-format msgid "" "Print code coverage information.\n" "\n" msgstr "" -#: gcov.c:465 +#: gcov.c:463 #, c-format msgid " -h, --help Print this help, then exit\n" msgstr "" -#: gcov.c:466 +#: gcov.c:464 #, c-format msgid " -v, --version Print version number, then exit\n" msgstr "" -#: gcov.c:467 +#: gcov.c:465 #, c-format msgid "" " -a, --all-blocks Show information for every basic block\n" msgstr "" -#: gcov.c:468 +#: gcov.c:466 #, c-format msgid "" " -b, --branch-probabilities Include branch probabilities in output\n" msgstr "" -#: gcov.c:469 +#: gcov.c:467 #, c-format msgid "" " -c, --branch-counts Given counts of branches taken\n" " rather than percentages\n" msgstr "" -#: gcov.c:471 +#: gcov.c:469 #, c-format msgid " -n, --no-output Do not create an output file\n" msgstr "" -#: gcov.c:472 +#: gcov.c:470 #, c-format msgid "" " -l, --long-file-names Use long output file names for included\n" " source files\n" msgstr "" -#: gcov.c:474 +#: gcov.c:472 #, c-format msgid " -f, --function-summaries Output summaries for each function\n" msgstr "" -#: gcov.c:475 +#: gcov.c:473 #, c-format msgid "" " -o, --object-directory DIR|FILE Search for object files in DIR or called " "FILE\n" msgstr "" -#: gcov.c:476 +#: gcov.c:474 #, c-format msgid " -s, --source-prefix DIR Source prefix to elide\n" msgstr "" -#: gcov.c:477 +#: gcov.c:475 #, c-format msgid " -r, --relative-only Only show data for relative sources\n" msgstr "" -#: gcov.c:478 +#: gcov.c:476 #, c-format msgid " -p, --preserve-paths Preserve all pathname components\n" msgstr "" -#: gcov.c:479 +#: gcov.c:477 #, c-format msgid "" " -u, --unconditional-branches Show unconditional branch counts too\n" msgstr "" -#: gcov.c:480 +#: gcov.c:478 #, c-format msgid " -d, --display-progress Display progress information\n" msgstr "" -#: gcov.c:481 +#: gcov.c:479 #, c-format msgid "" "\n" @@ -674,12 +685,12 @@ msgid "" "%s.\n" msgstr "" -#: gcov.c:491 +#: gcov.c:489 #, c-format msgid "gcov %s%s\n" msgstr "" -#: gcov.c:495 +#: gcov.c:493 #, c-format msgid "" "This is free software; see the source for copying conditions.\n" @@ -688,220 +699,220 @@ msgid "" "\n" msgstr "" -#: gcov.c:680 gcov.c:743 +#: gcov.c:678 gcov.c:741 #, c-format msgid "\n" msgstr "" -#: gcov.c:725 +#: gcov.c:723 #, c-format msgid "Creating '%s'\n" msgstr "" -#: gcov.c:728 +#: gcov.c:726 #, c-format msgid "Error writing output file '%s'\n" msgstr "" -#: gcov.c:733 +#: gcov.c:731 #, c-format msgid "Could not open output file '%s'\n" msgstr "" -#: gcov.c:739 +#: gcov.c:737 #, c-format msgid "Removing '%s'\n" msgstr "" -#: gcov.c:981 +#: gcov.c:979 #, c-format msgid "%s:source file is newer than notes file '%s'\n" msgstr "" -#: gcov.c:986 +#: gcov.c:984 #, c-format msgid "(the message is only displayed one per source file)\n" msgstr "" -#: gcov.c:1011 +#: gcov.c:1009 #, c-format msgid "%s:cannot open notes file\n" msgstr "" -#: gcov.c:1017 +#: gcov.c:1015 #, c-format msgid "%s:not a gcov notes file\n" msgstr "" -#: gcov.c:1030 +#: gcov.c:1028 #, c-format msgid "%s:version '%.4s', prefer '%.4s'\n" msgstr "" -#: gcov.c:1070 +#: gcov.c:1068 #, c-format msgid "%s:already seen blocks for '%s'\n" msgstr "" -#: gcov.c:1201 +#: gcov.c:1199 #, c-format msgid "%s:corrupted\n" msgstr "" -#: gcov.c:1208 +#: gcov.c:1206 #, c-format msgid "%s:no functions found\n" msgstr "" -#: gcov.c:1227 +#: gcov.c:1225 #, c-format msgid "%s:cannot open data file, assuming not executed\n" msgstr "" -#: gcov.c:1234 +#: gcov.c:1232 #, c-format msgid "%s:not a gcov data file\n" msgstr "" -#: gcov.c:1247 +#: gcov.c:1245 #, c-format msgid "%s:version '%.4s', prefer version '%.4s'\n" msgstr "" -#: gcov.c:1253 +#: gcov.c:1251 #, c-format msgid "%s:stamp mismatch with notes file\n" msgstr "" -#: gcov.c:1288 +#: gcov.c:1286 #, c-format msgid "%s:unknown function '%u'\n" msgstr "" -#: gcov.c:1302 +#: gcov.c:1300 #, c-format msgid "%s:profile mismatch for '%s'\n" msgstr "" -#: gcov.c:1321 +#: gcov.c:1319 #, c-format msgid "%s:overflowed\n" msgstr "" -#: gcov.c:1367 +#: gcov.c:1365 #, c-format msgid "%s:'%s' lacks entry and/or exit blocks\n" msgstr "" -#: gcov.c:1372 +#: gcov.c:1370 #, c-format msgid "%s:'%s' has arcs to entry block\n" msgstr "" -#: gcov.c:1380 +#: gcov.c:1378 #, c-format msgid "%s:'%s' has arcs from exit block\n" msgstr "" -#: gcov.c:1588 +#: gcov.c:1586 #, c-format msgid "%s:graph is unsolvable for '%s'\n" msgstr "" -#: gcov.c:1696 +#: gcov.c:1694 #, c-format msgid "Lines executed:%s of %d\n" msgstr "" -#: gcov.c:1699 +#: gcov.c:1697 #, c-format msgid "No executable lines\n" msgstr "" -#: gcov.c:1707 +#: gcov.c:1705 #, c-format msgid "%s '%s'\n" msgstr "" -#: gcov.c:1714 +#: gcov.c:1712 #, c-format msgid "Branches executed:%s of %d\n" msgstr "" -#: gcov.c:1718 +#: gcov.c:1716 #, c-format msgid "Taken at least once:%s of %d\n" msgstr "" -#: gcov.c:1724 +#: gcov.c:1722 #, c-format msgid "No branches\n" msgstr "" -#: gcov.c:1726 +#: gcov.c:1724 #, c-format msgid "Calls executed:%s of %d\n" msgstr "" -#: gcov.c:1730 +#: gcov.c:1728 #, c-format msgid "No calls\n" msgstr "" -#: gcov.c:1978 +#: gcov.c:1976 #, c-format msgid "%s:no lines for '%s'\n" msgstr "" -#: gcov.c:2172 +#: gcov.c:2170 #, c-format msgid "call %2d returned %s\n" msgstr "" -#: gcov.c:2177 +#: gcov.c:2175 #, c-format msgid "call %2d never executed\n" msgstr "" -#: gcov.c:2182 +#: gcov.c:2180 #, c-format msgid "branch %2d taken %s%s\n" msgstr "" -#: gcov.c:2187 +#: gcov.c:2185 #, c-format msgid "branch %2d never executed\n" msgstr "" -#: gcov.c:2192 +#: gcov.c:2190 #, c-format msgid "unconditional %2d taken %s\n" msgstr "" -#: gcov.c:2195 +#: gcov.c:2193 #, c-format msgid "unconditional %2d never executed\n" msgstr "" -#: gcov.c:2260 +#: gcov.c:2258 #, c-format msgid "Cannot open source file %s\n" msgstr "" -#: gcse.c:2615 +#: gcse.c:2647 msgid "PRE disabled" msgstr "" -#: gcse.c:3164 +#: gcse.c:3576 msgid "GCSE disabled" msgstr "" -#: gengtype-state.c:155 +#: gengtype-state.c:156 #, c-format msgid "%s:%d:%d: Invalid state file; %s" msgstr "" -#: gengtype-state.c:159 +#: gengtype-state.c:160 #, c-format msgid "%s:%d: Invalid state file; %s" msgstr "" @@ -909,170 +920,169 @@ msgstr "" #. Fatal printf-like message while reading state. This can't be a #. function, because there is no way to pass a va_arg to a variant of #. fatal. -#: gengtype-state.c:170 +#: gengtype-state.c:171 #, c-format msgid "%s:%d:%d: Invalid state file; " msgstr "" -#: gengtype-state.c:175 +#: gengtype-state.c:176 #, c-format msgid "%s:%d: Invalid state file; " msgstr "" -#: gengtype-state.c:700 +#: gengtype-state.c:701 #, c-format msgid "Option tag unknown" msgstr "" -#: gengtype-state.c:755 +#: gengtype-state.c:756 #, c-format msgid "Unexpected type in write_state_scalar_type" msgstr "" -#: gengtype-state.c:770 +#: gengtype-state.c:771 #, c-format msgid "Unexpected type in write_state_string_type" msgstr "" -#: gengtype-state.c:993 -#, c-format -msgid "Unexpected type..." -msgstr "" - -#: gengtype-state.c:1173 +#: gengtype-state.c:1193 #, c-format msgid "failed to write state trailer [%s]" msgstr "" -#: gengtype-state.c:1199 +#: gengtype-state.c:1219 #, c-format msgid "Failed to open file %s for writing state: %s" msgstr "" -#: gengtype-state.c:1229 +#: gengtype-state.c:1249 #, c-format msgid "output error when writing state file %s [%s]" msgstr "" -#: gengtype-state.c:1232 +#: gengtype-state.c:1252 #, c-format msgid "failed to close state file %s [%s]" msgstr "" -#: gengtype-state.c:1235 +#: gengtype-state.c:1255 #, c-format msgid "failed to rename %s to state file %s [%s]" msgstr "" -#: gengtype-state.c:2468 +#: gengtype-state.c:2527 #, c-format msgid "Failed to open state file %s for reading [%s]" msgstr "" -#: gengtype-state.c:2506 +#: gengtype-state.c:2565 #, c-format msgid "failed to close read state file %s [%s]" msgstr "" -#: incpath.c:76 +#: incpath.c:74 #, c-format msgid "ignoring duplicate directory \"%s\"\n" msgstr "" -#: incpath.c:79 +#: incpath.c:77 #, c-format msgid " as it is a non-system directory that duplicates a system directory\n" msgstr "" -#: incpath.c:83 +#: incpath.c:81 #, c-format msgid "ignoring nonexistent directory \"%s\"\n" msgstr "" -#: incpath.c:353 +#: incpath.c:363 #, c-format msgid "#include \"...\" search starts here:\n" msgstr "" -#: incpath.c:357 +#: incpath.c:367 #, c-format msgid "#include <...> search starts here:\n" msgstr "" -#: incpath.c:362 +#: incpath.c:372 #, c-format msgid "End of search list.\n" msgstr "" -#: input.c:78 cp/error.c:1114 +#: input.c:85 cp/error.c:1112 msgid "" msgstr "" #. Opening quotation mark. -#: intl.c:63 +#: intl.c:62 msgid "`" msgstr "" #. Closing quotation mark. -#: intl.c:66 +#: intl.c:65 msgid "'" msgstr "" -#: ipa-pure-const.c:154 +#: ipa-pure-const.c:151 msgid "function might be candidate for attribute %<%s%>" msgstr "" -#: ipa-pure-const.c:155 +#: ipa-pure-const.c:152 msgid "" "function might be candidate for attribute %<%s%> if it is known to return " "normally" msgstr "" -#: langhooks.c:381 +#: langhooks.c:380 msgid "At top level:" msgstr "" -#: langhooks.c:401 cp/error.c:3030 +#: langhooks.c:400 cp/error.c:3038 #, c-format msgid "In member function %qs" msgstr "" -#: langhooks.c:405 cp/error.c:3033 +#: langhooks.c:404 cp/error.c:3041 #, c-format msgid "In function %qs" msgstr "" -#: langhooks.c:456 cp/error.c:2983 +#: langhooks.c:455 cp/error.c:2991 #, c-format msgid " inlined from %qs at %s:%d:%d" msgstr "" -#: langhooks.c:461 cp/error.c:2988 +#: langhooks.c:460 cp/error.c:2996 #, c-format msgid " inlined from %qs at %s:%d" msgstr "" -#: langhooks.c:467 cp/error.c:2994 +#: langhooks.c:466 cp/error.c:3002 #, c-format msgid " inlined from %qs" msgstr "" -#: loop-iv.c:2989 tree-ssa-loop-niter.c:1904 +#: loop-iv.c:3029 tree-ssa-loop-niter.c:1924 msgid "assuming that the loop is not infinite" msgstr "" -#: loop-iv.c:2990 tree-ssa-loop-niter.c:1905 +#: loop-iv.c:3030 tree-ssa-loop-niter.c:1925 msgid "cannot optimize possibly infinite loops" msgstr "" -#: loop-iv.c:2998 tree-ssa-loop-niter.c:1909 +#: loop-iv.c:3038 tree-ssa-loop-niter.c:1929 msgid "assuming that the loop counter does not overflow" msgstr "" -#: loop-iv.c:2999 tree-ssa-loop-niter.c:1910 +#: loop-iv.c:3039 tree-ssa-loop-niter.c:1930 msgid "cannot optimize loop, the loop counter may overflow" msgstr "" +#: lra-constraints.c:2824 reload.c:3879 +msgid "unable to generate reloads for:" +msgstr "" + #: lto-wrapper.c:183 #, c-format msgid "pex_init failed" @@ -1093,7 +1103,7 @@ msgstr "" msgid "%s terminated with signal %d [%s]" msgstr "" -#: lto-wrapper.c:231 collect2.c:1985 +#: lto-wrapper.c:231 collect2.c:1831 #, gcc-internal-format, gfc-internal-format msgid "%s returned %d exit status" msgstr "" @@ -1118,106 +1128,106 @@ msgstr "" msgid "malformed COLLECT_GCC_OPTIONS" msgstr "" -#: lto-wrapper.c:424 +#: lto-wrapper.c:430 #, c-format msgid "Option %s not used consistently in all LTO input files" msgstr "" -#: lto-wrapper.c:455 +#: lto-wrapper.c:461 #, c-format msgid "environment variable COLLECT_GCC must be set" msgstr "" -#: lto-wrapper.c:458 +#: lto-wrapper.c:464 #, c-format msgid "environment variable COLLECT_GCC_OPTIONS must be set" msgstr "" -#: lto-wrapper.c:752 +#: lto-wrapper.c:758 #, c-format msgid "fopen: %s" msgstr "" #. What to print when a switch has no documentation. -#: opts.c:201 +#: opts.c:187 msgid "This switch lacks documentation" msgstr "" -#: opts.c:1040 +#: opts.c:1015 msgid "[default]" msgstr "" -#: opts.c:1051 +#: opts.c:1026 msgid "[enabled]" msgstr "" -#: opts.c:1051 +#: opts.c:1026 msgid "[disabled]" msgstr "" -#: opts.c:1070 +#: opts.c:1045 #, c-format msgid " No options with the desired characteristics were found\n" msgstr "" -#: opts.c:1079 +#: opts.c:1054 #, c-format msgid "" " None found. Use --help=%s to show *all* the options supported by the %s " "front-end\n" msgstr "" -#: opts.c:1085 +#: opts.c:1060 #, c-format msgid "" " All options with the desired characteristics have already been displayed\n" msgstr "" -#: opts.c:1180 +#: opts.c:1155 msgid "The following options are target specific" msgstr "" -#: opts.c:1183 +#: opts.c:1158 msgid "The following options control compiler warning messages" msgstr "" -#: opts.c:1186 +#: opts.c:1161 msgid "The following options control optimizations" msgstr "" -#: opts.c:1189 opts.c:1228 +#: opts.c:1164 opts.c:1203 msgid "The following options are language-independent" msgstr "" -#: opts.c:1192 +#: opts.c:1167 msgid "The --param option recognizes the following as parameters" msgstr "" -#: opts.c:1198 +#: opts.c:1173 msgid "The following options are specific to just the language " msgstr "" -#: opts.c:1200 +#: opts.c:1175 msgid "The following options are supported by the language " msgstr "" -#: opts.c:1211 +#: opts.c:1186 msgid "The following options are not documented" msgstr "" -#: opts.c:1213 +#: opts.c:1188 msgid "The following options take separate arguments" msgstr "" -#: opts.c:1215 +#: opts.c:1190 msgid "The following options take joined arguments" msgstr "" -#: opts.c:1226 +#: opts.c:1201 msgid "The following options are language-related" msgstr "" -#: opts.c:2074 +#: opts.c:2078 msgid "enabled by default" msgstr "" @@ -1236,116 +1246,112 @@ msgid "" "you can reproduce it without enabling any plugins.\n" msgstr "" -#: reload.c:3879 -msgid "unable to generate reloads for:" -msgstr "" - -#: reload1.c:2124 +#: reload1.c:2123 msgid "this is the insn:" msgstr "" #. It's the compiler's fault. -#: reload1.c:6099 +#: reload1.c:6095 msgid "could not find a spill register" msgstr "" #. It's the compiler's fault. -#: reload1.c:7909 +#: reload1.c:7942 msgid "VOIDmode on an output" msgstr "" -#: reload1.c:8684 +#: reload1.c:8703 msgid "failure trying to reload:" msgstr "" -#: rtl-error.c:118 +#: rtl-error.c:117 msgid "unrecognizable insn:" msgstr "" -#: rtl-error.c:120 +#: rtl-error.c:119 msgid "insn does not satisfy its constraints:" msgstr "" -#: targhooks.c:1468 +#: targhooks.c:1484 #, c-format msgid "created and used with differing settings of '%s'" msgstr "" -#: targhooks.c:1470 +#: targhooks.c:1486 msgid "out of memory" msgstr "" -#: targhooks.c:1485 +#: targhooks.c:1501 msgid "created and used with different settings of -fpic" msgstr "" -#: targhooks.c:1487 +#: targhooks.c:1503 msgid "created and used with different settings of -fpie" msgstr "" -#: tlink.c:392 +#: tlink.c:389 #, c-format msgid "collect: reading %s\n" msgstr "" -#: tlink.c:548 +#: tlink.c:545 #, c-format msgid "collect: recompiling %s\n" msgstr "" -#: tlink.c:632 +#: tlink.c:629 #, c-format msgid "collect: tweaking %s in %s\n" msgstr "" -#: tlink.c:848 +#: tlink.c:845 #, c-format msgid "collect: relinking\n" msgstr "" -#: toplev.c:331 +#: toplev.c:328 #, c-format msgid "unrecoverable error" msgstr "" -#: toplev.c:678 +#: toplev.c:682 #, c-format msgid "" "%s%s%s %sversion %s (%s)\n" "%s\tcompiled by GNU C version %s, " msgstr "" -#: toplev.c:680 +#: toplev.c:684 #, c-format msgid "%s%s%s %sversion %s (%s) compiled by CC, " msgstr "" -#: toplev.c:684 +#: toplev.c:688 #, c-format msgid "GMP version %s, MPFR version %s, MPC version %s\n" msgstr "" -#: toplev.c:686 +#: toplev.c:690 #, c-format msgid "%s%swarning: %s header version %s differs from library version %s.\n" msgstr "" -#: toplev.c:688 +#: toplev.c:692 #, c-format msgid "" "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n" msgstr "" -#: toplev.c:848 +#: toplev.c:852 msgid "options passed: " msgstr "" -#: toplev.c:876 +#: toplev.c:880 msgid "options enabled: " msgstr "" -#: tree-diagnostic.c:333 c-family/c-pretty-print.c:424 c/c-decl.c:4728 -#: c/c-typeck.c:5881 cp/error.c:656 cp/error.c:940 +#: tree-diagnostic.c:295 c-family/c-pretty-print.c:423 c/c-decl.c:4730 +#: c/c-typeck.c:5873 cp/error.c:654 cp/error.c:938 msgid "" msgstr "" @@ -1494,1610 +1500,1665 @@ msgstr "" msgid "permerror: " msgstr "" -#: params.def:46 +#: params.def:44 msgid "Maximal estimated outcome of branch considered predictable" msgstr "" -#: params.def:63 +#: params.def:49 +msgid "" +"The minimal estimated speedup allowing inliner to ignore inline-insns-single " +"and inline-isnsns-auto" +msgstr "" + +#: params.def:66 msgid "" "The maximum number of instructions in a single function eligible for inlining" msgstr "" -#: params.def:75 +#: params.def:78 msgid "The maximum number of instructions when automatically inlining" msgstr "" -#: params.def:80 +#: params.def:83 msgid "" "The maximum number of instructions inline function can grow to via recursive " "inlining" msgstr "" -#: params.def:85 +#: params.def:88 msgid "" "The maximum number of instructions non-inline function can grow to via " "recursive inlining" msgstr "" -#: params.def:90 +#: params.def:93 msgid "The maximum depth of recursive inlining for inline functions" msgstr "" -#: params.def:95 +#: params.def:98 msgid "The maximum depth of recursive inlining for non-inline functions" msgstr "" -#: params.def:100 +#: params.def:103 msgid "" "Inline recursively only when the probability of call being executed exceeds " "the parameter" msgstr "" -#: params.def:108 +#: params.def:111 msgid "" "The maximum number of nested indirect inlining performed by early inliner" msgstr "" -#: params.def:114 +#: params.def:117 msgid "" "Probability that COMDAT function will be shared with different compilation " "unit" msgstr "" -#: params.def:120 +#: params.def:123 msgid "" "Maximum probability of the entry BB of split region (in percent relative to " "entry BB of the function) to make partial inlining happen" msgstr "" -#: params.def:127 +#: params.def:130 msgid "" "If -fvariable-expansion-in-unroller is used, the maximum number of times " "that an individual variable will be expanded during loop unrolling" msgstr "" -#: params.def:133 +#: params.def:136 msgid "" "If -ftree-vectorize is used, the minimal loop bound of a loop to be " "considered for vectorization" msgstr "" -#: params.def:144 +#: params.def:147 msgid "The maximum number of instructions to consider to fill a delay slot" msgstr "" -#: params.def:155 +#: params.def:158 msgid "" "The maximum number of instructions to consider to find accurate live " "register information" msgstr "" -#: params.def:165 +#: params.def:168 msgid "The maximum length of scheduling's pending operations list" msgstr "" -#: params.def:172 +#: params.def:175 msgid "" "The maximum number of backtrack attempts the scheduler should make when " "modulo scheduling a loop" msgstr "" -#: params.def:177 +#: params.def:180 msgid "The size of function body to be considered large" msgstr "" -#: params.def:181 +#: params.def:184 msgid "Maximal growth due to inlining of large function (in percent)" msgstr "" -#: params.def:185 +#: params.def:188 msgid "The size of translation unit to be considered large" msgstr "" -#: params.def:189 +#: params.def:192 msgid "" "How much can given compilation unit grow because of the inlining (in percent)" msgstr "" -#: params.def:193 +#: params.def:196 msgid "" "How much can given compilation unit grow because of the interprocedural " "constant propagation (in percent)" msgstr "" -#: params.def:197 +#: params.def:200 msgid "" "Maximal estimated growth of function body caused by early inlining of single " "call" msgstr "" -#: params.def:201 +#: params.def:204 msgid "The size of stack frame to be considered large" msgstr "" -#: params.def:205 +#: params.def:208 msgid "Maximal stack frame growth due to inlining (in percent)" msgstr "" -#: params.def:212 +#: params.def:215 msgid "The maximum amount of memory to be allocated by GCSE" msgstr "" -#: params.def:219 +#: params.def:222 msgid "The maximum ratio of insertions to deletions of expressions in GCSE" msgstr "" -#: params.def:230 +#: params.def:233 msgid "" "The threshold ratio for performing partial redundancy elimination after " "reload" msgstr "" -#: params.def:237 +#: params.def:240 msgid "" "The threshold ratio of critical edges execution count that permit performing " "redundancy elimination after reload" msgstr "" -#: params.def:245 +#: params.def:248 msgid "" "Scaling factor in calculation of maximum distance an expression can be moved " "by GCSE optimizations" msgstr "" -#: params.def:251 +#: params.def:254 msgid "" "Cost at which GCSE optimizations will not constraint the distance an " "expression can travel" msgstr "" -#: params.def:259 +#: params.def:262 msgid "Maximum depth of search in the dominator tree for expressions to hoist" msgstr "" -#: params.def:271 +#: params.def:274 msgid "The maximum number of instructions to consider to unroll in a loop" msgstr "" -#: params.def:277 +#: params.def:280 msgid "" "The maximum number of instructions to consider to unroll in a loop on average" msgstr "" -#: params.def:282 +#: params.def:285 msgid "The maximum number of unrollings of a single loop" msgstr "" -#: params.def:287 +#: params.def:290 msgid "The maximum number of insns of a peeled loop" msgstr "" -#: params.def:292 +#: params.def:295 msgid "The maximum number of peelings of a single loop" msgstr "" -#: params.def:297 +#: params.def:300 +msgid "The maximum number of branches on the path through the peeled sequence" +msgstr "" + +#: params.def:305 msgid "The maximum number of insns of a completely peeled loop" msgstr "" -#: params.def:302 +#: params.def:310 msgid "" "The maximum number of peelings of a single loop that is peeled completely" msgstr "" -#: params.def:307 +#: params.def:315 msgid "The maximum number of insns of a peeled loop that rolls only once" msgstr "" -#: params.def:312 +#: params.def:320 msgid "The maximum depth of a loop nest we completely peel" msgstr "" -#: params.def:318 +#: params.def:326 msgid "The maximum number of insns of an unswitched loop" msgstr "" -#: params.def:323 +#: params.def:331 msgid "The maximum number of unswitchings in a single loop" msgstr "" -#: params.def:330 +#: params.def:338 msgid "" "Bound on the number of iterations the brute force # of iterations analysis " "algorithm evaluates" msgstr "" -#: params.def:336 +#: params.def:344 msgid "Bound on the cost of an expression to compute the number of iterations" msgstr "" -#: params.def:342 +#: params.def:350 msgid "" "A factor for tuning the upper bound that swing modulo scheduler uses for " "scheduling a loop" msgstr "" -#: params.def:347 +#: params.def:355 msgid "" "The minimum value of stage count that swing modulo scheduler will generate." msgstr "" -#: params.def:351 +#: params.def:359 msgid "" "The number of cycles the swing modulo scheduler considers when checking " "conflicts using DFA" msgstr "" -#: params.def:355 +#: params.def:363 msgid "" "A threshold on the average loop count considered by the swing modulo " "scheduler" msgstr "" -#: params.def:360 +#: params.def:368 msgid "" -"Select fraction of the maximal count of repetitions of basic block in " -"program given basic block needs to have to be considered hot" +"A basic block profile count is considered hot if it contributes to the given " +"permillage of the entire profiled execution" msgstr "" -#: params.def:364 +#: params.def:373 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:369 +#: params.def:378 msgid "" "Select fraction of the maximal frequency of executions of basic block in " "function given basic block get alignment" msgstr "" -#: params.def:374 +#: params.def:383 msgid "" "Loops iterating at least selected number of iterations will get loop " "alignement." msgstr "" -#: params.def:390 +#: params.def:399 msgid "The maximum number of loop iterations we predict statically" msgstr "" -#: params.def:394 +#: params.def:403 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:398 +#: params.def:407 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:402 +#: params.def:411 msgid "Maximal code growth caused by tail duplication (in percent)" msgstr "" -#: params.def:406 +#: params.def:415 msgid "" "Stop reverse growth if the reverse probability of best edge is less than " "this threshold (in percent)" msgstr "" -#: params.def:410 +#: params.def:419 msgid "" "Stop forward growth if the probability of best edge is less than this " "threshold (in percent). Used when profile feedback is available" msgstr "" -#: params.def:414 +#: params.def:423 msgid "" "Stop forward growth if the probability of best edge is less than this " "threshold (in percent). Used when profile feedback is not available" msgstr "" -#: params.def:420 +#: params.def:429 msgid "The maximum number of incoming edges to consider for crossjumping" msgstr "" -#: params.def:426 +#: params.def:435 msgid "" "The minimum number of matching instructions to consider for crossjumping" msgstr "" -#: params.def:432 +#: params.def:441 msgid "The maximum expansion factor when copying basic blocks" msgstr "" -#: params.def:438 +#: params.def:447 msgid "" "The maximum number of insns to duplicate when unfactoring computed gotos" msgstr "" -#: params.def:444 +#: params.def:453 msgid "The maximum length of path considered in cse" msgstr "" -#: params.def:448 +#: params.def:457 msgid "The maximum instructions CSE process before flushing" msgstr "" -#: params.def:455 +#: params.def:464 msgid "" "The minimum cost of an expensive expression in the loop invariant motion" msgstr "" -#: params.def:464 +#: params.def:473 msgid "" "Bound on number of candidates below that all candidates are considered in iv " "optimizations" msgstr "" -#: params.def:472 +#: params.def:481 msgid "Bound on number of iv uses in loop optimized in iv optimizations" msgstr "" -#: params.def:480 +#: params.def:489 msgid "" "If number of candidates in the set is smaller, we always try to remove " "unused ivs during its optimization" msgstr "" -#: params.def:485 +#: params.def:494 msgid "Bound on size of expressions used in the scalar evolutions analyzer" msgstr "" -#: params.def:490 +#: params.def:499 msgid "" "Bound on the complexity of the expressions in the scalar evolutions analyzer" msgstr "" -#: params.def:495 +#: params.def:504 msgid "Bound on the number of variables in Omega constraint systems" msgstr "" -#: params.def:500 +#: params.def:509 msgid "Bound on the number of inequalities in Omega constraint systems" msgstr "" -#: params.def:505 +#: params.def:514 msgid "Bound on the number of equalities in Omega constraint systems" msgstr "" -#: params.def:510 +#: params.def:519 msgid "Bound on the number of wild cards in Omega constraint systems" msgstr "" -#: params.def:515 +#: params.def:524 msgid "Bound on the size of the hash table in Omega constraint systems" msgstr "" -#: params.def:520 +#: params.def:529 msgid "Bound on the number of keys in Omega constraint systems" msgstr "" -#: params.def:525 +#: params.def:534 msgid "" "When set to 1, use expensive methods to eliminate all redundant constraints" msgstr "" -#: params.def:530 +#: params.def:539 msgid "" "Bound on number of runtime checks inserted by the vectorizer's loop " "versioning for alignment check" msgstr "" -#: params.def:535 +#: params.def:544 msgid "" "Bound on number of runtime checks inserted by the vectorizer's loop " "versioning for alias check" msgstr "" -#: params.def:540 +#: params.def:549 msgid "The maximum memory locations recorded by cselib" msgstr "" -#: params.def:553 +#: params.def:562 msgid "" "Minimum heap expansion to trigger garbage collection, as a percentage of the " "total size of the heap" msgstr "" -#: params.def:558 +#: params.def:567 msgid "Minimum heap size before we start collecting garbage, in kilobytes" msgstr "" -#: params.def:566 +#: params.def:575 msgid "" "The maximum number of instructions to search backward when looking for " "equivalent reload" msgstr "" -#: params.def:571 +#: params.def:580 msgid "" "Target block's relative execution frequency (as a percentage) required to " "sink a statement" msgstr "" -#: params.def:576 params.def:586 +#: params.def:585 params.def:595 msgid "" "The maximum number of blocks in a region to be considered for interblock " "scheduling" msgstr "" -#: params.def:581 params.def:591 +#: params.def:590 params.def:600 msgid "" "The maximum number of insns in a region to be considered for interblock " "scheduling" msgstr "" -#: params.def:596 +#: params.def:605 msgid "" "The minimum probability of reaching a source block for interblock " "speculative scheduling" msgstr "" -#: params.def:601 +#: params.def:610 msgid "The maximum number of iterations through CFG to extend regions" msgstr "" -#: params.def:606 +#: params.def:615 msgid "" "The maximum conflict delay for an insn to be considered for speculative " "motion" msgstr "" -#: params.def:611 +#: params.def:620 msgid "" "The minimal probability of speculation success (in percents), so that " "speculative insn will be scheduled." msgstr "" -#: params.def:616 +#: params.def:625 +msgid "" +"The minimum probability an edge must have for the scheduler to save its " +"state across it." +msgstr "" + +#: params.def:630 msgid "The maximum size of the lookahead window of selective scheduling" msgstr "" -#: params.def:621 +#: params.def:635 msgid "Maximum number of times that an insn could be scheduled" msgstr "" -#: params.def:626 +#: params.def:640 msgid "" "Maximum number of instructions in the ready list that are considered " "eligible for renaming" msgstr "" -#: params.def:631 +#: params.def:645 msgid "Minimal distance between possibly conflicting store and load" msgstr "" -#: params.def:636 +#: params.def:650 msgid "" "The maximum number of RTL nodes that can be recorded as combiner's last value" msgstr "" -#: params.def:645 +#: params.def:659 msgid "The upper bound for sharing integer constants" msgstr "" -#: params.def:650 +#: params.def:664 msgid "" "The lower bound for a buffer to be considered for stack smashing protection" msgstr "" -#: params.def:668 +#: params.def:682 msgid "" "Maximum number of statements allowed in a block that needs to be duplicated " "when threading jumps" msgstr "" -#: params.def:677 +#: params.def:691 msgid "" "Maximum number of fields in a structure before pointer analysis treats the " "structure as a single variable" msgstr "" -#: params.def:682 +#: params.def:696 msgid "" "The maximum number of instructions ready to be issued to be considered by " "the scheduler during the first scheduling pass" msgstr "" -#: params.def:688 +#: params.def:702 msgid "Maximum number of active local stores in RTL dead store elimination" msgstr "" -#: params.def:698 +#: params.def:712 msgid "The number of insns executed before prefetch is completed" msgstr "" -#: params.def:705 +#: params.def:719 msgid "The number of prefetches that can run at the same time" msgstr "" -#: params.def:712 +#: params.def:726 msgid "The size of L1 cache" msgstr "" -#: params.def:719 +#: params.def:733 msgid "The size of L1 cache line" msgstr "" -#: params.def:726 +#: params.def:740 msgid "The size of L2 cache" msgstr "" -#: params.def:737 +#: params.def:751 msgid "Whether to use canonical types" msgstr "" -#: params.def:742 +#: params.def:756 msgid "" "Maximum length of partial antic set when performing tree pre optimization" msgstr "" -#: params.def:752 +#: params.def:766 msgid "Maximum size of a SCC before SCCVN stops processing a function" msgstr "" -#: params.def:763 +#: params.def:777 msgid "Maximum number of disambiguations to perform per memory access" msgstr "" -#: params.def:768 +#: params.def:782 msgid "Max loops number for regional RA" msgstr "" -#: params.def:773 +#: params.def:787 msgid "Max size of conflict table in MB" msgstr "" -#: params.def:778 +#: params.def:792 msgid "" "The number of registers in each class kept unused by loop invariant motion" msgstr "" -#: params.def:786 +#: params.def:800 msgid "" "The maximum ratio between array size and switch branches for a switch " "conversion to take place" msgstr "" -#: params.def:794 +#: params.def:808 msgid "size of tiles for loop blocking" msgstr "" -#: params.def:801 +#: params.def:815 msgid "maximum number of parameters in a SCoP" msgstr "" -#: params.def:808 +#: params.def:822 msgid "maximum number of basic blocks per function to be analyzed by Graphite" msgstr "" -#: params.def:814 +#: params.def:828 msgid "Maximum number of datarefs in loop for building loop data dependencies" msgstr "" -#: params.def:821 +#: params.def:835 msgid "Max basic blocks number in loop for loop invariant motion" msgstr "" -#: params.def:827 +#: params.def:841 msgid "" "Maximum number of instructions in basic block to be considered for SLP " "vectorization" msgstr "" -#: params.def:832 +#: params.def:846 msgid "" "Min. ratio of insns to prefetches to enable prefetching for a loop with an " "unknown trip count" msgstr "" -#: params.def:838 +#: params.def:852 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop" msgstr "" -#: params.def:845 +#: params.def:859 msgid "Max. size of var tracking hash tables" msgstr "" -#: params.def:853 +#: params.def:867 msgid "Max. recursion depth for expanding var tracking expressions" msgstr "" -#: params.def:860 +#: params.def:875 +msgid "Max. size of loc list for which reverse ops should be added" +msgstr "" + +#: params.def:882 msgid "The minimum UID to be used for a nondebug insn" msgstr "" -#: params.def:865 +#: params.def:887 msgid "" "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer " "to an aggregate with" msgstr "" -#: params.def:871 +#: params.def:893 msgid "" "Size in bytes after which thread-local aggregates should be instrumented " "with the logging functions instead of save/restore pairs" msgstr "" -#: params.def:878 +#: params.def:900 msgid "" "Maximum size of a list of values associated with each parameter for " "interprocedural constant propagation" msgstr "" -#: params.def:884 +#: params.def:906 msgid "" "Threshold ipa-cp opportunity evaluation that is still considered beneficial " "to clone." msgstr "" -#: params.def:890 +#: params.def:912 msgid "" "Maximum number of aggregate content items for a parameter in jump functions " "and lattices" msgstr "" -#: params.def:898 +#: params.def:918 +msgid "" +"Compile-time bonus IPA-CP assigns to candidates which make loop bounds or " +"strides known." +msgstr "" + +#: params.def:926 msgid "Number of partitions the program should be split to" msgstr "" -#: params.def:903 +#: params.def:931 msgid "Minimal size of a partition for LTO (in estimated instructions)" msgstr "" -#: params.def:910 +#: params.def:938 msgid "" "Maximum number of namespaces to search for alternatives when name lookup " "fails" msgstr "" -#: params.def:917 +#: params.def:945 msgid "Maximum number of conditional store pairs that can be sunk" msgstr "" -#: params.def:925 +#: params.def:953 msgid "" "The smallest number of different values for which it is best to use a jump-" "table instead of a tree of conditional branches, if 0, use the default for " "the machine" msgstr "" -#: params.def:933 +#: params.def:961 msgid "Allow new data races on loads to be introduced" msgstr "" -#: params.def:938 +#: params.def:966 msgid "Allow new data races on stores to be introduced" msgstr "" -#: params.def:943 +#: params.def:971 msgid "Allow new data races on packed data loads to be introduced" msgstr "" -#: params.def:948 +#: params.def:976 msgid "Allow new data races on packed data stores to be introduced" msgstr "" -#: params.def:954 +#: params.def:982 msgid "" "Set the maximum number of instructions executed in parallel in reassociated " "tree. If 0, use the target dependent heuristic." msgstr "" -#: params.def:960 +#: params.def:988 msgid "Maximum amount of similar bbs to compare a bb with" msgstr "" -#: params.def:965 +#: params.def:993 msgid "Maximum amount of iterations of the pass over a function" msgstr "" -#: params.def:972 +#: params.def:1000 msgid "" "Maximum number of strings for which strlen optimization pass will track " "string lengths" msgstr "" -#: params.def:979 +#: params.def:1007 msgid "Which -fsched-pressure algorithm to apply" msgstr "" -#: params.def:985 +#: params.def:1013 msgid "Maximum length of candidate scans for straight-line strength reduction" msgstr "" -#: c-family/c-format.c:368 +#: c-family/c-format.c:345 msgid "format" msgstr "" -#: c-family/c-format.c:369 +#: c-family/c-format.c:346 msgid "field width specifier" msgstr "" -#: c-family/c-format.c:370 +#: c-family/c-format.c:347 msgid "field precision specifier" msgstr "" -#: c-family/c-format.c:484 c-family/c-format.c:508 config/i386/msformat-c.c:49 +#: c-family/c-format.c:461 c-family/c-format.c:485 config/i386/msformat-c.c:47 msgid "' ' flag" msgstr "" -#: c-family/c-format.c:484 c-family/c-format.c:508 config/i386/msformat-c.c:49 +#: c-family/c-format.c:461 c-family/c-format.c:485 config/i386/msformat-c.c:47 msgid "the ' ' printf flag" msgstr "" -#: c-family/c-format.c:485 c-family/c-format.c:509 c-family/c-format.c:543 -#: c-family/c-format.c:606 config/i386/msformat-c.c:50 +#: c-family/c-format.c:462 c-family/c-format.c:486 c-family/c-format.c:520 +#: c-family/c-format.c:583 config/i386/msformat-c.c:48 msgid "'+' flag" msgstr "" -#: c-family/c-format.c:485 c-family/c-format.c:509 c-family/c-format.c:543 -#: config/i386/msformat-c.c:50 +#: c-family/c-format.c:462 c-family/c-format.c:486 c-family/c-format.c:520 +#: config/i386/msformat-c.c:48 msgid "the '+' printf flag" msgstr "" -#: c-family/c-format.c:486 c-family/c-format.c:510 c-family/c-format.c:544 -#: c-family/c-format.c:582 config/i386/msformat-c.c:51 -#: config/i386/msformat-c.c:86 +#: c-family/c-format.c:463 c-family/c-format.c:487 c-family/c-format.c:521 +#: c-family/c-format.c:559 config/i386/msformat-c.c:49 +#: config/i386/msformat-c.c:84 msgid "'#' flag" msgstr "" -#: c-family/c-format.c:486 c-family/c-format.c:510 c-family/c-format.c:544 -#: config/i386/msformat-c.c:51 +#: c-family/c-format.c:463 c-family/c-format.c:487 c-family/c-format.c:521 +#: config/i386/msformat-c.c:49 msgid "the '#' printf flag" msgstr "" -#: c-family/c-format.c:487 c-family/c-format.c:511 c-family/c-format.c:580 -#: config/i386/msformat-c.c:52 +#: c-family/c-format.c:464 c-family/c-format.c:488 c-family/c-format.c:557 +#: config/i386/msformat-c.c:50 msgid "'0' flag" msgstr "" -#: c-family/c-format.c:487 c-family/c-format.c:511 config/i386/msformat-c.c:52 +#: c-family/c-format.c:464 c-family/c-format.c:488 config/i386/msformat-c.c:50 msgid "the '0' printf flag" msgstr "" -#: c-family/c-format.c:488 c-family/c-format.c:512 c-family/c-format.c:579 -#: c-family/c-format.c:609 config/i386/msformat-c.c:53 +#: c-family/c-format.c:465 c-family/c-format.c:489 c-family/c-format.c:556 +#: c-family/c-format.c:586 config/i386/msformat-c.c:51 msgid "'-' flag" msgstr "" -#: c-family/c-format.c:488 c-family/c-format.c:512 config/i386/msformat-c.c:53 +#: c-family/c-format.c:465 c-family/c-format.c:489 config/i386/msformat-c.c:51 msgid "the '-' printf flag" msgstr "" -#: c-family/c-format.c:489 c-family/c-format.c:562 config/i386/msformat-c.c:54 -#: config/i386/msformat-c.c:74 +#: c-family/c-format.c:466 c-family/c-format.c:539 config/i386/msformat-c.c:52 +#: config/i386/msformat-c.c:72 msgid "''' flag" msgstr "" -#: c-family/c-format.c:489 config/i386/msformat-c.c:54 +#: c-family/c-format.c:466 config/i386/msformat-c.c:52 msgid "the ''' printf flag" msgstr "" -#: c-family/c-format.c:490 c-family/c-format.c:563 +#: c-family/c-format.c:467 c-family/c-format.c:540 msgid "'I' flag" msgstr "" -#: c-family/c-format.c:490 +#: c-family/c-format.c:467 msgid "the 'I' printf flag" msgstr "" -#: c-family/c-format.c:491 c-family/c-format.c:513 c-family/c-format.c:560 -#: c-family/c-format.c:583 c-family/c-format.c:610 config/sol2-c.c:45 -#: config/i386/msformat-c.c:55 config/i386/msformat-c.c:72 +#: c-family/c-format.c:468 c-family/c-format.c:490 c-family/c-format.c:537 +#: c-family/c-format.c:560 c-family/c-format.c:587 config/sol2-c.c:44 +#: config/i386/msformat-c.c:53 config/i386/msformat-c.c:70 msgid "field width" msgstr "" -#: c-family/c-format.c:491 c-family/c-format.c:513 config/sol2-c.c:45 -#: config/i386/msformat-c.c:55 +#: c-family/c-format.c:468 c-family/c-format.c:490 config/sol2-c.c:44 +#: config/i386/msformat-c.c:53 msgid "field width in printf format" msgstr "" -#: c-family/c-format.c:492 c-family/c-format.c:514 c-family/c-format.c:546 -#: config/i386/msformat-c.c:56 +#: c-family/c-format.c:469 c-family/c-format.c:491 c-family/c-format.c:523 +#: config/i386/msformat-c.c:54 msgid "precision" msgstr "" -#: c-family/c-format.c:492 c-family/c-format.c:514 c-family/c-format.c:546 -#: config/i386/msformat-c.c:56 +#: c-family/c-format.c:469 c-family/c-format.c:491 c-family/c-format.c:523 +#: config/i386/msformat-c.c:54 msgid "precision in printf format" msgstr "" -#: c-family/c-format.c:493 c-family/c-format.c:515 c-family/c-format.c:547 -#: c-family/c-format.c:561 c-family/c-format.c:613 config/sol2-c.c:46 -#: config/i386/msformat-c.c:57 config/i386/msformat-c.c:73 +#: c-family/c-format.c:470 c-family/c-format.c:492 c-family/c-format.c:524 +#: c-family/c-format.c:538 c-family/c-format.c:590 config/sol2-c.c:45 +#: config/i386/msformat-c.c:55 config/i386/msformat-c.c:71 msgid "length modifier" msgstr "" -#: c-family/c-format.c:493 c-family/c-format.c:515 c-family/c-format.c:547 -#: config/sol2-c.c:46 config/i386/msformat-c.c:57 +#: c-family/c-format.c:470 c-family/c-format.c:492 c-family/c-format.c:524 +#: config/sol2-c.c:45 config/i386/msformat-c.c:55 msgid "length modifier in printf format" msgstr "" -#: c-family/c-format.c:545 +#: c-family/c-format.c:522 msgid "'q' flag" msgstr "" -#: c-family/c-format.c:545 +#: c-family/c-format.c:522 msgid "the 'q' diagnostic flag" msgstr "" -#: c-family/c-format.c:557 config/i386/msformat-c.c:70 +#: c-family/c-format.c:534 config/i386/msformat-c.c:68 msgid "assignment suppression" msgstr "" -#: c-family/c-format.c:557 config/i386/msformat-c.c:70 +#: c-family/c-format.c:534 config/i386/msformat-c.c:68 msgid "the assignment suppression scanf feature" msgstr "" -#: c-family/c-format.c:558 config/i386/msformat-c.c:71 +#: c-family/c-format.c:535 config/i386/msformat-c.c:69 msgid "'a' flag" msgstr "" -#: c-family/c-format.c:558 config/i386/msformat-c.c:71 +#: c-family/c-format.c:535 config/i386/msformat-c.c:69 msgid "the 'a' scanf flag" msgstr "" -#: c-family/c-format.c:559 +#: c-family/c-format.c:536 msgid "'m' flag" msgstr "" -#: c-family/c-format.c:559 +#: c-family/c-format.c:536 msgid "the 'm' scanf flag" msgstr "" -#: c-family/c-format.c:560 config/i386/msformat-c.c:72 +#: c-family/c-format.c:537 config/i386/msformat-c.c:70 msgid "field width in scanf format" msgstr "" -#: c-family/c-format.c:561 config/i386/msformat-c.c:73 +#: c-family/c-format.c:538 config/i386/msformat-c.c:71 msgid "length modifier in scanf format" msgstr "" -#: c-family/c-format.c:562 config/i386/msformat-c.c:74 +#: c-family/c-format.c:539 config/i386/msformat-c.c:72 msgid "the ''' scanf flag" msgstr "" -#: c-family/c-format.c:563 +#: c-family/c-format.c:540 msgid "the 'I' scanf flag" msgstr "" -#: c-family/c-format.c:578 +#: c-family/c-format.c:555 msgid "'_' flag" msgstr "" -#: c-family/c-format.c:578 +#: c-family/c-format.c:555 msgid "the '_' strftime flag" msgstr "" -#: c-family/c-format.c:579 +#: c-family/c-format.c:556 msgid "the '-' strftime flag" msgstr "" -#: c-family/c-format.c:580 +#: c-family/c-format.c:557 msgid "the '0' strftime flag" msgstr "" -#: c-family/c-format.c:581 c-family/c-format.c:605 +#: c-family/c-format.c:558 c-family/c-format.c:582 msgid "'^' flag" msgstr "" -#: c-family/c-format.c:581 +#: c-family/c-format.c:558 msgid "the '^' strftime flag" msgstr "" -#: c-family/c-format.c:582 config/i386/msformat-c.c:86 +#: c-family/c-format.c:559 config/i386/msformat-c.c:84 msgid "the '#' strftime flag" msgstr "" -#: c-family/c-format.c:583 +#: c-family/c-format.c:560 msgid "field width in strftime format" msgstr "" -#: c-family/c-format.c:584 +#: c-family/c-format.c:561 msgid "'E' modifier" msgstr "" -#: c-family/c-format.c:584 +#: c-family/c-format.c:561 msgid "the 'E' strftime modifier" msgstr "" -#: c-family/c-format.c:585 +#: c-family/c-format.c:562 msgid "'O' modifier" msgstr "" -#: c-family/c-format.c:585 +#: c-family/c-format.c:562 msgid "the 'O' strftime modifier" msgstr "" -#: c-family/c-format.c:586 +#: c-family/c-format.c:563 msgid "the 'O' modifier" msgstr "" -#: c-family/c-format.c:604 +#: c-family/c-format.c:581 msgid "fill character" msgstr "" -#: c-family/c-format.c:604 +#: c-family/c-format.c:581 msgid "fill character in strfmon format" msgstr "" -#: c-family/c-format.c:605 +#: c-family/c-format.c:582 msgid "the '^' strfmon flag" msgstr "" -#: c-family/c-format.c:606 +#: c-family/c-format.c:583 msgid "the '+' strfmon flag" msgstr "" -#: c-family/c-format.c:607 +#: c-family/c-format.c:584 msgid "'(' flag" msgstr "" -#: c-family/c-format.c:607 +#: c-family/c-format.c:584 msgid "the '(' strfmon flag" msgstr "" -#: c-family/c-format.c:608 +#: c-family/c-format.c:585 msgid "'!' flag" msgstr "" -#: c-family/c-format.c:608 +#: c-family/c-format.c:585 msgid "the '!' strfmon flag" msgstr "" -#: c-family/c-format.c:609 +#: c-family/c-format.c:586 msgid "the '-' strfmon flag" msgstr "" -#: c-family/c-format.c:610 +#: c-family/c-format.c:587 msgid "field width in strfmon format" msgstr "" -#: c-family/c-format.c:611 +#: c-family/c-format.c:588 msgid "left precision" msgstr "" -#: c-family/c-format.c:611 +#: c-family/c-format.c:588 msgid "left precision in strfmon format" msgstr "" -#: c-family/c-format.c:612 +#: c-family/c-format.c:589 msgid "right precision" msgstr "" -#: c-family/c-format.c:612 +#: c-family/c-format.c:589 msgid "right precision in strfmon format" msgstr "" -#: c-family/c-format.c:613 +#: c-family/c-format.c:590 msgid "length modifier in strfmon format" msgstr "" #. Handle deferred options from command-line. -#: c-family/c-opts.c:1378 fortran/cpp.c:581 +#: c-family/c-opts.c:1286 fortran/cpp.c:585 msgid "" msgstr "" -#: c-family/c-pretty-print.c:345 +#: c-family/c-pretty-print.c:344 msgid "" msgstr "" -#: c-family/c-pretty-print.c:384 +#: c-family/c-pretty-print.c:383 msgid "" msgstr "" -#: c-family/c-pretty-print.c:419 +#: c-family/c-pretty-print.c:418 msgid "" msgstr "" -#: c-family/c-pretty-print.c:1229 +#: c-family/c-pretty-print.c:1228 msgid "" msgstr "" -#: c-family/c-pretty-print.c:1233 cp/cxx-pretty-print.c:153 +#: c-family/c-pretty-print.c:1232 cp/cxx-pretty-print.c:152 msgid "" msgstr "" -#: c-family/c-pretty-print.c:2148 cp/error.c:1812 cp/error.c:2756 +#: c-family/c-pretty-print.c:2147 cp/error.c:1818 cp/error.c:2764 msgid "" msgstr "" -#: config/alpha/alpha.c:5066 +#: config/aarch64/aarch64.c:3225 config/aarch64/aarch64.c:3241 +#: config/aarch64/aarch64.c:3254 config/aarch64/aarch64.c:3266 +#: config/aarch64/aarch64.c:3277 config/aarch64/aarch64.c:3288 +#: config/aarch64/aarch64.c:3298 config/aarch64/aarch64.c:3313 +#: config/aarch64/aarch64.c:3332 +#, c-format +msgid "invalid operand for '%%%c'" +msgstr "" + +#: config/aarch64/aarch64.c:3348 config/aarch64/aarch64.c:3361 +#, c-format +msgid "incompatible floating point / vector register operand for '%%%c'" +msgstr "" + +#: config/aarch64/aarch64.c:3399 config/arm/arm.c:18223 +#, c-format +msgid "missing operand" +msgstr "" + +#: config/aarch64/aarch64.c:3462 +#, c-format +msgid "invalid constant" +msgstr "" + +#: config/aarch64/aarch64.c:3465 +#, c-format +msgid "invalid operand" +msgstr "" + +#: config/aarch64/aarch64.c:3545 +#, c-format +msgid "invalid operand prefix '%%%c'" +msgstr "" + +#: config/alpha/alpha.c:5065 #, c-format msgid "invalid %%H value" msgstr "" -#: config/alpha/alpha.c:5087 config/bfin/bfin.c:1427 +#: config/alpha/alpha.c:5086 config/bfin/bfin.c:1426 #, c-format msgid "invalid %%J value" msgstr "" -#: config/alpha/alpha.c:5117 config/ia64/ia64.c:5445 +#: config/alpha/alpha.c:5116 config/ia64/ia64.c:5442 #, c-format msgid "invalid %%r value" msgstr "" -#: config/alpha/alpha.c:5127 config/ia64/ia64.c:5399 -#: config/rs6000/rs6000.c:14910 config/xtensa/xtensa.c:2356 +#: config/alpha/alpha.c:5126 config/ia64/ia64.c:5396 +#: config/rs6000/rs6000.c:15113 config/xtensa/xtensa.c:2356 #, c-format msgid "invalid %%R value" msgstr "" -#: config/alpha/alpha.c:5133 config/rs6000/rs6000.c:14829 +#: config/alpha/alpha.c:5132 config/rs6000/rs6000.c:15033 #: config/xtensa/xtensa.c:2323 #, c-format msgid "invalid %%N value" msgstr "" -#: config/alpha/alpha.c:5141 config/rs6000/rs6000.c:14857 +#: config/alpha/alpha.c:5140 config/rs6000/rs6000.c:15061 #, c-format msgid "invalid %%P value" msgstr "" -#: config/alpha/alpha.c:5149 +#: config/alpha/alpha.c:5148 #, c-format msgid "invalid %%h value" msgstr "" -#: config/alpha/alpha.c:5157 config/xtensa/xtensa.c:2349 +#: config/alpha/alpha.c:5156 config/xtensa/xtensa.c:2349 #, c-format msgid "invalid %%L value" msgstr "" -#: config/alpha/alpha.c:5196 config/rs6000/rs6000.c:14811 +#: config/alpha/alpha.c:5195 config/rs6000/rs6000.c:15015 #, c-format msgid "invalid %%m value" msgstr "" -#: config/alpha/alpha.c:5204 config/rs6000/rs6000.c:14819 +#: config/alpha/alpha.c:5203 config/rs6000/rs6000.c:15023 #, c-format msgid "invalid %%M value" msgstr "" -#: config/alpha/alpha.c:5248 +#: config/alpha/alpha.c:5247 #, c-format msgid "invalid %%U value" msgstr "" -#: config/alpha/alpha.c:5256 config/alpha/alpha.c:5267 -#: config/rs6000/rs6000.c:14918 +#: config/alpha/alpha.c:5255 config/alpha/alpha.c:5266 +#: config/rs6000/rs6000.c:15121 #, c-format msgid "invalid %%s value" msgstr "" -#: config/alpha/alpha.c:5278 +#: config/alpha/alpha.c:5277 #, c-format msgid "invalid %%C value" msgstr "" -#: config/alpha/alpha.c:5315 config/rs6000/rs6000.c:14676 +#: config/alpha/alpha.c:5314 config/rs6000/rs6000.c:14880 #, c-format msgid "invalid %%E value" msgstr "" -#: config/alpha/alpha.c:5340 config/alpha/alpha.c:5388 +#: config/alpha/alpha.c:5339 config/alpha/alpha.c:5387 #, c-format msgid "unknown relocation unspec" msgstr "" -#: config/alpha/alpha.c:5349 config/cr16/cr16.c:1539 -#: config/rs6000/rs6000.c:15267 config/spu/spu.c:1448 +#: config/alpha/alpha.c:5348 config/cr16/cr16.c:1539 +#: config/rs6000/rs6000.c:15470 config/spu/spu.c:1447 #, c-format msgid "invalid %%xn code" msgstr "" -#: config/arm/arm.c:16813 config/arm/arm.c:16831 +#: config/arm/arm.c:17560 config/arm/arm.c:17578 #, c-format msgid "predicated Thumb instruction" msgstr "" -#: config/arm/arm.c:16819 +#: config/arm/arm.c:17566 #, c-format msgid "predicated instruction in conditional sequence" msgstr "" -#: config/arm/arm.c:16950 config/arm/arm.c:16963 +#: config/arm/arm.c:17697 config/arm/arm.c:17710 #, c-format msgid "Unsupported operand for code '%c'" msgstr "" -#: config/arm/arm.c:17001 +#: config/arm/arm.c:17748 #, c-format msgid "invalid shift operand" msgstr "" -#: config/arm/arm.c:17058 config/arm/arm.c:17080 config/arm/arm.c:17090 -#: config/arm/arm.c:17100 config/arm/arm.c:17110 config/arm/arm.c:17149 -#: config/arm/arm.c:17167 config/arm/arm.c:17192 config/arm/arm.c:17207 -#: config/arm/arm.c:17234 config/arm/arm.c:17241 config/arm/arm.c:17259 -#: config/arm/arm.c:17266 config/arm/arm.c:17274 config/arm/arm.c:17295 -#: config/arm/arm.c:17302 config/arm/arm.c:17427 config/arm/arm.c:17434 -#: config/arm/arm.c:17457 config/arm/arm.c:17464 config/bfin/bfin.c:1440 -#: config/bfin/bfin.c:1447 config/bfin/bfin.c:1454 config/bfin/bfin.c:1461 -#: config/bfin/bfin.c:1470 config/bfin/bfin.c:1477 config/bfin/bfin.c:1484 -#: config/bfin/bfin.c:1491 +#: config/arm/arm.c:17805 config/arm/arm.c:17827 config/arm/arm.c:17837 +#: config/arm/arm.c:17847 config/arm/arm.c:17857 config/arm/arm.c:17896 +#: config/arm/arm.c:17914 config/arm/arm.c:17939 config/arm/arm.c:17954 +#: config/arm/arm.c:17981 config/arm/arm.c:17988 config/arm/arm.c:18006 +#: config/arm/arm.c:18013 config/arm/arm.c:18021 config/arm/arm.c:18042 +#: config/arm/arm.c:18049 config/arm/arm.c:18174 config/arm/arm.c:18181 +#: config/arm/arm.c:18204 config/arm/arm.c:18211 config/bfin/bfin.c:1439 +#: config/bfin/bfin.c:1446 config/bfin/bfin.c:1453 config/bfin/bfin.c:1460 +#: config/bfin/bfin.c:1469 config/bfin/bfin.c:1476 config/bfin/bfin.c:1483 +#: config/bfin/bfin.c:1490 #, c-format msgid "invalid operand for code '%c'" msgstr "" -#: config/arm/arm.c:17162 +#: config/arm/arm.c:17909 #, c-format msgid "instruction never executed" msgstr "" #. Former Maverick support, removed after GCC-4.7. -#: config/arm/arm.c:17183 +#: config/arm/arm.c:17930 #, c-format msgid "obsolete Maverick format code '%c'" msgstr "" -#: config/arm/arm.c:17476 -#, c-format -msgid "missing operand" -msgstr "" - -#: config/arm/arm.c:20249 +#: config/arm/arm.c:20988 msgid "function parameters cannot have __fp16 type" msgstr "" -#: config/arm/arm.c:20259 +#: config/arm/arm.c:20998 msgid "functions cannot return __fp16 type" msgstr "" -#: config/avr/avr.c:1910 +#: config/avr/avr.c:1966 #, c-format msgid "address operand requires constraint for X, Y, or Z register" msgstr "" -#: config/avr/avr.c:2063 +#: config/avr/avr.c:2120 msgid "operands to %T/%t must be reg + const_int:" msgstr "" -#: config/avr/avr.c:2103 config/avr/avr.c:2158 +#: config/avr/avr.c:2160 config/avr/avr.c:2215 msgid "bad address, not an I/O address:" msgstr "" -#: config/avr/avr.c:2112 +#: config/avr/avr.c:2169 msgid "bad address, not a constant:" msgstr "" -#: config/avr/avr.c:2130 +#: config/avr/avr.c:2187 msgid "bad address, not (reg+disp):" msgstr "" -#: config/avr/avr.c:2137 +#: config/avr/avr.c:2194 msgid "bad address, not post_inc or pre_dec:" msgstr "" -#: config/avr/avr.c:2148 +#: config/avr/avr.c:2205 msgid "internal compiler error. Bad address:" msgstr "" -#: config/avr/avr.c:2177 +#: config/avr/avr.c:2234 #, c-format msgid "Unsupported code '%c'for fixed-point:" msgstr "" -#: config/avr/avr.c:2186 +#: config/avr/avr.c:2243 msgid "internal compiler error. Unknown mode:" msgstr "" -#: config/avr/avr.c:2982 config/avr/avr.c:3556 config/avr/avr.c:3842 +#: config/avr/avr.c:3213 config/avr/avr.c:3787 config/avr/avr.c:4073 msgid "invalid insn:" msgstr "" -#: config/avr/avr.c:3011 config/avr/avr.c:3086 config/avr/avr.c:3129 -#: config/avr/avr.c:3148 config/avr/avr.c:3239 config/avr/avr.c:3408 -#: config/avr/avr.c:3619 config/avr/avr.c:3735 config/avr/avr.c:3871 -#: config/avr/avr.c:3962 config/avr/avr.c:4084 +#: config/avr/avr.c:3242 config/avr/avr.c:3317 config/avr/avr.c:3360 +#: config/avr/avr.c:3379 config/avr/avr.c:3470 config/avr/avr.c:3639 +#: config/avr/avr.c:3850 config/avr/avr.c:3966 config/avr/avr.c:4102 +#: config/avr/avr.c:4193 config/avr/avr.c:4315 msgid "incorrect insn:" msgstr "" -#: config/avr/avr.c:3163 config/avr/avr.c:3324 config/avr/avr.c:3479 -#: config/avr/avr.c:3688 config/avr/avr.c:3781 config/avr/avr.c:4018 -#: config/avr/avr.c:4139 +#: config/avr/avr.c:3394 config/avr/avr.c:3555 config/avr/avr.c:3710 +#: config/avr/avr.c:3919 config/avr/avr.c:4012 config/avr/avr.c:4249 +#: config/avr/avr.c:4370 msgid "unknown move insn:" msgstr "" -#: config/avr/avr.c:4564 +#: config/avr/avr.c:4795 msgid "bad shift insn:" msgstr "" -#: config/avr/avr.c:4672 config/avr/avr.c:5153 config/avr/avr.c:5568 +#: config/avr/avr.c:4903 config/avr/avr.c:5384 config/avr/avr.c:5799 msgid "internal compiler error. Incorrect shift:" msgstr "" -#: config/avr/avr.c:6991 +#: config/avr/avr.c:7071 msgid "unsupported fixed-point conversion" msgstr "" -#: config/bfin/bfin.c:1389 +#: config/bfin/bfin.c:1388 #, c-format msgid "invalid %%j value" msgstr "" -#: config/bfin/bfin.c:1582 config/c6x/c6x.c:2292 +#: config/bfin/bfin.c:1581 config/c6x/c6x.c:2290 #, c-format msgid "invalid const_double operand" msgstr "" -#: config/cris/cris.c:581 config/moxie/moxie.c:111 final.c:3241 final.c:3243 -#: fold-const.c:283 gcc.c:4624 gcc.c:4638 loop-iv.c:2991 loop-iv.c:3000 -#: rtl-error.c:103 toplev.c:335 tree-ssa-loop-niter.c:1913 tree-vrp.c:6637 -#: cp/typeck.c:5492 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282 -#: lto/lto-object.c:339 lto/lto-object.c:363 +#: config/cris/cris.c:580 config/moxie/moxie.c:111 final.c:3311 final.c:3313 +#: fold-const.c:270 gcc.c:4712 gcc.c:4726 loop-iv.c:3031 loop-iv.c:3040 +#: rtl-error.c:102 toplev.c:332 tree-ssa-loop-niter.c:1933 tree-vrp.c:6783 +#: cp/typeck.c:5618 java/expr.c:389 lto/lto-object.c:189 lto/lto-object.c:287 +#: lto/lto-object.c:344 lto/lto-object.c:368 #, gcc-internal-format, gfc-internal-format msgid "%s" msgstr "" -#: config/cris/cris.c:632 +#: config/cris/cris.c:631 msgid "unexpected index-type in cris_print_index" msgstr "" -#: config/cris/cris.c:649 +#: config/cris/cris.c:648 msgid "unexpected base-type in cris_print_base" msgstr "" -#: config/cris/cris.c:713 +#: config/cris/cris.c:712 msgid "invalid operand for 'b' modifier" msgstr "" -#: config/cris/cris.c:730 +#: config/cris/cris.c:729 msgid "invalid operand for 'o' modifier" msgstr "" -#: config/cris/cris.c:749 +#: config/cris/cris.c:748 msgid "invalid operand for 'O' modifier" msgstr "" -#: config/cris/cris.c:782 +#: config/cris/cris.c:781 msgid "invalid operand for 'p' modifier" msgstr "" -#: config/cris/cris.c:821 +#: config/cris/cris.c:820 msgid "invalid operand for 'z' modifier" msgstr "" -#: config/cris/cris.c:885 config/cris/cris.c:919 +#: config/cris/cris.c:884 config/cris/cris.c:918 msgid "invalid operand for 'H' modifier" msgstr "" -#: config/cris/cris.c:895 +#: config/cris/cris.c:894 msgid "bad register" msgstr "" -#: config/cris/cris.c:939 +#: config/cris/cris.c:938 msgid "invalid operand for 'e' modifier" msgstr "" -#: config/cris/cris.c:956 +#: config/cris/cris.c:955 msgid "invalid operand for 'm' modifier" msgstr "" -#: config/cris/cris.c:981 +#: config/cris/cris.c:980 msgid "invalid operand for 'A' modifier" msgstr "" -#: config/cris/cris.c:1051 +#: config/cris/cris.c:1050 msgid "invalid operand for 'D' modifier" msgstr "" -#: config/cris/cris.c:1065 +#: config/cris/cris.c:1064 msgid "invalid operand for 'T' modifier" msgstr "" -#: config/cris/cris.c:1085 config/moxie/moxie.c:181 +#: config/cris/cris.c:1084 config/moxie/moxie.c:181 msgid "invalid operand modifier letter" msgstr "" -#: config/cris/cris.c:1142 +#: config/cris/cris.c:1141 msgid "unexpected multiplicative operand" msgstr "" -#: config/cris/cris.c:1162 config/moxie/moxie.c:206 +#: config/cris/cris.c:1161 config/moxie/moxie.c:206 msgid "unexpected operand" msgstr "" -#: config/cris/cris.c:1201 config/cris/cris.c:1211 +#: config/cris/cris.c:1200 config/cris/cris.c:1210 msgid "unrecognized address" msgstr "" -#: config/cris/cris.c:2507 +#: config/cris/cris.c:2506 msgid "unrecognized supposed constant" msgstr "" -#: config/cris/cris.c:2908 config/cris/cris.c:2972 +#: config/cris/cris.c:2912 config/cris/cris.c:2976 msgid "unexpected side-effects in address" msgstr "" #. Can't possibly get a GOT-needing-fixup for a function-call, #. right? -#: config/cris/cris.c:3814 +#: config/cris/cris.c:3818 msgid "unidentifiable call op" msgstr "" -#: config/cris/cris.c:3866 +#: config/cris/cris.c:3870 #, c-format msgid "PIC register isn't set up" msgstr "" #. Unknown flag. #. Undocumented flag. -#: config/epiphany/epiphany.c:1196 config/m32r/m32r.c:2217 -#: config/sparc/sparc.c:8369 +#: config/epiphany/epiphany.c:1204 config/m32r/m32r.c:2216 +#: config/sparc/sparc.c:8569 #, c-format msgid "invalid operand output code" msgstr "" -#: config/fr30/fr30.c:503 +#: config/fr30/fr30.c:502 #, c-format msgid "fr30_print_operand_address: unhandled address" msgstr "" -#: config/fr30/fr30.c:527 +#: config/fr30/fr30.c:526 #, c-format msgid "fr30_print_operand: unrecognized %%p code" msgstr "" -#: config/fr30/fr30.c:547 +#: config/fr30/fr30.c:546 #, c-format msgid "fr30_print_operand: unrecognized %%b code" msgstr "" -#: config/fr30/fr30.c:568 +#: config/fr30/fr30.c:567 #, c-format msgid "fr30_print_operand: unrecognized %%B code" msgstr "" -#: config/fr30/fr30.c:576 +#: config/fr30/fr30.c:575 #, c-format msgid "fr30_print_operand: invalid operand to %%A code" msgstr "" -#: config/fr30/fr30.c:593 +#: config/fr30/fr30.c:592 #, c-format msgid "fr30_print_operand: invalid %%x code" msgstr "" -#: config/fr30/fr30.c:600 +#: config/fr30/fr30.c:599 #, c-format msgid "fr30_print_operand: invalid %%F code" msgstr "" -#: config/fr30/fr30.c:617 +#: config/fr30/fr30.c:616 #, c-format msgid "fr30_print_operand: unknown code" msgstr "" -#: config/fr30/fr30.c:645 config/fr30/fr30.c:654 config/fr30/fr30.c:665 -#: config/fr30/fr30.c:678 +#: config/fr30/fr30.c:644 config/fr30/fr30.c:653 config/fr30/fr30.c:664 +#: config/fr30/fr30.c:677 #, c-format msgid "fr30_print_operand: unhandled MEM" msgstr "" -#: config/frv/frv.c:2536 +#: config/frv/frv.c:2535 msgid "bad insn to frv_print_operand_address:" msgstr "" -#: config/frv/frv.c:2547 +#: config/frv/frv.c:2546 msgid "bad register to frv_print_operand_memory_reference_reg:" msgstr "" -#: config/frv/frv.c:2586 config/frv/frv.c:2596 config/frv/frv.c:2605 -#: config/frv/frv.c:2626 config/frv/frv.c:2631 +#: config/frv/frv.c:2585 config/frv/frv.c:2595 config/frv/frv.c:2604 +#: config/frv/frv.c:2625 config/frv/frv.c:2630 msgid "bad insn to frv_print_operand_memory_reference:" msgstr "" -#: config/frv/frv.c:2717 +#: config/frv/frv.c:2716 #, c-format msgid "bad condition code" msgstr "" -#: config/frv/frv.c:2793 +#: config/frv/frv.c:2792 msgid "bad insn in frv_print_operand, bad const_double" msgstr "" -#: config/frv/frv.c:2854 +#: config/frv/frv.c:2853 msgid "bad insn to frv_print_operand, 'e' modifier:" msgstr "" -#: config/frv/frv.c:2862 +#: config/frv/frv.c:2861 msgid "bad insn to frv_print_operand, 'F' modifier:" msgstr "" -#: config/frv/frv.c:2878 +#: config/frv/frv.c:2877 msgid "bad insn to frv_print_operand, 'f' modifier:" msgstr "" -#: config/frv/frv.c:2892 +#: config/frv/frv.c:2891 msgid "bad insn to frv_print_operand, 'g' modifier:" msgstr "" -#: config/frv/frv.c:2940 +#: config/frv/frv.c:2939 msgid "bad insn to frv_print_operand, 'L' modifier:" msgstr "" -#: config/frv/frv.c:2953 +#: config/frv/frv.c:2952 msgid "bad insn to frv_print_operand, 'M/N' modifier:" msgstr "" -#: config/frv/frv.c:2974 +#: config/frv/frv.c:2973 msgid "bad insn to frv_print_operand, 'O' modifier:" msgstr "" -#: config/frv/frv.c:2992 +#: config/frv/frv.c:2991 msgid "bad insn to frv_print_operand, P modifier:" msgstr "" -#: config/frv/frv.c:3012 +#: config/frv/frv.c:3011 msgid "bad insn in frv_print_operand, z case" msgstr "" -#: config/frv/frv.c:3043 +#: config/frv/frv.c:3042 msgid "bad insn in frv_print_operand, 0 case" msgstr "" -#: config/frv/frv.c:3048 +#: config/frv/frv.c:3047 msgid "frv_print_operand: unknown code" msgstr "" -#: config/frv/frv.c:4455 +#: config/frv/frv.c:4454 msgid "bad output_move_single operand" msgstr "" -#: config/frv/frv.c:4582 +#: config/frv/frv.c:4581 msgid "bad output_move_double operand" msgstr "" -#: config/frv/frv.c:4724 +#: config/frv/frv.c:4723 msgid "bad output_condmove_single operand" msgstr "" -#: config/i386/i386.c:13642 +#: config/i386/i386.c:13462 #, c-format msgid "invalid UNSPEC as operand" msgstr "" -#: config/i386/i386.c:14343 +#: config/i386/i386.c:14164 #, c-format msgid "invalid operand size for operand code 'O'" msgstr "" -#: config/i386/i386.c:14378 +#: config/i386/i386.c:14199 #, c-format msgid "invalid operand size for operand code 'z'" msgstr "" -#: config/i386/i386.c:14448 +#: config/i386/i386.c:14269 #, c-format msgid "invalid operand type used with operand code 'Z'" msgstr "" -#: config/i386/i386.c:14453 +#: config/i386/i386.c:14274 #, c-format msgid "invalid operand size for operand code 'Z'" msgstr "" -#: config/i386/i386.c:14528 +#: config/i386/i386.c:14349 #, c-format msgid "operand is not a condition code, invalid operand code 'Y'" msgstr "" -#: config/i386/i386.c:14601 +#: config/i386/i386.c:14422 #, c-format msgid "operand is not a condition code, invalid operand code 'D'" msgstr "" -#: config/i386/i386.c:14618 +#: config/i386/i386.c:14439 #, c-format msgid "operand is not a condition code, invalid operand code '%c'" msgstr "" -#: config/i386/i386.c:14631 +#: config/i386/i386.c:14452 #, c-format msgid "" "operand is not an offsettable memory reference, invalid operand code 'H'" msgstr "" -#: config/i386/i386.c:14667 +#: config/i386/i386.c:14488 #, c-format msgid "'%%&' used without any local dynamic TLS references" msgstr "" -#: config/i386/i386.c:14740 +#: config/i386/i386.c:14561 #, c-format msgid "invalid operand code '%c'" msgstr "" -#: config/i386/i386.c:14795 +#: config/i386/i386.c:14616 #, c-format msgid "invalid constraints for operand" msgstr "" -#: config/i386/i386.c:23832 +#: config/i386/i386.c:23976 msgid "unknown insn mode" msgstr "" -#: config/i386/i386-interix.h:78 config/i386/i386.opt:250 +#: config/i386/i386-interix.h:77 config/i386/i386.opt:249 msgid "Use native (MS) bitfield layout" msgstr "" -#: config/i386/i386-interix.h:79 +#: config/i386/i386-interix.h:78 msgid "Use gcc default bitfield layout" 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:61 +#: config/i386/xm-djgpp.h:60 #, c-format msgid "environment variable DJGPP not defined" msgstr "" -#: config/i386/xm-djgpp.h:63 +#: config/i386/xm-djgpp.h:62 #, c-format msgid "environment variable DJGPP points to missing file '%s'" msgstr "" -#: config/i386/xm-djgpp.h:66 +#: config/i386/xm-djgpp.h:65 #, c-format msgid "environment variable DJGPP points to corrupt file '%s'" msgstr "" -#: config/ia64/ia64.c:5327 +#: config/ia64/ia64.c:5324 #, c-format msgid "invalid %%G mode" msgstr "" -#: config/ia64/ia64.c:5497 +#: config/ia64/ia64.c:5494 #, c-format msgid "ia64_print_operand: unknown code" msgstr "" -#: config/ia64/ia64.c:11057 +#: config/ia64/ia64.c:11051 msgid "invalid conversion from %<__fpreg%>" msgstr "" -#: config/ia64/ia64.c:11060 +#: config/ia64/ia64.c:11054 msgid "invalid conversion to %<__fpreg%>" msgstr "" -#: config/ia64/ia64.c:11073 config/ia64/ia64.c:11084 +#: config/ia64/ia64.c:11067 config/ia64/ia64.c:11078 msgid "invalid operation on %<__fpreg%>" msgstr "" -#: config/iq2000/iq2000.c:3133 config/tilegx/tilegx.c:5207 -#: config/tilepro/tilepro.c:4697 +#: config/iq2000/iq2000.c:3132 config/tilegx/tilegx.c:5205 +#: config/tilepro/tilepro.c:4695 #, c-format msgid "invalid %%P operand" msgstr "" -#: config/iq2000/iq2000.c:3141 config/rs6000/rs6000.c:14847 +#: config/iq2000/iq2000.c:3140 config/rs6000/rs6000.c:15051 #, c-format msgid "invalid %%p value" msgstr "" -#: config/iq2000/iq2000.c:3198 +#: config/iq2000/iq2000.c:3197 #, c-format msgid "invalid use of %%d, %%x, or %%X" msgstr "" @@ -3119,155 +3180,155 @@ msgstr "" msgid "invalid addressing mode" msgstr "" -#: config/m32r/m32r.c:2066 +#: config/m32r/m32r.c:2065 #, c-format msgid "invalid operand to %%s code" msgstr "" -#: config/m32r/m32r.c:2073 +#: config/m32r/m32r.c:2072 #, c-format msgid "invalid operand to %%p code" msgstr "" -#: config/m32r/m32r.c:2096 +#: config/m32r/m32r.c:2095 #, c-format msgid "invalid operand to %%R code" msgstr "" -#: config/m32r/m32r.c:2119 +#: config/m32r/m32r.c:2118 #, c-format msgid "invalid operand to %%H/%%L code" msgstr "" -#: config/m32r/m32r.c:2128 +#: config/m32r/m32r.c:2127 msgid "bad insn for 'A'" msgstr "" -#: config/m32r/m32r.c:2175 +#: config/m32r/m32r.c:2174 #, c-format msgid "invalid operand to %%T/%%B code" msgstr "" -#: config/m32r/m32r.c:2190 +#: config/m32r/m32r.c:2189 #, c-format msgid "invalid operand to %%U code" msgstr "" -#: config/m32r/m32r.c:2198 +#: config/m32r/m32r.c:2197 #, c-format msgid "invalid operand to %%N code" msgstr "" -#: config/m32r/m32r.c:2231 +#: config/m32r/m32r.c:2230 msgid "pre-increment address is not a register" msgstr "" -#: config/m32r/m32r.c:2238 +#: config/m32r/m32r.c:2237 msgid "pre-decrement address is not a register" msgstr "" -#: config/m32r/m32r.c:2245 +#: config/m32r/m32r.c:2244 msgid "post-increment address is not a register" msgstr "" -#: config/m32r/m32r.c:2321 config/m32r/m32r.c:2336 -#: config/rs6000/rs6000.c:24873 +#: config/m32r/m32r.c:2320 config/m32r/m32r.c:2335 +#: config/rs6000/rs6000.c:25129 msgid "bad address" msgstr "" -#: config/m32r/m32r.c:2341 +#: config/m32r/m32r.c:2340 msgid "lo_sum not of register" msgstr "" -#: config/mep/mep.c:3236 +#: config/mep/mep.c:3234 #, c-format msgid "invalid %%L code" msgstr "" -#: config/microblaze/microblaze.c:1737 +#: config/microblaze/microblaze.c:1760 #, c-format msgid "unknown punctuation '%c'" msgstr "" -#: config/microblaze/microblaze.c:1746 +#: config/microblaze/microblaze.c:1769 #, c-format msgid "null pointer" msgstr "" -#: config/microblaze/microblaze.c:1781 +#: config/microblaze/microblaze.c:1804 #, c-format msgid "PRINT_OPERAND, invalid insn for %%C" msgstr "" -#: config/microblaze/microblaze.c:1810 +#: config/microblaze/microblaze.c:1833 #, c-format msgid "PRINT_OPERAND, invalid insn for %%N" msgstr "" -#: config/microblaze/microblaze.c:1830 config/microblaze/microblaze.c:1991 +#: config/microblaze/microblaze.c:1853 config/microblaze/microblaze.c:2014 msgid "insn contains an invalid address !" msgstr "" -#: config/microblaze/microblaze.c:1844 config/microblaze/microblaze.c:2031 +#: config/microblaze/microblaze.c:1867 config/microblaze/microblaze.c:2054 #: config/xtensa/xtensa.c:2443 msgid "invalid address" msgstr "" -#: config/microblaze/microblaze.c:1943 +#: config/microblaze/microblaze.c:1966 #, c-format msgid "letter %c was found & insn was not CONST_INT" msgstr "" -#: config/mips/mips.c:7848 config/mips/mips.c:7869 config/mips/mips.c:7990 +#: config/mips/mips.c:7926 config/mips/mips.c:7947 config/mips/mips.c:8068 #, c-format msgid "'%%%c' is not a valid operand prefix" msgstr "" -#: config/mips/mips.c:7927 config/mips/mips.c:7934 config/mips/mips.c:7941 -#: config/mips/mips.c:7948 config/mips/mips.c:8008 config/mips/mips.c:8022 -#: config/mips/mips.c:8040 config/mips/mips.c:8049 +#: config/mips/mips.c:8005 config/mips/mips.c:8012 config/mips/mips.c:8019 +#: config/mips/mips.c:8026 config/mips/mips.c:8086 config/mips/mips.c:8100 +#: config/mips/mips.c:8118 config/mips/mips.c:8127 #, c-format msgid "invalid use of '%%%c'" msgstr "" -#: config/mmix/mmix.c:1530 config/mmix/mmix.c:1660 +#: config/mmix/mmix.c:1546 config/mmix/mmix.c:1676 msgid "MMIX Internal: Expected a CONST_INT, not this" msgstr "" -#: config/mmix/mmix.c:1609 +#: config/mmix/mmix.c:1625 msgid "MMIX Internal: Bad value for 'm', not a CONST_INT" msgstr "" -#: config/mmix/mmix.c:1628 +#: config/mmix/mmix.c:1644 msgid "MMIX Internal: Expected a register, not this" msgstr "" -#: config/mmix/mmix.c:1638 +#: config/mmix/mmix.c:1654 msgid "MMIX Internal: Expected a constant, not this" msgstr "" #. We need the original here. -#: config/mmix/mmix.c:1722 +#: config/mmix/mmix.c:1738 msgid "MMIX Internal: Cannot decode this operand" msgstr "" -#: config/mmix/mmix.c:1778 +#: config/mmix/mmix.c:1794 msgid "MMIX Internal: This is not a recognized address" msgstr "" -#: config/mmix/mmix.c:2658 +#: config/mmix/mmix.c:2671 msgid "MMIX Internal: Trying to output invalidly reversed condition:" msgstr "" -#: config/mmix/mmix.c:2665 +#: config/mmix/mmix.c:2678 msgid "MMIX Internal: What's the CC of this?" msgstr "" -#: config/mmix/mmix.c:2669 +#: config/mmix/mmix.c:2682 msgid "MMIX Internal: What is the CC of this?" msgstr "" -#: config/mmix/mmix.c:2733 +#: config/mmix/mmix.c:2746 msgid "MMIX Internal: This is not a constant:" msgstr "" @@ -3287,277 +3348,277 @@ msgstr "" msgid "Bad address, not register:" msgstr "" -#: config/rl78/rl78.c:1208 config/rl78/rl78.c:1247 +#: config/rl78/rl78.c:1219 config/rl78/rl78.c:1258 #, c-format msgid "q/Q modifiers invalid for symbol references" msgstr "" -#: config/rs6000/host-darwin.c:95 +#: config/rs6000/host-darwin.c:94 #, c-format msgid "Out of stack space.\n" msgstr "" -#: config/rs6000/host-darwin.c:116 +#: config/rs6000/host-darwin.c:115 #, c-format msgid "Try running '%s' in the shell to raise its limit.\n" msgstr "" -#: config/rs6000/rs6000.c:2580 +#: config/rs6000/rs6000.c:2614 msgid "-mvsx requires hardware floating point" msgstr "" -#: config/rs6000/rs6000.c:2585 +#: config/rs6000/rs6000.c:2619 msgid "-mvsx and -mpaired are incompatible" msgstr "" -#: config/rs6000/rs6000.c:2590 +#: config/rs6000/rs6000.c:2624 msgid "-mvsx used with little endian code" msgstr "" -#: config/rs6000/rs6000.c:2592 +#: config/rs6000/rs6000.c:2626 msgid "-mvsx needs indexed addressing" msgstr "" -#: config/rs6000/rs6000.c:2596 +#: config/rs6000/rs6000.c:2631 msgid "-mvsx and -mno-altivec are incompatible" msgstr "" -#: config/rs6000/rs6000.c:2598 +#: config/rs6000/rs6000.c:2633 msgid "-mno-altivec disables vsx" msgstr "" -#: config/rs6000/rs6000.c:7255 +#: config/rs6000/rs6000.c:7389 msgid "bad move" msgstr "" -#: config/rs6000/rs6000.c:14685 +#: config/rs6000/rs6000.c:14889 #, c-format msgid "invalid %%f value" msgstr "" -#: config/rs6000/rs6000.c:14694 +#: config/rs6000/rs6000.c:14898 #, c-format msgid "invalid %%F value" msgstr "" -#: config/rs6000/rs6000.c:14703 +#: config/rs6000/rs6000.c:14907 #, c-format msgid "invalid %%G value" msgstr "" -#: config/rs6000/rs6000.c:14738 +#: config/rs6000/rs6000.c:14942 #, c-format msgid "invalid %%j code" msgstr "" -#: config/rs6000/rs6000.c:14748 +#: config/rs6000/rs6000.c:14952 #, c-format msgid "invalid %%J code" msgstr "" -#: config/rs6000/rs6000.c:14758 +#: config/rs6000/rs6000.c:14962 #, c-format msgid "invalid %%k value" msgstr "" -#: config/rs6000/rs6000.c:14773 config/xtensa/xtensa.c:2342 +#: config/rs6000/rs6000.c:14977 config/xtensa/xtensa.c:2342 #, c-format msgid "invalid %%K value" msgstr "" -#: config/rs6000/rs6000.c:14837 +#: config/rs6000/rs6000.c:15041 #, c-format msgid "invalid %%O value" msgstr "" -#: config/rs6000/rs6000.c:14884 +#: config/rs6000/rs6000.c:15088 #, c-format msgid "invalid %%q value" msgstr "" -#: config/rs6000/rs6000.c:14928 +#: config/rs6000/rs6000.c:15131 #, c-format msgid "invalid %%S value" msgstr "" -#: config/rs6000/rs6000.c:14968 +#: config/rs6000/rs6000.c:15171 #, c-format msgid "invalid %%T value" msgstr "" -#: config/rs6000/rs6000.c:14978 +#: config/rs6000/rs6000.c:15181 #, c-format msgid "invalid %%u value" msgstr "" -#: config/rs6000/rs6000.c:14987 config/xtensa/xtensa.c:2312 +#: config/rs6000/rs6000.c:15190 config/xtensa/xtensa.c:2312 #, c-format msgid "invalid %%v value" msgstr "" -#: config/rs6000/rs6000.c:15069 config/xtensa/xtensa.c:2363 +#: config/rs6000/rs6000.c:15272 config/xtensa/xtensa.c:2363 #, c-format msgid "invalid %%x value" msgstr "" -#: config/rs6000/rs6000.c:15215 +#: config/rs6000/rs6000.c:15418 #, c-format msgid "invalid %%y value, try using the 'Z' constraint" msgstr "" -#: config/rs6000/rs6000.c:27284 +#: config/rs6000/rs6000.c:27601 msgid "AltiVec argument passed to unprototyped function" msgstr "" -#: config/s390/s390.c:5287 +#: config/s390/s390.c:5354 #, c-format msgid "symbolic memory references are only supported on z10 or later" msgstr "" -#: config/s390/s390.c:5298 +#: config/s390/s390.c:5365 #, c-format msgid "cannot decompose address" msgstr "" -#: config/s390/s390.c:5357 +#: config/s390/s390.c:5431 #, c-format msgid "invalid comparison operator for 'E' output modifier" msgstr "" -#: config/s390/s390.c:5378 +#: config/s390/s390.c:5452 #, c-format msgid "invalid reference for 'J' output modifier" msgstr "" -#: config/s390/s390.c:5392 +#: config/s390/s390.c:5466 #, c-format msgid "memory reference expected for 'O' output modifier" msgstr "" -#: config/s390/s390.c:5403 +#: config/s390/s390.c:5477 #, c-format msgid "invalid address for 'O' output modifier" msgstr "" -#: config/s390/s390.c:5421 +#: config/s390/s390.c:5495 #, c-format msgid "memory reference expected for 'R' output modifier" msgstr "" -#: config/s390/s390.c:5432 +#: config/s390/s390.c:5506 #, c-format msgid "invalid address for 'R' output modifier" msgstr "" -#: config/s390/s390.c:5450 +#: config/s390/s390.c:5524 #, c-format msgid "memory reference expected for 'S' output modifier" msgstr "" -#: config/s390/s390.c:5460 +#: config/s390/s390.c:5534 #, c-format msgid "invalid address for 'S' output modifier" msgstr "" -#: config/s390/s390.c:5481 +#: config/s390/s390.c:5555 #, c-format msgid "register or memory expression expected for 'N' output modifier" msgstr "" -#: config/s390/s390.c:5492 +#: config/s390/s390.c:5566 #, c-format msgid "register or memory expression expected for 'M' output modifier" msgstr "" -#: config/s390/s390.c:5557 +#: config/s390/s390.c:5641 config/s390/s390.c:5661 #, c-format -msgid "invalid constant - try using an output modifier" +msgid "invalid constant for output modifier '%c'" msgstr "" -#: config/s390/s390.c:5560 +#: config/s390/s390.c:5658 #, c-format -msgid "invalid constant for output modifier '%c'" +msgid "invalid constant - try using an output modifier" msgstr "" -#: config/s390/s390.c:5567 +#: config/s390/s390.c:5668 #, c-format msgid "invalid expression - try using an output modifier" msgstr "" -#: config/s390/s390.c:5570 +#: config/s390/s390.c:5671 #, c-format msgid "invalid expression for output modifier '%c'" msgstr "" -#: config/score/score.c:1316 +#: config/score/score.c:1314 #, c-format msgid "invalid operand for code: '%c'" msgstr "" -#: config/sh/sh.c:1088 +#: config/sh/sh.c:1204 #, c-format msgid "invalid operand to %%R" msgstr "" -#: config/sh/sh.c:1115 +#: config/sh/sh.c:1231 #, c-format msgid "invalid operand to %%S" msgstr "" -#: config/sh/sh.c:9599 +#: config/sh/sh.c:9775 msgid "created and used with different architectures / ABIs" msgstr "" -#: config/sh/sh.c:9601 +#: config/sh/sh.c:9777 msgid "created and used with different ABIs" msgstr "" -#: config/sh/sh.c:9603 +#: config/sh/sh.c:9779 msgid "created and used with different endianness" msgstr "" -#: config/sparc/sparc.c:8193 config/sparc/sparc.c:8199 +#: config/sparc/sparc.c:8393 config/sparc/sparc.c:8399 #, c-format msgid "invalid %%Y operand" msgstr "" -#: config/sparc/sparc.c:8269 +#: config/sparc/sparc.c:8469 #, c-format msgid "invalid %%A operand" msgstr "" -#: config/sparc/sparc.c:8279 +#: config/sparc/sparc.c:8479 #, c-format msgid "invalid %%B operand" msgstr "" -#: config/sparc/sparc.c:8308 config/tilegx/tilegx.c:4990 -#: config/tilepro/tilepro.c:4500 +#: config/sparc/sparc.c:8508 config/tilegx/tilegx.c:4988 +#: config/tilepro/tilepro.c:4498 #, c-format msgid "invalid %%C operand" msgstr "" -#: config/sparc/sparc.c:8325 config/tilegx/tilegx.c:5023 +#: config/sparc/sparc.c:8525 config/tilegx/tilegx.c:5021 #, c-format msgid "invalid %%D operand" msgstr "" -#: config/sparc/sparc.c:8341 +#: config/sparc/sparc.c:8541 #, c-format msgid "invalid %%f operand" msgstr "" -#: config/sparc/sparc.c:8355 +#: config/sparc/sparc.c:8555 #, c-format msgid "invalid %%s operand" msgstr "" -#: config/sparc/sparc.c:8409 +#: config/sparc/sparc.c:8609 #, c-format msgid "long long constant not a valid immediate operand" msgstr "" -#: config/sparc/sparc.c:8412 +#: config/sparc/sparc.c:8612 #, c-format msgid "floating point constant not a valid immediate operand" msgstr "" @@ -3582,120 +3643,120 @@ msgstr "" msgid "xstormy16_print_operand: unknown code" msgstr "" -#: config/tilegx/tilegx.c:4975 config/tilepro/tilepro.c:4485 +#: config/tilegx/tilegx.c:4973 config/tilepro/tilepro.c:4483 #, c-format msgid "invalid %%c operand" msgstr "" -#: config/tilegx/tilegx.c:5006 +#: config/tilegx/tilegx.c:5004 #, c-format msgid "invalid %%d operand" msgstr "" -#: config/tilegx/tilegx.c:5103 +#: config/tilegx/tilegx.c:5101 #, c-format msgid "invalid %%H specifier" msgstr "" -#: config/tilegx/tilegx.c:5145 config/tilepro/tilepro.c:4514 +#: config/tilegx/tilegx.c:5143 config/tilepro/tilepro.c:4512 #, c-format msgid "invalid %%h operand" msgstr "" -#: config/tilegx/tilegx.c:5157 config/tilepro/tilepro.c:4578 +#: config/tilegx/tilegx.c:5155 config/tilepro/tilepro.c:4576 #, c-format msgid "invalid %%I operand" msgstr "" -#: config/tilegx/tilegx.c:5171 config/tilepro/tilepro.c:4592 +#: config/tilegx/tilegx.c:5169 config/tilepro/tilepro.c:4590 #, c-format msgid "invalid %%i operand" msgstr "" -#: config/tilegx/tilegx.c:5194 config/tilepro/tilepro.c:4615 +#: config/tilegx/tilegx.c:5192 config/tilepro/tilepro.c:4613 #, c-format msgid "invalid %%j operand" msgstr "" -#: config/tilegx/tilegx.c:5225 +#: config/tilegx/tilegx.c:5223 #, c-format msgid "invalid %%%c operand" msgstr "" -#: config/tilegx/tilegx.c:5240 config/tilepro/tilepro.c:4729 +#: config/tilegx/tilegx.c:5238 config/tilepro/tilepro.c:4727 #, c-format msgid "invalid %%N operand" msgstr "" -#: config/tilegx/tilegx.c:5284 +#: config/tilegx/tilegx.c:5282 #, c-format msgid "invalid operand for 'r' specifier" msgstr "" -#: config/tilegx/tilegx.c:5309 config/tilepro/tilepro.c:4811 +#: config/tilegx/tilegx.c:5307 config/tilepro/tilepro.c:4809 #, c-format msgid "unable to print out operand yet; code == %d (%c)" msgstr "" -#: config/tilepro/tilepro.c:4550 +#: config/tilepro/tilepro.c:4548 #, c-format msgid "invalid %%H operand" msgstr "" -#: config/tilepro/tilepro.c:4654 +#: config/tilepro/tilepro.c:4652 #, c-format msgid "invalid %%L operand" msgstr "" -#: config/tilepro/tilepro.c:4714 +#: config/tilepro/tilepro.c:4712 #, c-format msgid "invalid %%M operand" msgstr "" -#: config/tilepro/tilepro.c:4757 +#: config/tilepro/tilepro.c:4755 #, c-format msgid "invalid %%t operand" msgstr "" -#: config/tilepro/tilepro.c:4764 +#: config/tilepro/tilepro.c:4762 #, c-format msgid "invalid %%t operand '" msgstr "" -#: config/tilepro/tilepro.c:4785 +#: config/tilepro/tilepro.c:4783 #, c-format msgid "invalid %%r operand" msgstr "" -#: config/v850/v850.c:259 +#: config/v850/v850.c:292 msgid "const_double_split got a bad insn:" msgstr "" -#: config/v850/v850.c:842 +#: config/v850/v850.c:896 msgid "output_move_single:" msgstr "" -#: config/vax/vax.c:459 +#: config/vax/vax.c:457 #, c-format msgid "symbol used with both base and indexed registers" msgstr "" -#: config/vax/vax.c:468 +#: config/vax/vax.c:466 #, c-format msgid "symbol with offset used in PIC mode" msgstr "" -#: config/vax/vax.c:556 +#: config/vax/vax.c:554 #, c-format msgid "symbol used as immediate operand" msgstr "" -#: config/vax/vax.c:1581 +#: config/vax/vax.c:1579 msgid "illegal operand detected" msgstr "" -#: config/xtensa/xtensa.c:766 config/xtensa/xtensa.c:798 -#: config/xtensa/xtensa.c:807 +#: config/xtensa/xtensa.c:765 config/xtensa/xtensa.c:797 +#: config/xtensa/xtensa.c:806 msgid "bad test" msgstr "" @@ -3726,553 +3787,554 @@ msgstr "" msgid "address offset not a constant" msgstr "" -#: c/c-objc-common.c:173 +#: c/c-objc-common.c:172 msgid "({anonymous})" msgstr "" -#: c/c-parser.c:945 cp/parser.c:22386 +#: c/c-parser.c:943 cp/parser.c:23010 #, gcc-internal-format msgid "expected end of line" msgstr "" -#: c/c-parser.c:1802 c/c-parser.c:1816 c/c-parser.c:4131 c/c-parser.c:4584 -#: c/c-parser.c:4845 c/c-parser.c:5003 c/c-parser.c:5020 c/c-parser.c:5185 -#: c/c-parser.c:7365 c/c-parser.c:7400 c/c-parser.c:7431 c/c-parser.c:7478 -#: c/c-parser.c:7659 c/c-parser.c:8427 c/c-parser.c:8497 c/c-parser.c:8540 -#: c/c-parser.c:9818 c/c-parser.c:9833 c/c-parser.c:9842 c/c-parser.c:9987 -#: c/c-parser.c:10026 c/c-parser.c:2508 c/c-parser.c:7652 cp/parser.c:21822 -#: cp/parser.c:22332 +#: c/c-parser.c:1794 c/c-parser.c:1808 c/c-parser.c:4123 c/c-parser.c:4576 +#: c/c-parser.c:4837 c/c-parser.c:4995 c/c-parser.c:5012 c/c-parser.c:5177 +#: c/c-parser.c:7357 c/c-parser.c:7392 c/c-parser.c:7423 c/c-parser.c:7470 +#: c/c-parser.c:7651 c/c-parser.c:8419 c/c-parser.c:8489 c/c-parser.c:8532 +#: c/c-parser.c:9810 c/c-parser.c:9825 c/c-parser.c:9834 c/c-parser.c:9979 +#: c/c-parser.c:10018 c/c-parser.c:2500 c/c-parser.c:7644 cp/parser.c:22423 +#: cp/parser.c:22956 #, gcc-internal-format msgid "expected %<;%>" msgstr "" -#: c/c-parser.c:1846 c/c-parser.c:2446 c/c-parser.c:2737 c/c-parser.c:2802 -#: c/c-parser.c:3420 c/c-parser.c:3532 c/c-parser.c:3537 c/c-parser.c:4628 -#: c/c-parser.c:4761 c/c-parser.c:4925 c/c-parser.c:5121 c/c-parser.c:5247 -#: c/c-parser.c:6396 c/c-parser.c:6434 c/c-parser.c:6559 c/c-parser.c:6703 -#: c/c-parser.c:6718 c/c-parser.c:6742 c/c-parser.c:7950 c/c-parser.c:8022 -#: c/c-parser.c:8849 c/c-parser.c:8870 c/c-parser.c:8920 c/c-parser.c:9073 -#: c/c-parser.c:9152 c/c-parser.c:9236 c/c-parser.c:9950 c/c-parser.c:10774 -#: c/c-parser.c:8993 c/c-parser.c:9018 cp/parser.c:22335 +#: c/c-parser.c:1838 c/c-parser.c:2438 c/c-parser.c:2729 c/c-parser.c:2794 +#: c/c-parser.c:3412 c/c-parser.c:3524 c/c-parser.c:3529 c/c-parser.c:4620 +#: c/c-parser.c:4753 c/c-parser.c:4917 c/c-parser.c:5113 c/c-parser.c:5236 +#: c/c-parser.c:6381 c/c-parser.c:6419 c/c-parser.c:6544 c/c-parser.c:6688 +#: c/c-parser.c:6703 c/c-parser.c:6727 c/c-parser.c:7942 c/c-parser.c:8014 +#: c/c-parser.c:8841 c/c-parser.c:8862 c/c-parser.c:8912 c/c-parser.c:9065 +#: c/c-parser.c:9144 c/c-parser.c:9228 c/c-parser.c:9942 c/c-parser.c:10766 +#: c/c-parser.c:8985 c/c-parser.c:9010 cp/parser.c:20794 cp/parser.c:22959 #, gcc-internal-format msgid "expected %<(%>" msgstr "" -#: c/c-parser.c:1851 c/c-parser.c:6404 c/c-parser.c:6442 c/c-parser.c:6570 -#: cp/parser.c:21820 cp/parser.c:22350 +#: c/c-parser.c:1843 c/c-parser.c:6389 c/c-parser.c:6427 c/c-parser.c:6555 +#: cp/parser.c:22421 cp/parser.c:22974 #, gcc-internal-format msgid "expected %<,%>" msgstr "" -#: c/c-parser.c:1872 c/c-parser.c:2461 c/c-parser.c:2773 c/c-parser.c:2812 -#: c/c-parser.c:3020 c/c-parser.c:3184 c/c-parser.c:3246 c/c-parser.c:3298 -#: c/c-parser.c:3427 c/c-parser.c:3614 c/c-parser.c:3625 c/c-parser.c:3634 -#: c/c-parser.c:4631 c/c-parser.c:4765 c/c-parser.c:5044 c/c-parser.c:5179 -#: c/c-parser.c:5259 c/c-parser.c:5810 c/c-parser.c:6008 c/c-parser.c:6082 -#: c/c-parser.c:6163 c/c-parser.c:6341 c/c-parser.c:6359 c/c-parser.c:6380 -#: c/c-parser.c:6413 c/c-parser.c:6514 c/c-parser.c:6583 c/c-parser.c:6711 -#: c/c-parser.c:6734 c/c-parser.c:6755 c/c-parser.c:6906 c/c-parser.c:7208 -#: c/c-parser.c:7744 c/c-parser.c:7765 c/c-parser.c:7973 c/c-parser.c:8026 -#: c/c-parser.c:8399 c/c-parser.c:8852 c/c-parser.c:8873 c/c-parser.c:8951 -#: c/c-parser.c:9080 c/c-parser.c:9217 c/c-parser.c:9300 c/c-parser.c:9878 -#: c/c-parser.c:9995 c/c-parser.c:10037 c/c-parser.c:10783 cp/parser.c:22380 +#: c/c-parser.c:1864 c/c-parser.c:2453 c/c-parser.c:2765 c/c-parser.c:2804 +#: c/c-parser.c:3012 c/c-parser.c:3176 c/c-parser.c:3238 c/c-parser.c:3290 +#: c/c-parser.c:3419 c/c-parser.c:3606 c/c-parser.c:3617 c/c-parser.c:3626 +#: c/c-parser.c:4623 c/c-parser.c:4757 c/c-parser.c:5036 c/c-parser.c:5171 +#: c/c-parser.c:5244 c/c-parser.c:5795 c/c-parser.c:5993 c/c-parser.c:6067 +#: c/c-parser.c:6148 c/c-parser.c:6326 c/c-parser.c:6344 c/c-parser.c:6365 +#: c/c-parser.c:6398 c/c-parser.c:6499 c/c-parser.c:6568 c/c-parser.c:6696 +#: c/c-parser.c:6719 c/c-parser.c:6740 c/c-parser.c:6897 c/c-parser.c:7200 +#: c/c-parser.c:7736 c/c-parser.c:7757 c/c-parser.c:7965 c/c-parser.c:8018 +#: c/c-parser.c:8391 c/c-parser.c:8844 c/c-parser.c:8865 c/c-parser.c:8943 +#: c/c-parser.c:9072 c/c-parser.c:9209 c/c-parser.c:9292 c/c-parser.c:9870 +#: c/c-parser.c:9987 c/c-parser.c:10029 c/c-parser.c:10775 cp/parser.c:20816 +#: cp/parser.c:23004 #, gcc-internal-format msgid "expected %<)%>" msgstr "" -#: c/c-parser.c:3103 c/c-parser.c:3919 c/c-parser.c:3953 c/c-parser.c:5239 -#: c/c-parser.c:6506 c/c-parser.c:6775 c/c-parser.c:6891 c/c-parser.c:10686 -#: c/c-parser.c:10688 cp/parser.c:22344 +#: c/c-parser.c:3095 c/c-parser.c:3911 c/c-parser.c:3945 c/c-parser.c:5228 +#: c/c-parser.c:6491 c/c-parser.c:6760 c/c-parser.c:6878 c/c-parser.c:10678 +#: c/c-parser.c:10680 cp/parser.c:22968 #, gcc-internal-format msgid "expected %<]%>" msgstr "" -#: c/c-parser.c:3279 +#: c/c-parser.c:3271 msgid "expected %<;%>, %<,%> or %<)%>" msgstr "" -#: c/c-parser.c:3782 c/c-parser.c:9834 cp/parser.c:22338 cp/parser.c:24155 +#: c/c-parser.c:3774 c/c-parser.c:9826 cp/parser.c:22962 cp/parser.c:24780 #, gcc-internal-format msgid "expected %<}%>" msgstr "" -#: c/c-parser.c:4072 c/c-parser.c:7993 c/c-parser.c:10280 c/c-parser.c:2326 -#: c/c-parser.c:2529 c/c-parser.c:7547 cp/parser.c:14461 cp/parser.c:22341 +#: c/c-parser.c:4064 c/c-parser.c:7985 c/c-parser.c:10272 c/c-parser.c:2318 +#: c/c-parser.c:2521 c/c-parser.c:7539 cp/parser.c:14644 cp/parser.c:22965 #, gcc-internal-format msgid "expected %<{%>" msgstr "" -#: c/c-parser.c:4291 c/c-parser.c:4300 c/c-parser.c:5143 c/c-parser.c:5484 -#: c/c-parser.c:7758 c/c-parser.c:8133 c/c-parser.c:8190 c/c-parser.c:9206 -#: cp/parser.c:22374 cp/parser.c:23376 +#: c/c-parser.c:4283 c/c-parser.c:4292 c/c-parser.c:5135 c/c-parser.c:5469 +#: c/c-parser.c:7750 c/c-parser.c:8125 c/c-parser.c:8182 c/c-parser.c:9198 +#: cp/parser.c:22998 cp/parser.c:24001 #, gcc-internal-format msgid "expected %<:%>" msgstr "" -#: c/c-parser.c:4839 cp/parser.c:22268 +#: c/c-parser.c:4831 cp/parser.c:22892 #, gcc-internal-format msgid "expected %" msgstr "" -#: c/c-parser.c:6294 +#: c/c-parser.c:6279 msgid "expected %<.%>" msgstr "" -#: c/c-parser.c:7218 c/c-parser.c:7250 c/c-parser.c:7490 cp/parser.c:23939 -#: cp/parser.c:24013 +#: c/c-parser.c:7210 c/c-parser.c:7242 c/c-parser.c:7482 cp/parser.c:24564 +#: cp/parser.c:24638 #, gcc-internal-format msgid "expected %<@end%>" msgstr "" -#: c/c-parser.c:7907 cp/parser.c:22359 +#: c/c-parser.c:7899 cp/parser.c:22983 #, gcc-internal-format msgid "expected %<>%>" msgstr "" -#: c/c-parser.c:9304 cp/parser.c:22383 +#: c/c-parser.c:9296 cp/parser.c:23007 #, gcc-internal-format msgid "expected %<,%> or %<)%>" msgstr "" -#: c/c-parser.c:9557 c/c-parser.c:9588 c/c-parser.c:9824 c/c-parser.c:9976 -#: c/c-parser.c:3976 cp/parser.c:22362 +#: c/c-parser.c:9549 c/c-parser.c:9580 c/c-parser.c:9816 c/c-parser.c:9968 +#: c/c-parser.c:3968 cp/parser.c:22986 #, gcc-internal-format msgid "expected %<=%>" msgstr "" -#: c/c-parser.c:10337 c/c-parser.c:10327 cp/parser.c:26796 +#: c/c-parser.c:10329 c/c-parser.c:10319 cp/parser.c:27421 #, gcc-internal-format msgid "expected %<#pragma omp section%> or %<}%>" msgstr "" -#: c/c-parser.c:10674 cp/parser.c:22347 +#: c/c-parser.c:10666 cp/parser.c:22971 #, gcc-internal-format msgid "expected %<[%>" msgstr "" -#: c/c-typeck.c:6524 +#: c/c-typeck.c:6516 msgid "(anonymous)" msgstr "" -#: cp/call.c:8441 +#: cp/call.c:8680 msgid "candidate 1:" msgstr "" -#: cp/call.c:8442 +#: cp/call.c:8681 msgid "candidate 2:" msgstr "" -#: cp/cxx-pretty-print.c:172 objc/objc-act.c:6172 +#: cp/cxx-pretty-print.c:171 objc/objc-act.c:6176 msgid "" msgstr "" -#: cp/cxx-pretty-print.c:2144 +#: cp/cxx-pretty-print.c:2149 msgid "template-parameter-" msgstr "" -#: cp/decl2.c:727 +#: cp/decl2.c:729 msgid "candidates are: %+#D" msgstr "" -#: cp/decl2.c:729 +#: cp/decl2.c:731 msgid "candidate is: %+#D" msgstr "" -#: cp/error.c:303 +#: cp/error.c:301 msgid "" msgstr "" -#: cp/error.c:393 +#: cp/error.c:391 msgid "" msgstr "" -#: cp/error.c:395 +#: cp/error.c:393 msgid "" msgstr "" -#: cp/error.c:555 +#: cp/error.c:553 msgid "" msgstr "" -#: cp/error.c:658 +#: cp/error.c:656 #, c-format msgid "" msgstr "" #. A lambda's "type" is essentially its signature. -#: cp/error.c:663 +#: cp/error.c:661 msgid "" msgstr "" -#: cp/error.c:907 +#: cp/error.c:905 #, c-format msgid "(static initializers for %s)" msgstr "" -#: cp/error.c:909 +#: cp/error.c:907 #, c-format msgid "(static destructors for %s)" msgstr "" -#: cp/error.c:1008 +#: cp/error.c:1006 msgid "vtable for " msgstr "" -#: cp/error.c:1020 +#: cp/error.c:1018 msgid " " msgstr "" -#: cp/error.c:1035 +#: cp/error.c:1033 msgid "{anonymous}" msgstr "" -#: cp/error.c:1037 +#: cp/error.c:1035 msgid "(anonymous namespace)" msgstr "" -#: cp/error.c:1135 +#: cp/error.c:1133 msgid "