Submitted By: Jim Gifford (jim at cross-lfs dot org) Date: 07-03-2009 Initial Package Version: 4.4.0 Origin: Upstream Upstream Status: Applied Description: This is a branch update for gcc-4.4.0, and should be rechecked periodically. This patch was made from Revision # 149203. diff -Naur gcc-4.4.0.orig/configure gcc-4.4.0/configure --- gcc-4.4.0.orig/configure 2009-04-21 02:08:08.000000000 -0700 +++ gcc-4.4.0/configure 2009-04-24 21:10:29.000000000 -0700 @@ -272,7 +272,7 @@ PACKAGE_BUGREPORT= ac_unique_file="move-if-change" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TOPLEVEL_CONFIGURE_ARGUMENTS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc ppllibs pplinc clooglibs clooginc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR GCC_SHLIB_SUBDIR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TOPLEVEL_CONFIGURE_ARGUMENTS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc extra_mpfr_configure_flags ppllibs pplinc clooglibs clooginc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR GCC_SHLIB_SUBDIR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS' ac_subst_files='serialization_dependencies host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag' ac_pwd=`pwd` @@ -4596,6 +4596,7 @@ if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs" gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc" + extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp' # Do not test the gmp version. Assume that it is sufficient, since # it is in the source tree, and the library has not been built yet # but it would be included on the link line in the version check below @@ -4810,6 +4811,7 @@ + # Allow host libstdc++ to be specified for static linking with PPL. # Check whether --with-host-libstdcxx or --without-host-libstdcxx was given. @@ -13251,6 +13253,7 @@ s,@do_compare@,$do_compare,;t t s,@gmplibs@,$gmplibs,;t t s,@gmpinc@,$gmpinc,;t t +s,@extra_mpfr_configure_flags@,$extra_mpfr_configure_flags,;t t s,@ppllibs@,$ppllibs,;t t s,@pplinc@,$pplinc,;t t s,@clooglibs@,$clooglibs,;t t diff -Naur gcc-4.4.0.orig/configure.ac gcc-4.4.0/configure.ac --- gcc-4.4.0.orig/configure.ac 2009-04-14 01:57:33.000000000 -0700 +++ gcc-4.4.0/configure.ac 2009-04-24 21:10:29.000000000 -0700 @@ -1250,6 +1250,7 @@ if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs" gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc" + extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp' # Do not test the gmp version. Assume that it is sufficient, since # it is in the source tree, and the library has not been built yet # but it would be included on the link line in the version check below @@ -1314,6 +1315,7 @@ # Flags needed for both GMP and/or MPFR AC_SUBST(gmplibs) AC_SUBST(gmpinc) +AC_SUBST(extra_mpfr_configure_flags) # Allow host libstdc++ to be specified for static linking with PPL. AC_ARG_WITH(host-libstdcxx, [ --with-host-libstdcxx=L Use linker arguments L to link with libstdc++ diff -Naur gcc-4.4.0.orig/contrib/dg-extract-results.sh gcc-4.4.0/contrib/dg-extract-results.sh --- gcc-4.4.0.orig/contrib/dg-extract-results.sh 2008-10-24 02:00:54.000000000 -0700 +++ gcc-4.4.0/contrib/dg-extract-results.sh 2009-04-27 12:13:16.000000000 -0700 @@ -6,7 +6,7 @@ # The resulting file can be used with test result comparison scripts for # results from tests that were run in parallel. See usage() below. -# Copyright (C) 2008 Free Software Foundation +# Copyright (C) 2008, 2009 Free Software Foundation # Contributed by Janis Johnson # # This file is part of GCC. @@ -148,26 +148,28 @@ ACATS_AWK=${TMP}/acats.awk cat < $ACATS_AWK BEGIN { - print_prologue=1; chapter=""; insummary=0 + print_prologue=1; curfile=""; insummary=0 passcnt=0; failcnt=0; unsupcnt=0; failures="" } -/=== acats configuration ===/ { +/^[ \t]*=== acats configuration ===/ { insummary=0 if (print_prologue) print next } -/=== acats tests ===/ { +/^[ \t]*=== acats tests ===/ { if (print_prologue) print print_prologue=0 next } /^Running chapter / { - chapter=\$3 - print > "${TMP}/chapter-"chapter + if (curfile) close (curfile) + curfile="${TMP}/chapter-"\$3 + print >> curfile next } -/=== acats Summary ===/ { - chapter="" +/^[ \t]*=== acats Summary ===/ { + if (curfile) close (curfile) + curfile="" insummary=1 next } @@ -182,7 +184,7 @@ } { if (print_prologue) { print; next } - if (chapter) print > "${TMP}/chapter-"chapter + if (curfile) print >> curfile } END { system ("cat ${TMP}/chapter-*") @@ -194,6 +196,7 @@ } EOF + rm -f ${TMP}/chapter-* $AWK -f $ACATS_AWK $SUM_FILES exit 0 fi @@ -270,6 +273,7 @@ expfileno=1 cnt=0 print_using=0 + need_close=0 } /^EXPFILE: / { expfiles[expfileno] = \$2 @@ -287,8 +291,10 @@ /^Running / { print_using=0 if (variant == curvar) { + if (need_close) close(curfile) curfile="${TMP}/list"expfilesr[\$2] expfileseen[\$2]=expfileseen[\$2] + 1 + need_close=0 testname="00" next } @@ -303,11 +309,12 @@ /^$/ { if ("$MODE" == "sum") next } { if (variant == curvar && curfile) { if ("$MODE" == "sum") { - printf "%s %08d|", testname, cnt > curfile + printf "%s %08d|", testname, cnt >> curfile cnt = cnt + 1 } filewritten[curfile]=1 - print > curfile + need_close=1 + print >> curfile } else next } diff -Naur gcc-4.4.0.orig/contrib/test_summary gcc-4.4.0/contrib/test_summary --- gcc-4.4.0.orig/contrib/test_summary 2007-02-09 16:30:46.000000000 -0800 +++ gcc-4.4.0/contrib/test_summary 2009-06-20 10:03:06.000000000 -0700 @@ -1,6 +1,7 @@ #! /bin/sh -# (C) 1998, 1999, 2000, 2002 Free Software Foundation +# (C) 1998, 1999, 2000, 2002, 2003, 2004, 2007, 2009 +# Free Software Foundation # Originally by Alexandre Oliva # This script is Free Software, and it can be copied, distributed and @@ -106,9 +107,11 @@ sub(/^s,@TOPLEVEL_CONFIGURE_ARGUMENTS@,/, "", configflags); srcdir = configflags; sub(/\/configure .*/, "", srcdir); - printf "LAST_UPDATED: "; - system("tail -1 " srcdir "/LAST_UPDATED"); - print ""; + if ( system("test -f " srcdir "/LAST_UPDATED") == 0 ) { + printf "LAST_UPDATED: "; + system("tail -1 " srcdir "/LAST_UPDATED"); + print ""; + } sub(/^[^ ]*\/configure */, " ", configflags); sub(/,;t t $/, " ", configflags); diff -Naur gcc-4.4.0.orig/gcc/ada/gcc-interface/Makefile.in gcc-4.4.0/gcc/ada/gcc-interface/Makefile.in --- gcc-4.4.0.orig/gcc/ada/gcc-interface/Makefile.in 2009-02-28 09:29:55.000000000 -0800 +++ gcc-4.4.0/gcc/ada/gcc-interface/Makefile.in 2009-06-18 07:15:32.000000000 -0700 @@ -1103,7 +1103,7 @@ endif ifeq ($(strip $(filter-out ibm aix%,$(manu) $(osys))),) - LIBGNAT_TARGET_PAIRS = \ + LIBGNAT_TARGET_PAIRS_COMMON = \ a-intnam.ads. -- +-- -- +-- GNAT was originally developed by the GNAT team at New York University. -- +-- Extensive contributions were provided by Ada Core Technologies Inc. -- +-- -- +------------------------------------------------------------------------------ + +package System is + pragma Pure; + -- Note that we take advantage of the implementation permission to make + -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada + -- 2005, this is Pure in any case (AI-362). + + type Name is (SYSTEM_NAME_GNAT); + System_Name : constant Name := SYSTEM_NAME_GNAT; + + -- System-Dependent Named Numbers + + Min_Int : constant := Long_Long_Integer'First; + Max_Int : constant := Long_Long_Integer'Last; + + Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size; + Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1; + + Max_Base_Digits : constant := Long_Long_Float'Digits; + Max_Digits : constant := Long_Long_Float'Digits; + + Max_Mantissa : constant := 63; + Fine_Delta : constant := 2.0 ** (-Max_Mantissa); + + Tick : constant := 0.01; + + -- Storage-related Declarations + + type Address is private; + pragma Preelaborable_Initialization (Address); + Null_Address : constant Address; + + Storage_Unit : constant := 8; + Word_Size : constant := 64; + Memory_Size : constant := 2 ** 64; + + -- Address comparison + + function "<" (Left, Right : Address) return Boolean; + function "<=" (Left, Right : Address) return Boolean; + function ">" (Left, Right : Address) return Boolean; + function ">=" (Left, Right : Address) return Boolean; + function "=" (Left, Right : Address) return Boolean; + + pragma Import (Intrinsic, "<"); + pragma Import (Intrinsic, "<="); + pragma Import (Intrinsic, ">"); + pragma Import (Intrinsic, ">="); + pragma Import (Intrinsic, "="); + + -- Other System-Dependent Declarations + + type Bit_Order is (High_Order_First, Low_Order_First); + Default_Bit_Order : constant Bit_Order := High_Order_First; + pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning + + -- Priority-related Declarations (RM D.1) + + -- 0 .. 126 corresponds to the system priority range 1 .. 127. + -- + -- If the scheduling policy is SCHED_FIFO or SCHED_RR the runtime makes use + -- of the entire range provided by the system. + -- + -- If the scheduling policy is SCHED_OTHER the only valid system priority + -- is 1 and that is the only value ever passed to the system, regardless of + -- how priorities are set by user programs. + + Max_Priority : constant Positive := 125; + Max_Interrupt_Priority : constant Positive := 126; + + subtype Any_Priority is Integer range 0 .. 126; + subtype Priority is Any_Priority range 0 .. 125; + subtype Interrupt_Priority is Any_Priority range 126 .. 126; + + Default_Priority : constant Priority := + (Priority'First + Priority'Last) / 2; + +private + + type Address is mod Memory_Size; + Null_Address : constant Address := 0; + + -------------------------------------- + -- System Implementation Parameters -- + -------------------------------------- + + -- These parameters provide information about the target that is used + -- by the compiler. They are in the private part of System, where they + -- can be accessed using the special circuitry in the Targparm unit + -- whose source should be consulted for more detailed descriptions + -- of the individual switch values. + + Backend_Divide_Checks : constant Boolean := False; + Backend_Overflow_Checks : constant Boolean := True; + Command_Line_Args : constant Boolean := True; + Configurable_Run_Time : constant Boolean := False; + Denorm : constant Boolean := True; + Duration_32_Bits : constant Boolean := False; + Exit_Status_Supported : constant Boolean := True; + Fractional_Fixed_Ops : constant Boolean := False; + Frontend_Layout : constant Boolean := False; + Machine_Overflows : constant Boolean := False; + Machine_Rounds : constant Boolean := True; + Preallocated_Stacks : constant Boolean := False; + Signed_Zeros : constant Boolean := True; + Stack_Check_Default : constant Boolean := False; + Stack_Check_Probes : constant Boolean := True; + Stack_Check_Limits : constant Boolean := False; + Support_64_Bit_Divides : constant Boolean := True; + Support_Aggregates : constant Boolean := True; + Support_Composite_Assign : constant Boolean := True; + Support_Composite_Compare : constant Boolean := True; + Support_Long_Shifts : constant Boolean := True; + Always_Compatible_Rep : constant Boolean := True; + Suppress_Standard_Library : constant Boolean := False; + Use_Ada_Main_Program_Name : constant Boolean := False; + ZCX_By_Default : constant Boolean := False; + GCC_ZCX_Support : constant Boolean := True; -- Post GCC 4 only + +end System; diff -Naur gcc-4.4.0.orig/gcc/alias.c gcc-4.4.0/gcc/alias.c --- gcc-4.4.0.orig/gcc/alias.c 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/alias.c 2009-04-27 04:55:13.000000000 -0700 @@ -1438,15 +1438,16 @@ return x; return 0; + case LO_SUM: + /* The standard form is (lo_sum reg sym) so look only at the + second operand. */ + return find_base_term (XEXP (x, 1)); + case CONST: x = XEXP (x, 0); if (GET_CODE (x) != PLUS && GET_CODE (x) != MINUS) return 0; /* Fall through. */ - case LO_SUM: - /* The standard form is (lo_sum reg sym) so look only at the - second operand. */ - return find_base_term (XEXP (x, 1)); case PLUS: case MINUS: { @@ -2250,14 +2251,13 @@ Variant of true_dependence which assumes MEM has already been canonicalized (hence we no longer do that here). The mem_addr argument has been added, since true_dependence computed - this value prior to canonicalizing. */ + this value prior to canonicalizing. + If x_addr is non-NULL, it is used in preference of XEXP (x, 0). */ int canon_true_dependence (const_rtx mem, enum machine_mode mem_mode, rtx mem_addr, - const_rtx x, bool (*varies) (const_rtx, bool)) + const_rtx x, rtx x_addr, bool (*varies) (const_rtx, bool)) { - rtx x_addr; - if (MEM_VOLATILE_P (x) && MEM_VOLATILE_P (mem)) return 1; @@ -2283,7 +2283,8 @@ if (nonoverlapping_memrefs_p (x, mem)) return 0; - x_addr = get_addr (XEXP (x, 0)); + if (! x_addr) + x_addr = get_addr (XEXP (x, 0)); if (! base_alias_check (x_addr, mem_addr, GET_MODE (x), mem_mode)) return 0; diff -Naur gcc-4.4.0.orig/gcc/builtins.c gcc-4.4.0/gcc/builtins.c --- gcc-4.4.0.orig/gcc/builtins.c 2009-03-30 10:42:27.000000000 -0700 +++ gcc-4.4.0/gcc/builtins.c 2009-05-29 08:47:31.000000000 -0700 @@ -4176,7 +4176,7 @@ arg1_rtx = get_memory_rtx (arg1, len); arg2_rtx = get_memory_rtx (arg2, len); - arg3_rtx = expand_normal (len); + arg3_rtx = expand_normal (fold_convert (sizetype, len)); /* Set MEM_SIZE as appropriate. */ if (GET_CODE (arg3_rtx) == CONST_INT) diff -Naur gcc-4.4.0.orig/gcc/cfgrtl.c gcc-4.4.0/gcc/cfgrtl.c --- gcc-4.4.0.orig/gcc/cfgrtl.c 2008-12-12 13:16:09.000000000 -0800 +++ gcc-4.4.0/gcc/cfgrtl.c 2009-05-21 16:17:37.000000000 -0700 @@ -53,6 +53,7 @@ #include "toplev.h" #include "tm_p.h" #include "obstack.h" +#include "insn-attr.h" #include "insn-config.h" #include "cfglayout.h" #include "expr.h" @@ -427,13 +428,27 @@ return 0; } +static unsigned int +rest_of_pass_free_cfg (void) +{ +#ifdef DELAY_SLOTS + /* The resource.c machinery uses DF but the CFG isn't guaranteed to be + valid at that point so it would be too late to call df_analyze. */ + if (optimize > 0 && flag_delayed_branch) + df_analyze (); +#endif + + free_bb_for_insn (); + return 0; +} + struct rtl_opt_pass pass_free_cfg = { { RTL_PASS, NULL, /* name */ NULL, /* gate */ - free_bb_for_insn, /* execute */ + rest_of_pass_free_cfg, /* execute */ NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ diff -Naur gcc-4.4.0.orig/gcc/config/arm/arm.c gcc-4.4.0/gcc/config/arm/arm.c --- gcc-4.4.0.orig/gcc/config/arm/arm.c 2009-02-24 23:18:01.000000000 -0800 +++ gcc-4.4.0/gcc/config/arm/arm.c 2009-06-02 00:18:16.000000000 -0700 @@ -16883,7 +16883,7 @@ if (push && pushed_words && dwarf2out_do_frame ()) { - char *l = dwarf2out_cfi_label (); + char *l = dwarf2out_cfi_label (false); int pushed_mask = real_regs; *cfa_offset += pushed_words * 4; @@ -17781,7 +17781,7 @@ the stack pointer. */ if (dwarf2out_do_frame ()) { - char *l = dwarf2out_cfi_label (); + char *l = dwarf2out_cfi_label (false); cfa_offset = cfa_offset + crtl->args.pretend_args_size; dwarf2out_def_cfa (l, SP_REGNUM, cfa_offset); @@ -17830,7 +17830,7 @@ if (dwarf2out_do_frame ()) { - char *l = dwarf2out_cfi_label (); + char *l = dwarf2out_cfi_label (false); cfa_offset = cfa_offset + 16; dwarf2out_def_cfa (l, SP_REGNUM, cfa_offset); diff -Naur gcc-4.4.0.orig/gcc/config/arm/arm.h gcc-4.4.0/gcc/config/arm/arm.h --- gcc-4.4.0.orig/gcc/config/arm/arm.h 2009-03-17 13:18:21.000000000 -0700 +++ gcc-4.4.0/gcc/config/arm/arm.h 2009-04-22 17:31:13.000000000 -0700 @@ -2244,7 +2244,9 @@ #define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL) \ if (TARGET_32BIT) \ ARM_GO_IF_MODE_DEPENDENT_ADDRESS (ADDR, LABEL) - + +/* Define this for compatibility reasons. */ +#define HANDLE_PRAGMA_PACK_PUSH_POP /* Specify the machine mode that this machine uses for the index in the tablejump instruction. */ diff -Naur gcc-4.4.0.orig/gcc/config/arm/arm.md gcc-4.4.0/gcc/config/arm/arm.md --- gcc-4.4.0.orig/gcc/config/arm/arm.md 2009-04-04 05:25:06.000000000 -0700 +++ gcc-4.4.0/gcc/config/arm/arm.md 2009-05-16 06:28:27.000000000 -0700 @@ -8214,7 +8214,7 @@ (define_insn "cstoresi_nltu_thumb1" [(set (match_operand:SI 0 "s_register_operand" "=l,l") - (neg:SI (gtu:SI (match_operand:SI 1 "s_register_operand" "l,*h") + (neg:SI (ltu:SI (match_operand:SI 1 "s_register_operand" "l,*h") (match_operand:SI 2 "thumb1_cmp_operand" "lI*h,*r"))))] "TARGET_THUMB1" "cmp\\t%1, %2\;sbc\\t%0, %0, %0" diff -Naur gcc-4.4.0.orig/gcc/config/i386/driver-i386.c gcc-4.4.0/gcc/config/i386/driver-i386.c --- gcc-4.4.0.orig/gcc/config/i386/driver-i386.c 2008-11-04 05:29:43.000000000 -0800 +++ gcc-4.4.0/gcc/config/i386/driver-i386.c 2009-05-27 07:54:00.000000000 -0700 @@ -336,7 +336,11 @@ enum vendor_signatures { SIG_INTEL = 0x756e6547 /* Genu */, - SIG_AMD = 0x68747541 /* Auth */, + SIG_AMD = 0x68747541 /* Auth */ +}; + +enum processor_signatures +{ SIG_GEODE = 0x646f6547 /* Geod */ }; @@ -374,6 +378,9 @@ /* Extended features */ unsigned int has_lahf_lm = 0, has_sse4a = 0; unsigned int has_longmode = 0, has_3dnowp = 0, has_3dnow = 0; + unsigned int has_sse4_1 = 0, has_sse4_2 = 0; + unsigned int has_popcnt = 0, has_aes = 0, has_avx = 0; + unsigned int has_pclmul = 0; bool arch; @@ -397,7 +404,13 @@ has_sse3 = ecx & bit_SSE3; has_ssse3 = ecx & bit_SSSE3; + has_sse4_1 = ecx & bit_SSE4_1; + has_sse4_2 = ecx & bit_SSE4_2; + has_avx = ecx & bit_AVX; has_cmpxchg16b = ecx & bit_CMPXCHG16B; + has_popcnt = ecx & bit_POPCNT; + has_aes = ecx & bit_AES; + has_pclmul = ecx & bit_PCLMUL; has_cmpxchg8b = edx & bit_CMPXCHG8B; has_cmov = edx & bit_CMOV; @@ -433,19 +446,27 @@ if (vendor == SIG_AMD) { - processor = PROCESSOR_PENTIUM; + unsigned int name; - if (has_mmx) - processor = PROCESSOR_K6; - if (has_3dnowp) - processor = PROCESSOR_ATHLON; - if (has_sse2 || has_longmode) - processor = PROCESSOR_K8; - if (has_sse4a) + /* Detect geode processor by its processor signature. */ + if (ext_level > 0x80000001) + __cpuid (0x80000002, name, ebx, ecx, edx); + else + name = 0; + + if (name == SIG_GEODE) + processor = PROCESSOR_GEODE; + else if (has_sse4a) processor = PROCESSOR_AMDFAM10; + else if (has_sse2 || has_longmode) + processor = PROCESSOR_K8; + else if (has_3dnowp) + processor = PROCESSOR_ATHLON; + else if (has_mmx) + processor = PROCESSOR_K6; + else + processor = PROCESSOR_PENTIUM; } - else if (vendor == SIG_GEODE) - processor = PROCESSOR_GEODE; else { switch (family) @@ -576,6 +597,18 @@ options = concat (options, "-mcx16 ", NULL); if (has_lahf_lm) options = concat (options, "-msahf ", NULL); + if (has_aes) + options = concat (options, "-maes ", NULL); + if (has_pclmul) + options = concat (options, "-mpclmul ", NULL); + if (has_popcnt) + options = concat (options, "-mpopcnt ", NULL); + if (has_avx) + options = concat (options, "-mavx ", NULL); + else if (has_sse4_2) + options = concat (options, "-msse4.2 ", NULL); + else if (has_sse4_1) + options = concat (options, "-msse4.1 ", NULL); } done: diff -Naur gcc-4.4.0.orig/gcc/config/i386/i386.c gcc-4.4.0/gcc/config/i386/i386.c --- gcc-4.4.0.orig/gcc/config/i386/i386.c 2009-04-14 13:27:30.000000000 -0700 +++ gcc-4.4.0/gcc/config/i386/i386.c 2009-05-25 05:13:38.000000000 -0700 @@ -5357,7 +5357,10 @@ case X86_64_SSE_CLASS: case X86_64_SSESF_CLASS: case X86_64_SSEDF_CLASS: - return gen_reg_or_parallel (mode, orig_mode, SSE_REGNO (sse_regno)); + if (mode != BLKmode) + return gen_reg_or_parallel (mode, orig_mode, + SSE_REGNO (sse_regno)); + break; case X86_64_X87_CLASS: case X86_64_COMPLEX_X87_CLASS: return gen_rtx_REG (mode, FIRST_STACK_REG); @@ -7301,10 +7304,12 @@ cfun->machine->accesses_prev_frame = 1; } -#if (defined(HAVE_GAS_HIDDEN) && (SUPPORTS_ONE_ONLY - 0)) || TARGET_MACHO -# define USE_HIDDEN_LINKONCE 1 -#else -# define USE_HIDDEN_LINKONCE 0 +#ifndef USE_HIDDEN_LINKONCE +# if (defined(HAVE_GAS_HIDDEN) && (SUPPORTS_ONE_ONLY - 0)) || TARGET_MACHO +# define USE_HIDDEN_LINKONCE 1 +# else +# define USE_HIDDEN_LINKONCE 0 +# endif #endif static int pic_labels_used; diff -Naur gcc-4.4.0.orig/gcc/config/i386/i386.h gcc-4.4.0/gcc/config/i386/i386.h --- gcc-4.4.0.orig/gcc/config/i386/i386.h 2009-04-09 16:23:07.000000000 -0700 +++ gcc-4.4.0/gcc/config/i386/i386.h 2009-06-18 14:21:42.000000000 -0700 @@ -1475,6 +1475,7 @@ || ((CLASS) == AD_REGS) \ || ((CLASS) == SIREG) \ || ((CLASS) == DIREG) \ + || ((CLASS) == SSE_FIRST_REG) \ || ((CLASS) == FP_TOP_REG) \ || ((CLASS) == FP_SECOND_REG)) diff -Naur gcc-4.4.0.orig/gcc/config/i386/linux.h gcc-4.4.0/gcc/config/i386/linux.h --- gcc-4.4.0.orig/gcc/config/i386/linux.h 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/config/i386/linux.h 2009-05-21 06:21:30.000000000 -0700 @@ -153,7 +153,9 @@ fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ /* Make sure that we have at least 8 byte alignment if > 8 byte \ alignment is preferred. */ \ - if ((LOG) > 3 && (1 << (LOG)) > ((MAX_SKIP) + 1)) \ + if ((LOG) > 3 \ + && (1 << (LOG)) > ((MAX_SKIP) + 1) \ + && (MAX_SKIP) >= 7) \ fprintf ((FILE), "\t.p2align 3\n"); \ } \ } \ diff -Naur gcc-4.4.0.orig/gcc/config/i386/sol2.h gcc-4.4.0/gcc/config/i386/sol2.h --- gcc-4.4.0.orig/gcc/config/i386/sol2.h 2008-09-09 09:17:37.000000000 -0700 +++ gcc-4.4.0/gcc/config/i386/sol2.h 2009-05-25 05:13:38.000000000 -0700 @@ -1,6 +1,6 @@ /* Target definitions for GCC for Intel 80386 running Solaris 2 Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2007, 2008 Free Software Foundation, Inc. + 2004, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Fred Fish (fnf@cygnus.com). This file is part of GCC. @@ -112,3 +112,9 @@ /* We do not need NT_VERSION notes. */ #undef X86_FILE_START_VERSION_DIRECTIVE #define X86_FILE_START_VERSION_DIRECTIVE false + +/* Only recent versions of Solaris 11 ld properly support hidden .gnu.linkonce + sections, so don't use them. */ +#ifndef TARGET_GNU_LD +#define USE_HIDDEN_LINKONCE 0 +#endif diff -Naur gcc-4.4.0.orig/gcc/config/i386/sse.md gcc-4.4.0/gcc/config/i386/sse.md --- gcc-4.4.0.orig/gcc/config/i386/sse.md 2009-03-12 10:43:14.000000000 -0700 +++ gcc-4.4.0/gcc/config/i386/sse.md 2009-05-06 06:20:41.000000000 -0700 @@ -978,7 +978,7 @@ (match_operand:AVXMODEF2P 2 "nonimmediate_operand" "xm")))] "AVX_VEC_FLOAT_MODE_P (mode) && flag_finite_math_only && ix86_binary_operator_ok (, mode, operands)" - "vp\t{%2, %1, %0|%0, %1, %2}" + "vp\t{%2, %1, %0|%0, %1, %2}" [(set_attr "type" "sseadd") (set_attr "prefix" "vex") (set_attr "mode" "")]) diff -Naur gcc-4.4.0.orig/gcc/config/i386/x86-64.h gcc-4.4.0/gcc/config/i386/x86-64.h --- gcc-4.4.0.orig/gcc/config/i386/x86-64.h 2009-04-09 16:23:07.000000000 -0700 +++ gcc-4.4.0/gcc/config/i386/x86-64.h 2009-05-21 06:21:30.000000000 -0700 @@ -74,7 +74,9 @@ fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ /* Make sure that we have at least 8 byte alignment if > 8 byte \ alignment is preferred. */ \ - if ((LOG) > 3 && (1 << (LOG)) > ((MAX_SKIP) + 1)) \ + if ((LOG) > 3 \ + && (1 << (LOG)) > ((MAX_SKIP) + 1) \ + && (MAX_SKIP) >= 7) \ fprintf ((FILE), "\t.p2align 3\n"); \ } \ } \ diff -Naur gcc-4.4.0.orig/gcc/config/m32c/m32c.c gcc-4.4.0/gcc/config/m32c/m32c.c --- gcc-4.4.0.orig/gcc/config/m32c/m32c.c 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/config/m32c/m32c.c 2009-05-04 16:53:28.000000000 -0700 @@ -417,6 +417,9 @@ } else target_memregs = 16; + + if (TARGET_A24) + flag_ivopts = 0; } /* Defining data structures for per-function information */ @@ -2043,6 +2046,31 @@ return 1; } + /* If we see an RTX like (subreg:PSI (reg:SI ...)) we need to reload + the subreg. We need to check for PLUS and non-PLUS cases. */ + + if (GET_CODE (*x) == SUBREG + && GET_MODE (XEXP (*x, 0)) == SImode) + { + if (type == RELOAD_OTHER) + type = RELOAD_FOR_OTHER_ADDRESS; + push_reload (*x, NULL_RTX, x, NULL, + A_REGS, Pmode, VOIDmode, 0, 0, opnum, + type); + return 1; + } + if (GET_CODE (*x) == PLUS + && GET_CODE (XEXP (*x, 0)) == SUBREG + && GET_MODE (XEXP (XEXP (*x, 0), 0)) == SImode) + { + if (type == RELOAD_OTHER) + type = RELOAD_FOR_OTHER_ADDRESS; + push_reload (XEXP (*x, 0), NULL_RTX, &(XEXP (*x, 0)), NULL, + A_REGS, Pmode, VOIDmode, 0, 0, opnum, + type); + return 1; + } + return 0; } diff -Naur gcc-4.4.0.orig/gcc/config/rs6000/rs6000-c.c gcc-4.4.0/gcc/config/rs6000/rs6000-c.c --- gcc-4.4.0.orig/gcc/config/rs6000/rs6000-c.c 2009-03-28 10:29:57.000000000 -0700 +++ gcc-4.4.0/gcc/config/rs6000/rs6000-c.c 2009-05-29 00:14:20.000000000 -0700 @@ -91,6 +91,7 @@ static GTY(()) tree pixel_keyword; static GTY(()) tree __bool_keyword; static GTY(()) tree bool_keyword; +static GTY(()) tree _Bool_keyword; /* Preserved across calls. */ static tree expand_bool_pixel; @@ -111,6 +112,9 @@ if (ident == C_CPP_HASHNODE (bool_keyword)) return C_CPP_HASHNODE (__bool_keyword); + if (ident == C_CPP_HASHNODE (_Bool_keyword)) + return C_CPP_HASHNODE (__bool_keyword); + return ident; } @@ -141,6 +145,9 @@ bool_keyword = get_identifier ("bool"); C_CPP_HASHNODE (bool_keyword)->flags |= NODE_CONDITIONAL; + + _Bool_keyword = get_identifier ("_Bool"); + C_CPP_HASHNODE (_Bool_keyword)->flags |= NODE_CONDITIONAL; } /* Called to decide whether a conditional macro should be expanded. @@ -295,6 +302,7 @@ builtin_define ("vector=vector"); builtin_define ("pixel=pixel"); builtin_define ("bool=bool"); + builtin_define ("_Bool=_Bool"); init_vector_keywords (); /* Enable context-sensitive macros. */ diff -Naur gcc-4.4.0.orig/gcc/config/s390/constraints.md gcc-4.4.0/gcc/config/s390/constraints.md --- gcc-4.4.0.orig/gcc/config/s390/constraints.md 2008-05-28 07:11:19.000000000 -0700 +++ gcc-4.4.0/gcc/config/s390/constraints.md 2009-04-24 07:51:17.000000000 -0700 @@ -129,13 +129,13 @@ (define_constraint "I" "An 8-bit constant (0..255)" (and (match_code "const_int") - (match_test "(unsigned int) ival <= 255"))) + (match_test "(unsigned HOST_WIDE_INT) ival <= 255"))) (define_constraint "J" "A 12-bit constant (0..4095)" (and (match_code "const_int") - (match_test "(unsigned int) ival <= 4095"))) + (match_test "(unsigned HOST_WIDE_INT) ival <= 4095"))) (define_constraint "K" diff -Naur gcc-4.4.0.orig/gcc/config/s390/s390.md gcc-4.4.0/gcc/config/s390/s390.md --- gcc-4.4.0.orig/gcc/config/s390/s390.md 2009-02-27 06:56:19.000000000 -0800 +++ gcc-4.4.0/gcc/config/s390/s390.md 2009-06-15 02:27:22.000000000 -0700 @@ -8750,7 +8750,7 @@ (define_insn "bswap2" [(set (match_operand:GPR 0 "register_operand" "=d, d") (bswap:GPR (match_operand:GPR 1 "nonimmediate_operand" " d,RT")))] - "" + "TARGET_CPU_ZARCH" "@ lrvr\t%0,%1 lrv\t%0,%1" diff -Naur gcc-4.4.0.orig/gcc/config/sh/sh.c gcc-4.4.0/gcc/config/sh/sh.c --- gcc-4.4.0.orig/gcc/config/sh/sh.c 2009-03-25 15:23:27.000000000 -0700 +++ gcc-4.4.0/gcc/config/sh/sh.c 2009-05-24 15:18:47.000000000 -0700 @@ -6908,6 +6908,8 @@ tmp = gen_frame_mem (Pmode, tmp); emit_insn (GEN_MOV (tmp, ra)); + /* Tell this store isn't dead. */ + emit_use (tmp); } /* Clear variables at function end. */ diff -Naur gcc-4.4.0.orig/gcc/config/sh/sh.md gcc-4.4.0/gcc/config/sh/sh.md --- gcc-4.4.0.orig/gcc/config/sh/sh.md 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/config/sh/sh.md 2009-06-02 17:10:00.000000000 -0700 @@ -3999,6 +3999,34 @@ [(set_attr "length" "4") (set_attr "type" "arith")]) +;; Expander for DImode shift left with SImode operations. + +(define_expand "ashldi3_std" + [(set (match_operand:DI 0 "arith_reg_dest" "=r") + (ashift:DI (match_operand:DI 1 "arith_reg_operand" "r") + (match_operand:DI 2 "const_int_operand" "n")))] + "TARGET_SH1 && INTVAL (operands[2]) < 32" + " +{ + int low_word = (TARGET_LITTLE_ENDIAN ? 0 : 1); + int high_word = (TARGET_LITTLE_ENDIAN ? 1 : 0); + rtx low_src = operand_subword (operands[1], low_word, 0, DImode); + rtx high_src = operand_subword (operands[1], high_word, 0, DImode); + rtx dst = gen_reg_rtx (DImode); + rtx low_dst = operand_subword (dst, low_word, 1, DImode); + rtx high_dst = operand_subword (dst, high_word, 1, DImode); + rtx tmp0, tmp1; + + tmp0 = gen_reg_rtx (SImode); + tmp1 = gen_reg_rtx (SImode); + emit_insn (gen_lshrsi3 (tmp0, low_src, GEN_INT (32 - INTVAL (operands[2])))); + emit_insn (gen_ashlsi3 (low_dst, low_src, operands[2])); + emit_insn (gen_ashlsi3 (tmp1, high_src, operands[2])); + emit_insn (gen_iorsi3 (high_dst, tmp0, tmp1)); + emit_move_insn (operands[0], dst); + DONE; +}") + (define_insn "ashldi3_media" [(set (match_operand:DI 0 "arith_reg_dest" "=r,r") (ashift:DI (match_operand:DI 1 "arith_reg_operand" "r,r") @@ -4031,8 +4059,19 @@ emit_insn (gen_ashldi3_media (operands[0], operands[1], operands[2])); DONE; } - if (GET_CODE (operands[2]) != CONST_INT - || INTVAL (operands[2]) != 1) + if (GET_CODE (operands[2]) == CONST_INT + && INTVAL (operands[2]) == 1) + { + emit_insn (gen_ashldi3_k (operands[0], operands[1])); + DONE; + } + else if (GET_CODE (operands[2]) == CONST_INT + && INTVAL (operands[2]) < 32) + { + emit_insn (gen_ashldi3_std (operands[0], operands[1], operands[2])); + DONE; + } + else FAIL; }") diff -Naur gcc-4.4.0.orig/gcc/config/spu/spu-builtins.h gcc-4.4.0/gcc/config/spu/spu-builtins.h --- gcc-4.4.0.orig/gcc/config/spu/spu-builtins.h 2007-08-02 03:49:31.000000000 -0700 +++ gcc-4.4.0/gcc/config/spu/spu-builtins.h 1969-12-31 16:00:00.000000000 -0800 @@ -1,119 +0,0 @@ -/* Copyright (C) 2006, 2007 Free Software Foundation, Inc. - - This file is free software; you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your option) - any later version. - - This file 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 - . */ - -/* built-ins */ - -enum spu_builtin_type_index -{ - SPU_BTI_END_OF_PARAMS, - - /* We create new type nodes for these. */ - SPU_BTI_V16QI, - SPU_BTI_V8HI, - SPU_BTI_V4SI, - SPU_BTI_V2DI, - SPU_BTI_V4SF, - SPU_BTI_V2DF, - SPU_BTI_UV16QI, - SPU_BTI_UV8HI, - SPU_BTI_UV4SI, - SPU_BTI_UV2DI, - - /* A 16-byte type. (Implemented with V16QI_type_node) */ - SPU_BTI_QUADWORD, - - /* These all correspond to intSI_type_node */ - SPU_BTI_7, - SPU_BTI_S7, - SPU_BTI_U7, - SPU_BTI_S10, - SPU_BTI_S10_4, - SPU_BTI_U14, - SPU_BTI_16, - SPU_BTI_S16, - SPU_BTI_S16_2, - SPU_BTI_U16, - SPU_BTI_U16_2, - SPU_BTI_U18, - - /* These correspond to the standard types */ - SPU_BTI_INTQI, - SPU_BTI_INTHI, - SPU_BTI_INTSI, - SPU_BTI_INTDI, - - SPU_BTI_UINTQI, - SPU_BTI_UINTHI, - SPU_BTI_UINTSI, - SPU_BTI_UINTDI, - - SPU_BTI_FLOAT, - SPU_BTI_DOUBLE, - - SPU_BTI_VOID, - SPU_BTI_PTR, - - SPU_BTI_MAX -}; - -#define V16QI_type_node (spu_builtin_types[SPU_BTI_V16QI]) -#define V8HI_type_node (spu_builtin_types[SPU_BTI_V8HI]) -#define V4SI_type_node (spu_builtin_types[SPU_BTI_V4SI]) -#define V2DI_type_node (spu_builtin_types[SPU_BTI_V2DI]) -#define V4SF_type_node (spu_builtin_types[SPU_BTI_V4SF]) -#define V2DF_type_node (spu_builtin_types[SPU_BTI_V2DF]) -#define unsigned_V16QI_type_node (spu_builtin_types[SPU_BTI_UV16QI]) -#define unsigned_V8HI_type_node (spu_builtin_types[SPU_BTI_UV8HI]) -#define unsigned_V4SI_type_node (spu_builtin_types[SPU_BTI_UV4SI]) -#define unsigned_V2DI_type_node (spu_builtin_types[SPU_BTI_UV2DI]) - -extern GTY(()) tree spu_builtin_types[SPU_BTI_MAX]; - -/* Some builtins require special handling. This enum differentiates. */ -enum spu_builtin_type { - B_INSN, - B_JUMP, - B_BISLED, - B_CALL, - B_HINT, - B_OVERLOAD, - B_INTERNAL -}; - -typedef enum { -#define DEF_BUILTIN(fcode, icode, name, type, params) fcode, -#include "spu-builtins.def" -#undef DEF_BUILTIN - NUM_SPU_BUILTINS -} spu_function_code; - -struct spu_builtin_description { - spu_function_code fcode; - enum insn_code icode; - const char *name; - enum spu_builtin_type type; - - /* The first element of parm is always the return type. The rest - * are a zero terminated list of parameters. */ - int parm[5]; - - tree fndecl; -}; - -extern GTY(()) struct spu_builtin_description spu_builtins[]; - - - diff -Naur gcc-4.4.0.orig/gcc/config/spu/spu.c gcc-4.4.0/gcc/config/spu/spu.c --- gcc-4.4.0.orig/gcc/config/spu/spu.c 2009-03-12 07:00:21.000000000 -0700 +++ gcc-4.4.0/gcc/config/spu/spu.c 2009-04-23 15:50:16.000000000 -0700 @@ -52,13 +52,79 @@ #include "machmode.h" #include "gimple.h" #include "tm-constrs.h" -#include "spu-builtins.h" #include "ddg.h" #include "sbitmap.h" #include "timevar.h" #include "df.h" /* Builtin types, data and prototypes. */ + +enum spu_builtin_type_index +{ + SPU_BTI_END_OF_PARAMS, + + /* We create new type nodes for these. */ + SPU_BTI_V16QI, + SPU_BTI_V8HI, + SPU_BTI_V4SI, + SPU_BTI_V2DI, + SPU_BTI_V4SF, + SPU_BTI_V2DF, + SPU_BTI_UV16QI, + SPU_BTI_UV8HI, + SPU_BTI_UV4SI, + SPU_BTI_UV2DI, + + /* A 16-byte type. (Implemented with V16QI_type_node) */ + SPU_BTI_QUADWORD, + + /* These all correspond to intSI_type_node */ + SPU_BTI_7, + SPU_BTI_S7, + SPU_BTI_U7, + SPU_BTI_S10, + SPU_BTI_S10_4, + SPU_BTI_U14, + SPU_BTI_16, + SPU_BTI_S16, + SPU_BTI_S16_2, + SPU_BTI_U16, + SPU_BTI_U16_2, + SPU_BTI_U18, + + /* These correspond to the standard types */ + SPU_BTI_INTQI, + SPU_BTI_INTHI, + SPU_BTI_INTSI, + SPU_BTI_INTDI, + + SPU_BTI_UINTQI, + SPU_BTI_UINTHI, + SPU_BTI_UINTSI, + SPU_BTI_UINTDI, + + SPU_BTI_FLOAT, + SPU_BTI_DOUBLE, + + SPU_BTI_VOID, + SPU_BTI_PTR, + + SPU_BTI_MAX +}; + +#define V16QI_type_node (spu_builtin_types[SPU_BTI_V16QI]) +#define V8HI_type_node (spu_builtin_types[SPU_BTI_V8HI]) +#define V4SI_type_node (spu_builtin_types[SPU_BTI_V4SI]) +#define V2DI_type_node (spu_builtin_types[SPU_BTI_V2DI]) +#define V4SF_type_node (spu_builtin_types[SPU_BTI_V4SF]) +#define V2DF_type_node (spu_builtin_types[SPU_BTI_V2DF]) +#define unsigned_V16QI_type_node (spu_builtin_types[SPU_BTI_UV16QI]) +#define unsigned_V8HI_type_node (spu_builtin_types[SPU_BTI_UV8HI]) +#define unsigned_V4SI_type_node (spu_builtin_types[SPU_BTI_UV4SI]) +#define unsigned_V2DI_type_node (spu_builtin_types[SPU_BTI_UV2DI]) + +static GTY(()) tree spu_builtin_types[SPU_BTI_MAX]; + struct spu_builtin_range { int low, high; @@ -202,8 +268,6 @@ static enum machine_mode spu_libgcc_shift_count_mode (void); -/* Built in types. */ -tree spu_builtin_types[SPU_BTI_MAX]; /* TARGET overrides. */ @@ -5067,6 +5131,16 @@ /* Create the built-in types and functions */ +enum spu_function_code +{ +#define DEF_BUILTIN(fcode, icode, name, type, params) fcode, +#include "spu-builtins.def" +#undef DEF_BUILTIN + NUM_SPU_BUILTINS +}; + +extern GTY(()) struct spu_builtin_description spu_builtins[NUM_SPU_BUILTINS]; + struct spu_builtin_description spu_builtins[] = { #define DEF_BUILTIN(fcode, icode, name, type, params) \ {fcode, icode, name, type, params, NULL_TREE}, @@ -6298,3 +6372,5 @@ return default_section_type_flags (decl, name, reloc); } +#include "gt-spu.h" + diff -Naur gcc-4.4.0.orig/gcc/config/spu/spu-c.c gcc-4.4.0/gcc/config/spu/spu-c.c --- gcc-4.4.0.orig/gcc/config/spu/spu-c.c 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/config/spu/spu-c.c 2009-04-23 15:50:16.000000000 -0700 @@ -32,7 +32,6 @@ #include "insn-codes.h" #include "recog.h" #include "optabs.h" -#include "spu-builtins.h" /* Keep the vector keywords handy for fast comparisons. */ @@ -101,8 +100,7 @@ #define SCALAR_TYPE_P(t) (INTEGRAL_TYPE_P (t) \ || SCALAR_FLOAT_TYPE_P (t) \ || POINTER_TYPE_P (t)) - spu_function_code new_fcode, fcode = - DECL_FUNCTION_CODE (fndecl) - END_BUILTINS; + int new_fcode, fcode = DECL_FUNCTION_CODE (fndecl) - END_BUILTINS; struct spu_builtin_description *desc; tree match = NULL_TREE; @@ -122,8 +120,15 @@ tree decl = spu_builtins[new_fcode].fndecl; tree params = TYPE_ARG_TYPES (TREE_TYPE (decl)); tree arg, param; + bool all_scalar; int p; + /* Check whether all parameters are scalar. */ + all_scalar = true; + for (param = params; param != void_list_node; param = TREE_CHAIN (param)) + if (!SCALAR_TYPE_P (TREE_VALUE (param))) + all_scalar = false; + for (param = params, arg = fnargs, p = 0; param != void_list_node; param = TREE_CHAIN (param), arg = TREE_CHAIN (arg), p++) @@ -155,10 +160,7 @@ parameter. */ if ((!SCALAR_TYPE_P (param_type) || !SCALAR_TYPE_P (arg_type) - || ((fcode == SPU_SPLATS || fcode == SPU_PROMOTE - || fcode == SPU_HCMPEQ || fcode == SPU_HCMPGT - || fcode == SPU_MASKB || fcode == SPU_MASKH - || fcode == SPU_MASKW) && p == 0)) + || (all_scalar && p == 0)) && !comptypes (TYPE_MAIN_VARIANT (param_type), TYPE_MAIN_VARIANT (arg_type))) break; diff -Naur gcc-4.4.0.orig/gcc/config/spu/spu.h gcc-4.4.0/gcc/config/spu/spu.h --- gcc-4.4.0.orig/gcc/config/spu/spu.h 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/config/spu/spu.h 2009-04-23 15:50:16.000000000 -0700 @@ -622,3 +622,33 @@ extern GTY(()) rtx spu_compare_op0; extern GTY(()) rtx spu_compare_op1; + +/* Builtins. */ + +enum spu_builtin_type +{ + B_INSN, + B_JUMP, + B_BISLED, + B_CALL, + B_HINT, + B_OVERLOAD, + B_INTERNAL +}; + +struct spu_builtin_description GTY(()) +{ + int fcode; + int icode; + const char *name; + enum spu_builtin_type type; + + /* The first element of parm is always the return type. The rest + are a zero terminated list of parameters. */ + int parm[5]; + + tree fndecl; +}; + +extern struct spu_builtin_description spu_builtins[]; + diff -Naur gcc-4.4.0.orig/gcc/config/spu/t-spu-elf gcc-4.4.0/gcc/config/spu/t-spu-elf --- gcc-4.4.0.orig/gcc/config/spu/t-spu-elf 2009-03-26 07:36:27.000000000 -0700 +++ gcc-4.4.0/gcc/config/spu/t-spu-elf 2009-04-23 15:50:16.000000000 -0700 @@ -85,13 +85,10 @@ output.h $(BASIC_BLOCK_H) $(INTEGRATE_H) toplev.h $(GGC_H) $(HASHTAB_H) \ $(TM_P_H) $(TARGET_H) $(TARGET_DEF_H) langhooks.h reload.h cfglayout.h \ $(srcdir)/config/spu/spu-protos.h \ - $(srcdir)/config/spu/spu-builtins.h \ $(srcdir)/config/spu/spu-builtins.def spu-c.o: $(srcdir)/config/spu/spu-c.c \ $(srcdir)/config/spu/spu-protos.h \ - $(srcdir)/config/spu/spu-builtins.h \ - $(srcdir)/config/spu/spu-builtins.def \ $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(CPPLIB_H) \ $(TM_P_H) c-pragma.h errors.h coretypes.h $(TM_H) insn-codes.h $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/spu/spu-c.c diff -Naur gcc-4.4.0.orig/gcc/config/vax/vax.c gcc-4.4.0/gcc/config/vax/vax.c --- gcc-4.4.0.orig/gcc/config/vax/vax.c 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/config/vax/vax.c 2009-06-02 00:18:16.000000000 -0700 @@ -122,7 +122,7 @@ if (dwarf2out_do_frame ()) { - const char *label = dwarf2out_cfi_label (); + const char *label = dwarf2out_cfi_label (false); int offset = 0; for (regno = FIRST_PSEUDO_REGISTER-1; regno >= 0; --regno) diff -Naur gcc-4.4.0.orig/gcc/convert.c gcc-4.4.0/gcc/convert.c --- gcc-4.4.0.orig/gcc/convert.c 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/convert.c 2009-06-30 15:38:04.000000000 -0700 @@ -740,10 +740,16 @@ case COND_EXPR: /* It is sometimes worthwhile to push the narrowing down through - the conditional and never loses. */ + the conditional and never loses. A COND_EXPR may have a throw + as one operand, which then has void type. Just leave void + operands as they are. */ return fold_build3 (COND_EXPR, type, TREE_OPERAND (expr, 0), - convert (type, TREE_OPERAND (expr, 1)), - convert (type, TREE_OPERAND (expr, 2))); + VOID_TYPE_P (TREE_TYPE (TREE_OPERAND (expr, 1))) + ? TREE_OPERAND (expr, 1) + : convert (type, TREE_OPERAND (expr, 1)), + VOID_TYPE_P (TREE_TYPE (TREE_OPERAND (expr, 2))) + ? TREE_OPERAND (expr, 2) + : convert (type, TREE_OPERAND (expr, 2))); default: break; diff -Naur gcc-4.4.0.orig/gcc/cp/call.c gcc-4.4.0/gcc/cp/call.c --- gcc-4.4.0.orig/gcc/cp/call.c 2009-04-13 13:56:45.000000000 -0700 +++ gcc-4.4.0/gcc/cp/call.c 2009-06-08 09:49:17.000000000 -0700 @@ -240,7 +240,7 @@ return false; } - if (!name) + if (!name || name == error_mark_node) return false; return same_type_p (TYPE_MAIN_VARIANT (basetype), TYPE_MAIN_VARIANT (name)); } @@ -1384,9 +1384,37 @@ if (conv) return conv; - if (is_std_init_list (to) && expr - && BRACE_ENCLOSED_INITIALIZER_P (expr)) - return build_list_conv (to, expr, flags); + if (expr && BRACE_ENCLOSED_INITIALIZER_P (expr)) + { + if (is_std_init_list (to)) + return build_list_conv (to, expr, flags); + + /* Allow conversion from an initializer-list with one element to a + scalar type. */ + if (SCALAR_TYPE_P (to)) + { + int nelts = CONSTRUCTOR_NELTS (expr); + tree elt; + + if (nelts == 0) + elt = integer_zero_node; + else if (nelts == 1) + elt = CONSTRUCTOR_ELT (expr, 0)->value; + else + elt = error_mark_node; + + conv = implicit_conversion (to, TREE_TYPE (elt), elt, + c_cast_p, flags); + if (conv) + { + conv->check_narrowing = true; + if (BRACE_ENCLOSED_INITIALIZER_P (elt)) + /* Too many levels of braces, i.e. '{{1}}'. */ + conv->bad_p = true; + return conv; + } + } + } if (expr != NULL_TREE && (MAYBE_CLASS_TYPE_P (from) @@ -4069,8 +4097,20 @@ default: if ((flags & LOOKUP_COMPLAIN) && (complain & tf_error)) { - op_error (code, code2, arg1, arg2, arg3, "no match"); - print_z_candidates (candidates); + /* If one of the arguments of the operator represents + an invalid use of member function pointer, try to report + a meaningful error ... */ + if (invalid_nonstatic_memfn_p (arg1, tf_error) + || invalid_nonstatic_memfn_p (arg2, tf_error) + || invalid_nonstatic_memfn_p (arg3, tf_error)) + /* We displayed the error message. */; + else + { + /* ... Otherwise, report the more generic + "no matching operator found" error */ + op_error (code, code2, arg1, arg2, arg3, "no match"); + print_z_candidates (candidates); + } } result = error_mark_node; break; @@ -4517,12 +4557,21 @@ if (convs->bad_p && convs->kind != ck_user + && convs->kind != ck_list && convs->kind != ck_ambig && convs->kind != ck_ref_bind && convs->kind != ck_rvalue && convs->kind != ck_base) { conversion *t = convs; + + /* Give a helpful error if this is bad because of excess braces. */ + if (BRACE_ENCLOSED_INITIALIZER_P (expr) + && SCALAR_TYPE_P (totype) + && CONSTRUCTOR_NELTS (expr) > 0 + && BRACE_ENCLOSED_INITIALIZER_P (CONSTRUCTOR_ELT (expr, 0)->value)) + permerror (input_location, "too many braces around initializer for %qT", totype); + for (; t; t = convs->u.next) { if (t->kind == ck_user || !t->bad_p) @@ -4596,6 +4645,17 @@ return expr; } case ck_identity: + if (BRACE_ENCLOSED_INITIALIZER_P (expr)) + { + int nelts = CONSTRUCTOR_NELTS (expr); + if (nelts == 0) + expr = integer_zero_node; + else if (nelts == 1) + expr = CONSTRUCTOR_ELT (expr, 0)->value; + else + gcc_unreachable (); + } + if (type_unknown_p (expr)) expr = instantiate_type (totype, expr, complain); /* Convert a constant to its underlying value, unless we are diff -Naur gcc-4.4.0.orig/gcc/cp/class.c gcc-4.4.0/gcc/cp/class.c --- gcc-4.4.0.orig/gcc/cp/class.c 2009-04-07 20:55:00.000000000 -0700 +++ gcc-4.4.0/gcc/cp/class.c 2009-06-24 10:02:03.000000000 -0700 @@ -6158,7 +6158,7 @@ fn = TREE_PURPOSE (matches); for (match = TREE_CHAIN (matches); match; match = TREE_CHAIN (match)) - if (!decls_match (fn, TREE_PURPOSE (matches))) + if (!decls_match (fn, TREE_PURPOSE (match))) break; if (match) diff -Naur gcc-4.4.0.orig/gcc/cp/cvt.c gcc-4.4.0/gcc/cp/cvt.c --- gcc-4.4.0.orig/gcc/cp/cvt.c 2008-08-18 04:17:52.000000000 -0700 +++ gcc-4.4.0/gcc/cp/cvt.c 2009-04-23 04:13:57.000000000 -0700 @@ -760,8 +760,15 @@ } if (flags & LOOKUP_COMPLAIN) - error ("conversion from %qT to non-scalar type %qT requested", - TREE_TYPE (expr), type); + { + /* If the conversion failed and expr was an invalid use of pointer to + member function, try to report a meaningful error. */ + if (invalid_nonstatic_memfn_p (expr, tf_warning_or_error)) + /* We displayed the error message. */; + else + error ("conversion from %qT to non-scalar type %qT requested", + TREE_TYPE (expr), type); + } return error_mark_node; } diff -Naur gcc-4.4.0.orig/gcc/cp/decl2.c gcc-4.4.0/gcc/cp/decl2.c --- gcc-4.4.0.orig/gcc/cp/decl2.c 2009-03-26 08:17:26.000000000 -0700 +++ gcc-4.4.0/gcc/cp/decl2.c 2009-06-09 11:20:29.000000000 -0700 @@ -3809,6 +3809,7 @@ { error ("deleted function %q+D", decl); error ("used here"); + return; } /* If we don't need a value, then we don't need to synthesize DECL. */ if (skip_evaluation) diff -Naur gcc-4.4.0.orig/gcc/cp/decl.c gcc-4.4.0/gcc/cp/decl.c --- gcc-4.4.0.orig/gcc/cp/decl.c 2009-04-06 21:38:10.000000000 -0700 +++ gcc-4.4.0/gcc/cp/decl.c 2009-06-24 10:02:03.000000000 -0700 @@ -929,6 +929,17 @@ tree p1 = TYPE_ARG_TYPES (f1); tree p2 = TYPE_ARG_TYPES (f2); + /* Specializations of different templates are different functions + even if they have the same type. */ + tree t1 = (DECL_USE_TEMPLATE (newdecl) + ? DECL_TI_TEMPLATE (newdecl) + : NULL_TREE); + tree t2 = (DECL_USE_TEMPLATE (olddecl) + ? DECL_TI_TEMPLATE (olddecl) + : NULL_TREE); + if (t1 != t2) + return 0; + if (CP_DECL_CONTEXT (newdecl) != CP_DECL_CONTEXT (olddecl) && ! (DECL_EXTERN_C_P (newdecl) && DECL_EXTERN_C_P (olddecl))) @@ -5533,7 +5544,9 @@ TREE_TYPE (decl) = error_mark_node; return; } - else if (describable_type (init)) + if (TREE_CODE (init) == TREE_LIST) + init = build_x_compound_expr_from_list (init, "initializer"); + if (describable_type (init)) { type = TREE_TYPE (decl) = do_auto_deduction (type, init, auto_node); if (type == error_mark_node) diff -Naur gcc-4.4.0.orig/gcc/cp/parser.c gcc-4.4.0/gcc/cp/parser.c --- gcc-4.4.0.orig/gcc/cp/parser.c 2009-04-10 12:01:16.000000000 -0700 +++ gcc-4.4.0/gcc/cp/parser.c 2009-06-08 21:23:00.000000000 -0700 @@ -10477,6 +10477,12 @@ argument pack. */ if (cp_lexer_next_token_is (parser->lexer, CPP_ELLIPSIS)) { + if (argument == error_mark_node) + { + cp_token *token = cp_lexer_peek_token (parser->lexer); + error ("%Hexpected parameter pack before %<...%>", + &token->location); + } /* Consume the `...' token. */ cp_lexer_consume_token (parser->lexer); @@ -13290,13 +13296,6 @@ &non_constant_p); if (!non_constant_p) bounds = fold_non_dependent_expr (bounds); - else if (processing_template_decl) - { - /* Remember this wasn't a constant-expression. */ - bounds = build_nop (TREE_TYPE (bounds), bounds); - TREE_SIDE_EFFECTS (bounds) = 1; - } - /* Normally, the array bound must be an integral constant expression. However, as an extension, we allow VLAs in function scopes. */ @@ -13306,6 +13305,12 @@ &token->location); bounds = error_mark_node; } + else if (processing_template_decl && !error_operand_p (bounds)) + { + /* Remember this wasn't a constant-expression. */ + bounds = build_nop (TREE_TYPE (bounds), bounds); + TREE_SIDE_EFFECTS (bounds) = 1; + } } else bounds = NULL_TREE; @@ -13803,8 +13808,17 @@ if (type_specifier_seq.type && type_uses_auto (type_specifier_seq.type)) { - error ("invalid use of %"); - return error_mark_node; + /* A type-id with type 'auto' is only ok if the abstract declarator + is a function declarator with a late-specified return type. */ + if (abstract_declarator + && abstract_declarator->kind == cdk_function + && abstract_declarator->u.function.late_return_type) + /* OK */; + else + { + error ("invalid use of %"); + return error_mark_node; + } } return groktypename (&type_specifier_seq, abstract_declarator, diff -Naur gcc-4.4.0.orig/gcc/cp/pt.c gcc-4.4.0/gcc/cp/pt.c --- gcc-4.4.0.orig/gcc/cp/pt.c 2009-04-13 12:27:20.000000000 -0700 +++ gcc-4.4.0/gcc/cp/pt.c 2009-06-30 12:45:21.000000000 -0700 @@ -7597,8 +7597,15 @@ and return a PACK_EXPANSION_*. The caller will need to deal with that. */ if (unsubstituted_packs) - return make_pack_expansion (tsubst (pattern, args, complain, - in_decl)); + { + tree new_pat; + if (TREE_CODE (t) == EXPR_PACK_EXPANSION) + new_pat = tsubst_expr (pattern, args, complain, in_decl, + /*integral_constant_expression_p=*/false); + else + new_pat = tsubst (pattern, args, complain, in_decl); + return make_pack_expansion (new_pat); + } /* We could not find any argument packs that work. */ if (len < 0) @@ -9144,6 +9151,14 @@ max = tsubst_expr (omax, args, complain, in_decl, /*integral_constant_expression_p=*/false); + + /* Fix up type of the magic NOP_EXPR with TREE_SIDE_EFFECTS if + needed. */ + if (TREE_CODE (max) == NOP_EXPR + && TREE_SIDE_EFFECTS (omax) + && !TREE_TYPE (max)) + TREE_TYPE (max) = TREE_TYPE (TREE_OPERAND (max, 0)); + max = fold_decl_constant_value (max); /* If we're in a partial instantiation, preserve the magic NOP_EXPR @@ -9974,11 +9989,15 @@ if (r == NULL) { + tree c; /* This can happen for a parameter name used later in a function declaration (such as in a late-specified return type). Just make a dummy decl, since it's only used for its type. */ gcc_assert (skip_evaluation); - r = tsubst_decl (t, args, complain); + /* We copy T because want to tsubst the PARM_DECL only, + not the following PARM_DECLs that are chained to T. */ + c = copy_node (t); + r = tsubst_decl (c, args, complain); /* Give it the template pattern as its context; its true context hasn't been instantiated yet and this is good enough for mangling. */ @@ -13532,6 +13551,13 @@ && !template_parameter_pack_p (parm)) return 1; + /* If the argument deduction results is a METHOD_TYPE, + then there is a problem. + METHOD_TYPE doesn't map to any real C++ type the result of + the deduction can not be of that type. */ + if (TREE_CODE (arg) == METHOD_TYPE) + return 1; + TREE_VEC_ELT (INNERMOST_TEMPLATE_ARGS (targs), idx) = arg; return 0; diff -Naur gcc-4.4.0.orig/gcc/cp/semantics.c gcc-4.4.0/gcc/cp/semantics.c --- gcc-4.4.0.orig/gcc/cp/semantics.c 2009-04-06 12:41:02.000000000 -0700 +++ gcc-4.4.0/gcc/cp/semantics.c 2009-05-17 13:34:30.000000000 -0700 @@ -2838,16 +2838,16 @@ done, address_p, template_p, template_arg_p); - else if (dependent_scope_p (scope)) - decl = build_qualified_name (/*type=*/NULL_TREE, - scope, - id_expression, - template_p); - else if (DECL_P (decl)) - decl = build_qualified_name (TREE_TYPE (decl), - scope, - id_expression, - template_p); + else + { + tree type = NULL_TREE; + if (DECL_P (decl) && !dependent_scope_p (scope)) + type = TREE_TYPE (decl); + decl = build_qualified_name (type, + scope, + id_expression, + template_p); + } } if (TREE_TYPE (decl)) decl = convert_from_reference (decl); diff -Naur gcc-4.4.0.orig/gcc/cp/typeck.c gcc-4.4.0/gcc/cp/typeck.c --- gcc-4.4.0.orig/gcc/cp/typeck.c 2009-04-06 21:38:10.000000000 -0700 +++ gcc-4.4.0/gcc/cp/typeck.c 2009-06-03 11:11:53.000000000 -0700 @@ -260,6 +260,19 @@ enum tree_code code2 = TREE_CODE (t2); tree attributes; + /* In what follows, we slightly generalize the rules given in [expr] so + as to deal with `long long' and `complex'. First, merge the + attributes. */ + attributes = (*targetm.merge_type_attributes) (t1, t2); + + if (SCOPED_ENUM_P (t1) || SCOPED_ENUM_P (t2)) + { + if (TYPE_MAIN_VARIANT (t1) == TYPE_MAIN_VARIANT (t2)) + return build_type_attribute_variant (t1, attributes); + else + return NULL_TREE; + } + /* FIXME: Attributes. */ gcc_assert (ARITHMETIC_TYPE_P (t1) || TREE_CODE (t1) == VECTOR_TYPE @@ -268,11 +281,6 @@ || TREE_CODE (t2) == VECTOR_TYPE || UNSCOPED_ENUM_P (t2)); - /* In what follows, we slightly generalize the rules given in [expr] so - as to deal with `long long' and `complex'. First, merge the - attributes. */ - attributes = (*targetm.merge_type_attributes) (t1, t2); - /* If one type is complex, form the common type of the non-complex components, then make that complex. Use T1 or T2 if it is the required type. */ @@ -1508,7 +1516,7 @@ bool invalid_nonstatic_memfn_p (const_tree expr, tsubst_flags_t complain) { - if (DECL_NONSTATIC_MEMBER_FUNCTION_P (expr)) + if (expr && DECL_NONSTATIC_MEMBER_FUNCTION_P (expr)) { if (complain & tf_error) error ("invalid use of non-static member function"); @@ -2437,6 +2445,10 @@ if (processing_template_decl) { + /* Retain the type if we know the operand is a pointer so that + describable_type doesn't make auto deduction break. */ + if (TREE_TYPE (expr) && POINTER_TYPE_P (TREE_TYPE (expr))) + return build_min (INDIRECT_REF, TREE_TYPE (TREE_TYPE (expr)), expr); if (type_dependent_expression_p (expr)) return build_min_nt (INDIRECT_REF, expr); expr = build_non_dependent_expr (expr); @@ -3589,9 +3601,9 @@ build_type = boolean_type_node; if ((code0 == INTEGER_TYPE || code0 == REAL_TYPE - || code0 == COMPLEX_TYPE) + || code0 == COMPLEX_TYPE || code0 == ENUMERAL_TYPE) && (code1 == INTEGER_TYPE || code1 == REAL_TYPE - || code1 == COMPLEX_TYPE)) + || code1 == COMPLEX_TYPE || code1 == ENUMERAL_TYPE)) short_compare = 1; else if ((code0 == POINTER_TYPE && code1 == POINTER_TYPE) || (TYPE_PTRMEM_P (type0) && TYPE_PTRMEM_P (type1))) @@ -3863,9 +3875,10 @@ break; } - if (((code0 == INTEGER_TYPE || code0 == REAL_TYPE || code0 == COMPLEX_TYPE) + if (((code0 == INTEGER_TYPE || code0 == REAL_TYPE || code0 == COMPLEX_TYPE + || code0 == ENUMERAL_TYPE) && (code1 == INTEGER_TYPE || code1 == REAL_TYPE - || code1 == COMPLEX_TYPE))) + || code1 == COMPLEX_TYPE || code1 == ENUMERAL_TYPE))) arithmetic_types_p = 1; else { @@ -5967,8 +5980,11 @@ if (modifycode == INIT_EXPR) { - if (TREE_CODE (rhs) == CONSTRUCTOR) + if (BRACE_ENCLOSED_INITIALIZER_P (rhs)) + /* Do the default thing. */; + else if (TREE_CODE (rhs) == CONSTRUCTOR) { + /* Compound literal. */ if (! same_type_p (TREE_TYPE (rhs), lhstype)) /* Call convert to generate an error; see PR 11063. */ rhs = convert (lhstype, rhs); diff -Naur gcc-4.4.0.orig/gcc/c-parser.c gcc-4.4.0/gcc/c-parser.c --- gcc-4.4.0.orig/gcc/c-parser.c 2009-04-01 06:45:14.000000000 -0700 +++ gcc-4.4.0/gcc/c-parser.c 2009-06-22 15:25:38.000000000 -0700 @@ -6564,7 +6564,7 @@ { tree keywordexpr; if (!c_parser_require (parser, CPP_COLON, "expected %<:%>")) - return list; + return error_mark_node; keywordexpr = c_parser_objc_keywordexpr (parser); list = chainon (list, build_tree_list (sel, keywordexpr)); sel = c_parser_objc_selector (parser); diff -Naur gcc-4.4.0.orig/gcc/cse.c gcc-4.4.0/gcc/cse.c --- gcc-4.4.0.orig/gcc/cse.c 2009-03-14 01:10:55.000000000 -0700 +++ gcc-4.4.0/gcc/cse.c 2009-04-27 04:55:13.000000000 -0700 @@ -1,6 +1,6 @@ /* Common subexpression elimination for GNU compiler. Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998 - 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GCC. @@ -1658,7 +1658,7 @@ { struct check_dependence_data *d = (struct check_dependence_data *) data; if (*x && MEM_P (*x)) - return canon_true_dependence (d->exp, d->mode, d->addr, *x, + return canon_true_dependence (d->exp, d->mode, d->addr, *x, NULL_RTX, cse_rtx_varies_p); else return 0; diff -Naur gcc-4.4.0.orig/gcc/cselib.c gcc-4.4.0/gcc/cselib.c --- gcc-4.4.0.orig/gcc/cselib.c 2008-12-22 15:41:17.000000000 -0800 +++ gcc-4.4.0/gcc/cselib.c 2009-04-27 04:55:13.000000000 -0700 @@ -1,6 +1,6 @@ /* Common subexpression elimination library for GNU compiler. Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008 + 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GCC. @@ -1483,7 +1483,7 @@ } if (num_mems < PARAM_VALUE (PARAM_MAX_CSELIB_MEMORY_LOCATIONS) && ! canon_true_dependence (mem_rtx, GET_MODE (mem_rtx), mem_addr, - x, cselib_rtx_varies_p)) + x, NULL_RTX, cselib_rtx_varies_p)) { has_mem = true; num_mems++; diff -Naur gcc-4.4.0.orig/gcc/DATESTAMP gcc-4.4.0/gcc/DATESTAMP --- gcc-4.4.0.orig/gcc/DATESTAMP 2009-04-20 17:16:42.000000000 -0700 +++ gcc-4.4.0/gcc/DATESTAMP 2009-07-02 17:16:27.000000000 -0700 @@ -1 +1 @@ -20090421 +20090703 diff -Naur gcc-4.4.0.orig/gcc/dbxout.c gcc-4.4.0/gcc/dbxout.c --- gcc-4.4.0.orig/gcc/dbxout.c 2009-02-27 11:49:42.000000000 -0800 +++ gcc-4.4.0/gcc/dbxout.c 2009-04-22 15:24:45.000000000 -0700 @@ -3593,7 +3593,7 @@ while (block) { /* Ignore blocks never expanded or otherwise marked as real. */ - if (TREE_ASM_WRITTEN (block)) + if (TREE_USED (block) && TREE_ASM_WRITTEN (block)) { int did_output; int blocknum = BLOCK_NUMBER (block); diff -Naur gcc-4.4.0.orig/gcc/dfp.c gcc-4.4.0/gcc/dfp.c --- gcc-4.4.0.orig/gcc/dfp.c 2008-06-18 18:13:53.000000000 -0700 +++ gcc-4.4.0/gcc/dfp.c 2009-05-07 14:38:46.000000000 -0700 @@ -1,5 +1,5 @@ /* Decimal floating point support. - Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GCC. @@ -132,6 +132,7 @@ decNumber dn; decimal32 d32; decContext set; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; @@ -139,7 +140,8 @@ decimal_to_decnumber (r, &dn); decimal32FromNumber (&d32, &dn, &set); - buf[0] = *(uint32_t *) d32.bytes; + memcpy (&image, d32.bytes, sizeof (int32_t)); + buf[0] = image; } /* Decode an IEEE 754 decimal32 type into a real. */ @@ -151,11 +153,13 @@ decNumber dn; decimal32 d32; decContext set; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; - *((uint32_t *) d32.bytes) = (uint32_t) buf[0]; + image = buf[0]; + memcpy (&d32.bytes, &image, sizeof (int32_t)); decimal32ToNumber (&d32, &dn); decimal_from_decnumber (r, &dn, &set); @@ -170,6 +174,7 @@ decNumber dn; decimal64 d64; decContext set; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; @@ -179,13 +184,17 @@ if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { - buf[0] = *(uint32_t *) &d64.bytes[0]; - buf[1] = *(uint32_t *) &d64.bytes[4]; + memcpy (&image, &d64.bytes[0], sizeof (int32_t)); + buf[0] = image; + memcpy (&image, &d64.bytes[4], sizeof (int32_t)); + buf[1] = image; } else { - buf[0] = *(uint32_t *) &d64.bytes[4]; - buf[1] = *(uint32_t *) &d64.bytes[0]; + memcpy (&image, &d64.bytes[4], sizeof (int32_t)); + buf[0] = image; + memcpy (&image, &d64.bytes[0], sizeof (int32_t)); + buf[1] = image; } } @@ -198,19 +207,24 @@ decNumber dn; decimal64 d64; decContext set; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { - *((uint32_t *) &d64.bytes[0]) = (uint32_t) buf[0]; - *((uint32_t *) &d64.bytes[4]) = (uint32_t) buf[1]; + image = buf[0]; + memcpy (&d64.bytes[0], &image, sizeof (int32_t)); + image = buf[1]; + memcpy (&d64.bytes[4], &image, sizeof (int32_t)); } else { - *((uint32_t *) &d64.bytes[0]) = (uint32_t) buf[1]; - *((uint32_t *) &d64.bytes[4]) = (uint32_t) buf[0]; + image = buf[1]; + memcpy (&d64.bytes[0], &image, sizeof (int32_t)); + image = buf[0]; + memcpy (&d64.bytes[4], &image, sizeof (int32_t)); } decimal64ToNumber (&d64, &dn); @@ -226,6 +240,7 @@ decNumber dn; decContext set; decimal128 d128; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; @@ -235,17 +250,25 @@ if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { - buf[0] = *(uint32_t *) &d128.bytes[0]; - buf[1] = *(uint32_t *) &d128.bytes[4]; - buf[2] = *(uint32_t *) &d128.bytes[8]; - buf[3] = *(uint32_t *) &d128.bytes[12]; + memcpy (&image, &d128.bytes[0], sizeof (int32_t)); + buf[0] = image; + memcpy (&image, &d128.bytes[4], sizeof (int32_t)); + buf[1] = image; + memcpy (&image, &d128.bytes[8], sizeof (int32_t)); + buf[2] = image; + memcpy (&image, &d128.bytes[12], sizeof (int32_t)); + buf[3] = image; } else { - buf[0] = *(uint32_t *) &d128.bytes[12]; - buf[1] = *(uint32_t *) &d128.bytes[8]; - buf[2] = *(uint32_t *) &d128.bytes[4]; - buf[3] = *(uint32_t *) &d128.bytes[0]; + memcpy (&image, &d128.bytes[12], sizeof (int32_t)); + buf[0] = image; + memcpy (&image, &d128.bytes[8], sizeof (int32_t)); + buf[1] = image; + memcpy (&image, &d128.bytes[4], sizeof (int32_t)); + buf[2] = image; + memcpy (&image, &d128.bytes[0], sizeof (int32_t)); + buf[3] = image; } } @@ -258,23 +281,32 @@ decNumber dn; decimal128 d128; decContext set; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { - *((uint32_t *) &d128.bytes[0]) = (uint32_t) buf[0]; - *((uint32_t *) &d128.bytes[4]) = (uint32_t) buf[1]; - *((uint32_t *) &d128.bytes[8]) = (uint32_t) buf[2]; - *((uint32_t *) &d128.bytes[12]) = (uint32_t) buf[3]; + image = buf[0]; + memcpy (&d128.bytes[0], &image, sizeof (int32_t)); + image = buf[1]; + memcpy (&d128.bytes[4], &image, sizeof (int32_t)); + image = buf[2]; + memcpy (&d128.bytes[8], &image, sizeof (int32_t)); + image = buf[3]; + memcpy (&d128.bytes[12], &image, sizeof (int32_t)); } else { - *((uint32_t *) &d128.bytes[0]) = (uint32_t) buf[3]; - *((uint32_t *) &d128.bytes[4]) = (uint32_t) buf[2]; - *((uint32_t *) &d128.bytes[8]) = (uint32_t) buf[1]; - *((uint32_t *) &d128.bytes[12]) = (uint32_t) buf[0]; + image = buf[3]; + memcpy (&d128.bytes[0], &image, sizeof (int32_t)); + image = buf[2]; + memcpy (&d128.bytes[4], &image, sizeof (int32_t)); + image = buf[1]; + memcpy (&d128.bytes[8], &image, sizeof (int32_t)); + image = buf[0]; + memcpy (&d128.bytes[12], &image, sizeof (int32_t)); } decimal128ToNumber (&d128, &dn); diff -Naur gcc-4.4.0.orig/gcc/doc/extend.texi gcc-4.4.0/gcc/doc/extend.texi --- gcc-4.4.0.orig/gcc/doc/extend.texi 2009-03-22 01:16:31.000000000 -0700 +++ gcc-4.4.0/gcc/doc/extend.texi 2009-06-29 09:43:50.000000000 -0700 @@ -914,8 +914,7 @@ @end smallexample Not all targets support additional floating point types. @code{__float80} -is supported on i386, x86_64 and ia64 targets and target @code{__float128} -is supported on x86_64 and ia64 targets. +and @code{__float128} types are supported on i386, x86_64 and ia64 targets. @node Decimal Float @section Decimal Floating Types @@ -8304,6 +8303,7 @@ @item unsigned int __builtin_ia32_crc32si (unsigned int, unsigned int) Generates the @code{crc32l} machine instruction. @item unsigned long long __builtin_ia32_crc32di (unsigned long long, unsigned long long) +Generates the @code{crc32q} machine instruction. @end table The following built-in functions are changed to generate new SSE4.2 diff -Naur gcc-4.4.0.orig/gcc/doc/gccint.texi gcc-4.4.0/gcc/doc/gccint.texi --- gcc-4.4.0.orig/gcc/doc/gccint.texi 2008-09-21 08:05:14.000000000 -0700 +++ gcc-4.4.0/gcc/doc/gccint.texi 2009-05-23 10:55:01.000000000 -0700 @@ -109,10 +109,10 @@ * Options:: Option specification files. * Passes:: Order of passes, what they do, and what each file is for. * Trees:: The source representation used by the C and C++ front ends. -* RTL:: The intermediate representation that most passes work on. * GENERIC:: Language-independent representation generated by Front Ends * GIMPLE:: Tuple representation used by Tree SSA optimizers * Tree SSA:: Analysis and optimization of GIMPLE +* RTL:: Machine-dependent low-level intermediate representation. * Control Flow:: Maintaining and manipulating the control flow graph. * Loop Analysis and Representation:: Analysis and representation of loops * Machine Desc:: How to write machine description instruction patterns. diff -Naur gcc-4.4.0.orig/gcc/doc/md.texi gcc-4.4.0/gcc/doc/md.texi --- gcc-4.4.0.orig/gcc/doc/md.texi 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/doc/md.texi 2009-05-07 01:14:55.000000000 -0700 @@ -5111,8 +5111,6 @@ Operand 0 is the memory on which the atomic operation is performed. Operand 1 is the second operand to the binary operator. -The ``nand'' operation is @code{~op0 & op1}. - This pattern must issue any memory barrier instructions such that all memory operations before the atomic operation occur before the atomic operation and all memory operations after the atomic operation occur diff -Naur gcc-4.4.0.orig/gcc/doc/passes.texi gcc-4.4.0/gcc/doc/passes.texi --- gcc-4.4.0.orig/gcc/doc/passes.texi 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/doc/passes.texi 2009-05-23 10:55:01.000000000 -0700 @@ -21,7 +21,7 @@ * Parsing pass:: The language front end turns text into bits. * Gimplification pass:: The bits are turned into something we can optimize. * Pass manager:: Sequencing the optimization passes. -* Tree-SSA passes:: Optimizations on a high-level representation. +* Tree SSA passes:: Optimizations on a high-level representation. * RTL passes:: Optimizations on a low-level representation. @end menu @@ -94,8 +94,8 @@ should be passed to @code{cgraph_finalize_function}. TODO: I know rest_of_compilation currently has all sorts of -rtl-generation semantics. I plan to move all code generation -bits (both tree and rtl) to compile_function. Should we hide +RTL generation semantics. I plan to move all code generation +bits (both Tree and RTL) to compile_function. Should we hide cgraph from the front ends and move back to rest_of_compilation as the official interface? Possibly we should rename all three interfaces such that the names match in some meaningful way and @@ -172,12 +172,12 @@ TODO: describe the global variables set up by the pass manager, and a brief description of how a new pass should use it. -I need to look at what info rtl passes use first@enddots{} +I need to look at what info RTL passes use first@enddots{} -@node Tree-SSA passes -@section Tree-SSA passes +@node Tree SSA passes +@section Tree SSA passes -The following briefly describes the tree optimization passes that are +The following briefly describes the Tree optimization passes that are run after gimplification and what source files they are located in. @itemize @bullet @@ -401,7 +401,7 @@ The optimizations performed by this pass are: Loop invariant motion. This pass moves only invariants that -would be hard to handle on rtl level (function calls, operations that expand to +would be hard to handle on RTL level (function calls, operations that expand to nontrivial sequences of insns). With @option{-funswitch-loops} it also moves operands of conditions that are invariant out of the loop, so that we can use just trivial invariantness analysis in loop unswitching. The pass also includes @@ -422,8 +422,8 @@ out of the loops. To achieve this, a duplicate of the loop is created for each possible outcome of conditional jump(s). The pass is implemented in @file{tree-ssa-loop-unswitch.c}. This pass should eventually replace the -rtl-level loop unswitching in @file{loop-unswitch.c}, but currently -the rtl-level pass is not completely redundant yet due to deficiencies +RTL level loop unswitching in @file{loop-unswitch.c}, but currently +the RTL level pass is not completely redundant yet due to deficiencies in tree level alias analysis. The optimizations also use various utility functions contained in @@ -651,8 +651,8 @@ @node RTL passes @section RTL passes -The following briefly describes the rtl generation and optimization -passes that are run after tree optimization. +The following briefly describes the RTL generation and optimization +passes that are run after the Tree optimization passes. @itemize @bullet @item RTL generation @@ -679,15 +679,15 @@ and @code{gencodes}, tell this pass which standard names are available for use and which patterns correspond to them. -@item Generate exception handling landing pads +@item Generation of exception landing pads This pass generates the glue that handles communication between the exception handling library routines and the exception handlers within the function. Entry points in the function that are invoked by the exception handling library are called @dfn{landing pads}. The code -for this pass is located within @file{except.c}. +for this pass is located in @file{except.c}. -@item Cleanup control flow graph +@item Control flow graph cleanup This pass removes unreachable code, simplifies jumps to next, jumps to jump, jumps across jumps, etc. The pass is run multiple times. @@ -702,16 +702,16 @@ variables that come from a single definition, and seeing if the result can be simplified. It performs copy propagation and addressing mode selection. The pass is run twice, with values -being propagated into loops only on the second run. It is located in -@file{fwprop.c}. +being propagated into loops only on the second run. The code is +located in @file{fwprop.c}. @item Common subexpression elimination This pass removes redundant computation within basic blocks, and optimizes addressing modes based on cost. The pass is run twice. -The source is located in @file{cse.c}. +The code for this pass is located in @file{cse.c}. -@item Global common subexpression elimination. +@item Global common subexpression elimination This pass performs two different types of GCSE depending on whether you are optimizing for @@ -755,22 +755,13 @@ assignments with arithmetic, boolean value producing comparison instructions, and conditional move instructions. In the very last invocation after reload, it will generate predicated instructions -when supported by the target. The pass is located in @file{ifcvt.c}. +when supported by the target. The code is located in @file{ifcvt.c}. @item Web construction This pass splits independent uses of each pseudo-register. This can improve effect of the other transformation, such as CSE or register -allocation. Its source files are @file{web.c}. - -@item Life analysis - -This pass computes which pseudo-registers are live at each point in -the program, and makes the first instruction that uses a value point -at the instruction that computed the value. It then deletes -computations whose results are never used, and combines memory -references with add or subtract instructions to make autoincrement or -autodecrement addressing. The pass is located in @file{flow.c}. +allocation. The code for this pass is located in @file{web.c}. @item Instruction combination @@ -778,23 +769,23 @@ are related by data flow into single instructions. It combines the RTL expressions for the instructions by substitution, simplifies the result using algebra, and then attempts to match the result against -the machine description. The pass is located in @file{combine.c}. +the machine description. The code is located in @file{combine.c}. @item Register movement This pass looks for cases where matching constraints would force an instruction to need a reload, and this reload would be a register-to-register move. It then attempts to change the registers -used by the instruction to avoid the move instruction. -The pass is located in @file{regmove.c}. +used by the instruction to avoid the move instruction. The code is +located in @file{regmove.c}. -@item Optimize mode switching +@item Mode switching optimization This pass looks for instructions that require the processor to be in a specific ``mode'' and minimizes the number of mode changes required to satisfy all users. What these modes are, and what they apply to are -completely target-specific. -The source is located in @file{mode-switching.c}. +completely target-specific. The code for this pass is located in +@file{mode-switching.c}. @cindex modulo scheduling @cindex sms, swing, software pipelining @@ -802,8 +793,8 @@ This pass looks at innermost loops and reorders their instructions by overlapping different iterations. Modulo scheduling is performed -immediately before instruction scheduling. -The pass is located in (@file{modulo-sched.c}). +immediately before instruction scheduling. The code for this pass is +located in @file{modulo-sched.c}. @item Instruction scheduling @@ -813,7 +804,7 @@ It re-orders instructions within a basic block to try to separate the definition and use of items that otherwise would cause pipeline stalls. This pass is performed twice, before and after register -allocation. The pass is located in @file{haifa-sched.c}, +allocation. The code for this pass is located in @file{haifa-sched.c}, @file{sched-deps.c}, @file{sched-ebb.c}, @file{sched-rgn.c} and @file{sched-vis.c}. @@ -884,13 +875,13 @@ position in code and generates notes describing the variable locations to RTL code. The location lists are then generated according to these notes to debug information if the debugging information format supports -location lists. +location lists. The code is located in @file{var-tracking.c}. @item Delayed branch scheduling This optional pass attempts to find instructions that can go into the -delay slots of other instructions, usually jumps and calls. The -source file name is @file{reorg.c}. +delay slots of other instructions, usually jumps and calls. The code +for this pass is located in @file{reorg.c}. @item Branch shortening @@ -899,13 +890,14 @@ In this pass, the compiler figures out what how far each instruction will be from each other instruction, and therefore whether the usual instructions, or the longer sequences, must be used for each branch. +The code for this pass is located in @file{final.c}. @item Register-to-stack conversion Conversion from usage of some hard registers to usage of a register stack may be done at this point. Currently, this is supported only -for the floating-point registers of the Intel 80387 coprocessor. The -source file name is @file{reg-stack.c}. +for the floating-point registers of the Intel 80387 coprocessor. The +code for this pass is located in @file{reg-stack.c}. @item Final diff -Naur gcc-4.4.0.orig/gcc/doc/rtl.texi gcc-4.4.0/gcc/doc/rtl.texi --- gcc-4.4.0.orig/gcc/doc/rtl.texi 2008-10-15 17:51:34.000000000 -0700 +++ gcc-4.4.0/gcc/doc/rtl.texi 2009-05-23 10:55:01.000000000 -0700 @@ -10,10 +10,10 @@ @cindex representation of RTL @cindex Register Transfer Language (RTL) -Most of the work of the compiler is done on an intermediate representation -called register transfer language. In this language, the instructions to be -output are described, pretty much one by one, in an algebraic form that -describes what the instruction does. +The last part of the compiler work is done on a low-level intermediate +representation called Register Transfer Language. In this language, the +instructions to be output are described, pretty much one by one, in an +algebraic form that describes what the instruction does. RTL is inspired by Lisp lists. It has both an internal form, made up of structures that point at other structures, and a textual form that is used diff -Naur gcc-4.4.0.orig/gcc/dojump.c gcc-4.4.0/gcc/dojump.c --- gcc-4.4.0.orig/gcc/dojump.c 2009-01-09 05:43:14.000000000 -0800 +++ gcc-4.4.0/gcc/dojump.c 2009-05-07 08:36:23.000000000 -0700 @@ -141,7 +141,8 @@ } /* Fill in the integers. */ - XEXP (and_test, 1) = GEN_INT ((unsigned HOST_WIDE_INT) 1 << bitnum); + XEXP (and_test, 1) + = immed_double_const ((unsigned HOST_WIDE_INT) 1 << bitnum, 0, mode); XEXP (XEXP (shift_test, 0), 1) = GEN_INT (bitnum); return (rtx_cost (and_test, IF_THEN_ELSE, optimize_insn_for_speed_p ()) @@ -475,10 +476,10 @@ && prefer_and_bit_test (TYPE_MODE (argtype), TREE_INT_CST_LOW (shift))) { - HOST_WIDE_INT mask = (HOST_WIDE_INT) 1 - << TREE_INT_CST_LOW (shift); + unsigned HOST_WIDE_INT mask + = (unsigned HOST_WIDE_INT) 1 << TREE_INT_CST_LOW (shift); do_jump (build2 (BIT_AND_EXPR, argtype, arg, - build_int_cst_type (argtype, mask)), + build_int_cst_wide_type (argtype, mask, 0)), clr_label, set_label); break; } diff -Naur gcc-4.4.0.orig/gcc/dse.c gcc-4.4.0/gcc/dse.c --- gcc-4.4.0.orig/gcc/dse.c 2009-03-18 10:04:26.000000000 -0700 +++ gcc-4.4.0/gcc/dse.c 2009-05-13 14:42:03.000000000 -0700 @@ -223,7 +223,7 @@ /* This canonized mem. */ rtx mem; - /* The result of get_addr on mem. */ + /* Canonized MEM address for use by canon_true_dependence. */ rtx mem_addr; /* If this is non-zero, it is the alias set of a spill location. */ @@ -476,8 +476,8 @@ do read dependency. */ rtx base_mem; - /* Canonized version of base_mem, most likely the same thing. */ - rtx canon_base_mem; + /* Canonized version of base_mem's address. */ + rtx canon_base_addr; /* These two sets of two bitmaps are used to keep track of how many stores are actually referencing that position from this base. We @@ -705,7 +705,7 @@ gi->rtx_base = base; gi->id = rtx_group_next_id++; gi->base_mem = gen_rtx_MEM (QImode, base); - gi->canon_base_mem = canon_rtx (gi->base_mem); + gi->canon_base_addr = canon_rtx (base); gi->store1_n = BITMAP_ALLOC (NULL); gi->store1_p = BITMAP_ALLOC (NULL); gi->store2_n = BITMAP_ALLOC (NULL); @@ -1286,7 +1286,7 @@ static int record_store (rtx body, bb_info_t bb_info) { - rtx mem, rhs, const_rhs; + rtx mem, rhs, const_rhs, mem_addr; HOST_WIDE_INT offset = 0; HOST_WIDE_INT width = 0; alias_set_type spill_alias_set; @@ -1456,6 +1456,23 @@ ptr = active_local_stores; last = NULL; redundant_reason = NULL; + mem = canon_rtx (mem); + /* For alias_set != 0 canon_true_dependence should be never called. */ + if (spill_alias_set) + mem_addr = NULL_RTX; + else + { + if (group_id < 0) + mem_addr = base->val_rtx; + else + { + group_info_t group + = VEC_index (group_info_t, rtx_group_vec, group_id); + mem_addr = group->canon_base_addr; + } + if (offset) + mem_addr = plus_constant (mem_addr, offset); + } while (ptr) { @@ -1547,13 +1564,13 @@ if (canon_true_dependence (s_info->mem, GET_MODE (s_info->mem), s_info->mem_addr, - mem, rtx_varies_p)) + mem, mem_addr, rtx_varies_p)) { s_info->rhs = NULL; s_info->const_rhs = NULL; } } - + /* An insn can be deleted if every position of every one of its s_infos is zero. */ if (any_positions_needed_p (s_info) @@ -1580,9 +1597,9 @@ /* Finish filling in the store_info. */ store_info->next = insn_info->store_rec; insn_info->store_rec = store_info; - store_info->mem = canon_rtx (mem); + store_info->mem = mem; store_info->alias_set = spill_alias_set; - store_info->mem_addr = get_addr (XEXP (mem, 0)); + store_info->mem_addr = mem_addr; store_info->cse_base = base; if (width > HOST_BITS_PER_WIDE_INT) { @@ -2006,7 +2023,7 @@ static int check_mem_read_rtx (rtx *loc, void *data) { - rtx mem = *loc; + rtx mem = *loc, mem_addr; bb_info_t bb_info; insn_info_t insn_info; HOST_WIDE_INT offset = 0; @@ -2058,6 +2075,22 @@ read_info->end = offset + width; read_info->next = insn_info->read_rec; insn_info->read_rec = read_info; + /* For alias_set != 0 canon_true_dependence should be never called. */ + if (spill_alias_set) + mem_addr = NULL_RTX; + else + { + if (group_id < 0) + mem_addr = base->val_rtx; + else + { + group_info_t group + = VEC_index (group_info_t, rtx_group_vec, group_id); + mem_addr = group->canon_base_addr; + } + if (offset) + mem_addr = plus_constant (mem_addr, offset); + } /* We ignore the clobbers in store_info. The is mildly aggressive, but there really should not be a clobber followed by a read. */ @@ -2128,7 +2161,7 @@ = canon_true_dependence (store_info->mem, GET_MODE (store_info->mem), store_info->mem_addr, - mem, rtx_varies_p); + mem, mem_addr, rtx_varies_p); else if (group_id == store_info->group_id) { @@ -2139,7 +2172,7 @@ = canon_true_dependence (store_info->mem, GET_MODE (store_info->mem), store_info->mem_addr, - mem, rtx_varies_p); + mem, mem_addr, rtx_varies_p); /* If this read is just reading back something that we just stored, rewrite the read. */ @@ -2212,6 +2245,7 @@ if (store_info->rhs && store_info->group_id == -1 && store_info->cse_base == base + && width != -1 && offset >= store_info->begin && offset + width <= store_info->end && all_positions_needed_p (store_info, @@ -2224,7 +2258,7 @@ remove = canon_true_dependence (store_info->mem, GET_MODE (store_info->mem), store_info->mem_addr, - mem, rtx_varies_p); + mem, mem_addr, rtx_varies_p); if (remove) { @@ -3066,8 +3100,9 @@ if ((read_info->group_id < 0) && canon_true_dependence (group->base_mem, QImode, - group->canon_base_mem, - read_info->mem, rtx_varies_p)) + group->canon_base_addr, + read_info->mem, NULL_RTX, + rtx_varies_p)) { if (kill) bitmap_ior_into (kill, group->group_kill); diff -Naur gcc-4.4.0.orig/gcc/dwarf2out.c gcc-4.4.0/gcc/dwarf2out.c --- gcc-4.4.0.orig/gcc/dwarf2out.c 2009-03-23 16:21:38.000000000 -0700 +++ gcc-4.4.0/gcc/dwarf2out.c 2009-06-03 10:32:45.000000000 -0700 @@ -694,14 +694,15 @@ *p = cfi; } -/* Generate a new label for the CFI info to refer to. */ +/* Generate a new label for the CFI info to refer to. FORCE is true + if a label needs to be output even when using .cfi_* directives. */ char * -dwarf2out_cfi_label (void) +dwarf2out_cfi_label (bool force) { static char label[20]; - if (dwarf2out_do_cfi_asm ()) + if (!force && dwarf2out_do_cfi_asm ()) { /* In this case, we will be emitting the asm directive instead of the label, so just return a placeholder to keep the rest of the @@ -729,11 +730,59 @@ { if (label) { - output_cfi_directive (cfi); + dw_fde_ref fde = current_fde (); + + gcc_assert (fde != NULL); /* We still have to add the cfi to the list so that - lookup_cfa works later on. */ - list_head = ¤t_fde ()->dw_fde_cfi; + lookup_cfa works later on. When -g2 and above we + even need to force emitting of CFI labels and + add to list a DW_CFA_set_loc for convert_cfa_to_fb_loc_list + purposes. */ + switch (cfi->dw_cfi_opc) + { + case DW_CFA_def_cfa_offset: + case DW_CFA_def_cfa_offset_sf: + case DW_CFA_def_cfa_register: + case DW_CFA_def_cfa: + case DW_CFA_def_cfa_sf: + case DW_CFA_def_cfa_expression: + case DW_CFA_restore_state: + if (write_symbols != DWARF2_DEBUG + && write_symbols != VMS_AND_DWARF2_DEBUG) + break; + if (debug_info_level <= DINFO_LEVEL_TERSE) + break; + + if (*label == 0 || strcmp (label, "") == 0) + label = dwarf2out_cfi_label (true); + + if (fde->dw_fde_current_label == NULL + || strcmp (label, fde->dw_fde_current_label) != 0) + { + dw_cfi_ref xcfi; + + label = xstrdup (label); + + /* Set the location counter to the new label. */ + xcfi = new_cfi (); + /* It doesn't metter whether DW_CFA_set_loc + or DW_CFA_advance_loc4 is added here, those aren't + emitted into assembly, only looked up by + convert_cfa_to_fb_loc_list. */ + xcfi->dw_cfi_opc = DW_CFA_set_loc; + xcfi->dw_cfi_oprnd1.dw_cfi_addr = label; + add_cfi (&fde->dw_fde_cfi, xcfi); + fde->dw_fde_current_label = label; + } + break; + default: + break; + } + + output_cfi_directive (cfi); + + list_head = &fde->dw_fde_cfi; } /* ??? If this is a CFI for the CIE, we don't emit. This assumes that the standard CIE contents that the assembler @@ -748,7 +797,7 @@ gcc_assert (fde != NULL); if (*label == 0) - label = dwarf2out_cfi_label (); + label = dwarf2out_cfi_label (false); if (fde->dw_fde_current_label == NULL || strcmp (label, fde->dw_fde_current_label) != 0) @@ -1464,7 +1513,7 @@ if (offset == 0) return; - label = dwarf2out_cfi_label (); + label = dwarf2out_cfi_label (false); dwarf2out_args_size_adjust (offset, label); } @@ -2417,7 +2466,7 @@ return; } - label = dwarf2out_cfi_label (); + label = dwarf2out_cfi_label (false); src = find_reg_note (insn, REG_FRAME_RELATED_EXPR, NULL_RTX); if (src) insn = XEXP (src, 0); @@ -2731,42 +2780,42 @@ case DW_CFA_offset: case DW_CFA_offset_extended: case DW_CFA_offset_extended_sf: - r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0); + r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1); fprintf (asm_out_file, "\t.cfi_offset %lu, "HOST_WIDE_INT_PRINT_DEC"\n", r, cfi->dw_cfi_oprnd2.dw_cfi_offset); break; case DW_CFA_restore: case DW_CFA_restore_extended: - r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0); + r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1); fprintf (asm_out_file, "\t.cfi_restore %lu\n", r); break; case DW_CFA_undefined: - r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0); + r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1); fprintf (asm_out_file, "\t.cfi_undefined %lu\n", r); break; case DW_CFA_same_value: - r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0); + r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1); fprintf (asm_out_file, "\t.cfi_same_value %lu\n", r); break; case DW_CFA_def_cfa: case DW_CFA_def_cfa_sf: - r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0); + r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1); fprintf (asm_out_file, "\t.cfi_def_cfa %lu, "HOST_WIDE_INT_PRINT_DEC"\n", r, cfi->dw_cfi_oprnd2.dw_cfi_offset); break; case DW_CFA_def_cfa_register: - r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0); + r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1); fprintf (asm_out_file, "\t.cfi_def_cfa_register %lu\n", r); break; case DW_CFA_register: - r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0); - r2 = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd2.dw_cfi_reg_num, 0); + r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1); + r2 = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd2.dw_cfi_reg_num, 1); fprintf (asm_out_file, "\t.cfi_register %lu, %lu\n", r, r2); break; @@ -14646,6 +14695,12 @@ /* Prevent broken recursion; we can't hand off to the same type. */ gcc_assert (DECL_ORIGINAL_TYPE (TYPE_NAME (type)) != type); + /* Use the DIE of the containing namespace as the parent DIE of + the type description DIE we want to generate. */ + if (DECL_CONTEXT (TYPE_NAME (type)) + && TREE_CODE (DECL_CONTEXT (TYPE_NAME (type))) == NAMESPACE_DECL) + context_die = lookup_decl_die (DECL_CONTEXT (TYPE_NAME (type))); + TREE_ASM_WRITTEN (type) = 1; gen_decl_die (TYPE_NAME (type), NULL, context_die); return; diff -Naur gcc-4.4.0.orig/gcc/emutls.c gcc-4.4.0/gcc/emutls.c --- gcc-4.4.0.orig/gcc/emutls.c 2009-04-09 16:23:07.000000000 -0700 +++ gcc-4.4.0/gcc/emutls.c 2009-06-27 10:52:29.000000000 -0700 @@ -155,23 +155,23 @@ if (__builtin_expect (arr == NULL, 0)) { pointer size = offset + 32; - arr = calloc (size, sizeof (void *)); + arr = calloc (size + 1, sizeof (void *)); if (arr == NULL) abort (); arr->size = size; __gthread_setspecific (emutls_key, (void *) arr); } - else if (__builtin_expect (offset >= arr->size, 0)) + else if (__builtin_expect (offset > arr->size, 0)) { pointer orig_size = arr->size; pointer size = orig_size * 2; - if (offset >= size) + if (offset > size) size = offset + 32; - arr = realloc (arr, size * sizeof (void *)); + arr = realloc (arr, (size + 1) * sizeof (void *)); if (arr == NULL) abort (); arr->size = size; - memset (arr->data + orig_size - 1, 0, + memset (arr->data + orig_size, 0, (size - orig_size) * sizeof (void *)); __gthread_setspecific (emutls_key, (void *) arr); } diff -Naur gcc-4.4.0.orig/gcc/expr.c gcc-4.4.0/gcc/expr.c --- gcc-4.4.0.orig/gcc/expr.c 2009-03-03 05:05:53.000000000 -0800 +++ gcc-4.4.0/gcc/expr.c 2009-06-16 07:28:47.000000000 -0700 @@ -8257,7 +8257,8 @@ /* If neither mode is BLKmode, and both modes are the same size then we can use gen_lowpart. */ else if (mode != BLKmode && GET_MODE (op0) != BLKmode - && GET_MODE_SIZE (mode) == GET_MODE_SIZE (GET_MODE (op0))) + && GET_MODE_SIZE (mode) == GET_MODE_SIZE (GET_MODE (op0)) + && !COMPLEX_MODE_P (GET_MODE (op0))) { if (GET_CODE (op0) == SUBREG) op0 = force_reg (GET_MODE (op0), op0); diff -Naur gcc-4.4.0.orig/gcc/fold-const.c gcc-4.4.0/gcc/fold-const.c --- gcc-4.4.0.orig/gcc/fold-const.c 2009-03-11 08:24:00.000000000 -0700 +++ gcc-4.4.0/gcc/fold-const.c 2009-05-20 14:11:10.000000000 -0700 @@ -5293,31 +5293,34 @@ break; case GT_EXPR: - /* If C1 is C2 - 1, this is max(A, C2). */ + /* If C1 is C2 - 1, this is max(A, C2), but use ARG00's type for + MAX_EXPR, to preserve the signedness of the comparison. */ if (! operand_equal_p (arg2, TYPE_MIN_VALUE (type), OEP_ONLY_CONST) && operand_equal_p (arg01, const_binop (MINUS_EXPR, arg2, build_int_cst (type, 1), 0), OEP_ONLY_CONST)) - return pedantic_non_lvalue (fold_build2 (MAX_EXPR, - type, - fold_convert (type, arg1), - arg2)); + return pedantic_non_lvalue (fold_convert (type, + fold_build2 (MAX_EXPR, TREE_TYPE (arg00), + arg00, + fold_convert (TREE_TYPE (arg00), + arg2)))); break; case GE_EXPR: - /* If C1 is C2 + 1, this is max(A, C2). */ + /* If C1 is C2 + 1, this is max(A, C2), with the same care as above. */ if (! operand_equal_p (arg2, TYPE_MAX_VALUE (type), OEP_ONLY_CONST) && operand_equal_p (arg01, const_binop (PLUS_EXPR, arg2, build_int_cst (type, 1), 0), OEP_ONLY_CONST)) - return pedantic_non_lvalue (fold_build2 (MAX_EXPR, - type, - fold_convert (type, arg1), - arg2)); + return pedantic_non_lvalue (fold_convert (type, + fold_build2 (MAX_EXPR, TREE_TYPE (arg00), + arg00, + fold_convert (TREE_TYPE (arg00), + arg2)))); break; case NE_EXPR: break; @@ -11360,6 +11363,8 @@ if (prec < HOST_BITS_PER_WIDE_INT || newmask == ~(unsigned HOST_WIDE_INT) 0) { + tree newmaskt; + if (shift_type != TREE_TYPE (arg0)) { tem = fold_build2 (TREE_CODE (arg0), shift_type, @@ -11370,9 +11375,9 @@ } else tem = op0; - return fold_build2 (BIT_AND_EXPR, type, tem, - build_int_cst_type (TREE_TYPE (op1), - newmask)); + newmaskt = build_int_cst_type (TREE_TYPE (op1), newmask); + if (!tree_int_cst_equal (newmaskt, arg1)) + return fold_build2 (BIT_AND_EXPR, type, tem, newmaskt); } } } @@ -11861,7 +11866,8 @@ if (code == LROTATE_EXPR || code == RROTATE_EXPR) low = low % TYPE_PRECISION (type); else if (TYPE_UNSIGNED (type) || code == LSHIFT_EXPR) - return build_int_cst (type, 0); + return omit_one_operand (type, build_int_cst (type, 0), + TREE_OPERAND (arg0, 0)); else low = TYPE_PRECISION (type) - 1; } diff -Naur gcc-4.4.0.orig/gcc/fortran/data.c gcc-4.4.0/gcc/fortran/data.c --- gcc-4.4.0.orig/gcc/fortran/data.c 2008-07-28 17:45:52.000000000 -0700 +++ gcc-4.4.0/gcc/fortran/data.c 2009-06-04 10:01:45.000000000 -0700 @@ -416,7 +416,11 @@ } if (ref || last_ts->type == BT_CHARACTER) - expr = create_character_intializer (init, last_ts, ref, rvalue); + { + if (lvalue->ts.cl->length == NULL && !(ref && ref->u.ss.length != NULL)) + return FAILURE; + expr = create_character_intializer (init, last_ts, ref, rvalue); + } else { /* Overwriting an existing initializer is non-standard but usually only diff -Naur gcc-4.4.0.orig/gcc/fortran/f95-lang.c gcc-4.4.0/gcc/fortran/f95-lang.c --- gcc-4.4.0.orig/gcc/fortran/f95-lang.c 2008-10-07 11:15:32.000000000 -0700 +++ gcc-4.4.0/gcc/fortran/f95-lang.c 2009-04-22 04:37:04.000000000 -0700 @@ -917,12 +917,12 @@ gfc_define_builtin ("__builtin_fmodf", mfunc_float[1], BUILT_IN_FMODF, "fmodf", true); - gfc_define_builtin ("__builtin_infl", mfunc_longdouble[3], - BUILT_IN_INFL, "__builtin_infl", true); - gfc_define_builtin ("__builtin_inf", mfunc_double[3], - BUILT_IN_INF, "__builtin_inf", true); - gfc_define_builtin ("__builtin_inff", mfunc_float[3], - BUILT_IN_INFF, "__builtin_inff", true); + gfc_define_builtin ("__builtin_huge_vall", mfunc_longdouble[3], + BUILT_IN_HUGE_VALL, "__builtin_huge_vall", true); + gfc_define_builtin ("__builtin_huge_val", mfunc_double[3], + BUILT_IN_HUGE_VAL, "__builtin_huge_val", true); + gfc_define_builtin ("__builtin_huge_valf", mfunc_float[3], + BUILT_IN_HUGE_VALF, "__builtin_huge_valf", true); /* lround{f,,l} and llround{f,,l} */ type = tree_cons (NULL_TREE, float_type_node, void_list_node); diff -Naur gcc-4.4.0.orig/gcc/fortran/interface.c gcc-4.4.0/gcc/fortran/interface.c --- gcc-4.4.0.orig/gcc/fortran/interface.c 2009-02-26 10:43:50.000000000 -0800 +++ gcc-4.4.0/gcc/fortran/interface.c 2009-06-29 09:44:49.000000000 -0700 @@ -2502,6 +2502,7 @@ gfc_search_interface (gfc_interface *intr, int sub_flag, gfc_actual_arglist **ap) { + gfc_symbol *elem_sym = NULL; for (; intr; intr = intr->next) { if (sub_flag && intr->sym->attr.function) @@ -2510,10 +2511,19 @@ continue; if (gfc_arglist_matches_symbol (ap, intr->sym)) - return intr->sym; + { + /* Satisfy 12.4.4.1 such that an elemental match has lower + weight than a non-elemental match. */ + if (intr->sym->attr.elemental) + { + elem_sym = intr->sym; + continue; + } + return intr->sym; + } } - return NULL; + return elem_sym ? elem_sym : NULL; } diff -Naur gcc-4.4.0.orig/gcc/fortran/module.c gcc-4.4.0/gcc/fortran/module.c --- gcc-4.4.0.orig/gcc/fortran/module.c 2009-02-26 23:45:47.000000000 -0800 +++ gcc-4.4.0/gcc/fortran/module.c 2009-05-22 05:54:23.000000000 -0700 @@ -4738,7 +4738,7 @@ if ((file = fopen (filename, "r")) == NULL) return -1; - /* Read two lines. */ + /* Read the first line. */ if (fgets (buf, sizeof (buf) - 1, file) == NULL) { fclose (file); @@ -4748,8 +4748,12 @@ /* The file also needs to be overwritten if the version number changed. */ n = strlen ("GFORTRAN module version '" MOD_VERSION "' created"); if (strncmp (buf, "GFORTRAN module version '" MOD_VERSION "' created", n) != 0) - return -1; + { + fclose (file); + return -1; + } + /* Read a second line. */ if (fgets (buf, sizeof (buf) - 1, file) == NULL) { fclose (file); diff -Naur gcc-4.4.0.orig/gcc/fortran/resolve.c gcc-4.4.0/gcc/fortran/resolve.c --- gcc-4.4.0.orig/gcc/fortran/resolve.c 2009-04-03 13:56:54.000000000 -0700 +++ gcc-4.4.0/gcc/fortran/resolve.c 2009-06-20 02:21:06.000000000 -0700 @@ -82,6 +82,18 @@ return formal_arg_flag; } +/* Is the symbol host associated? */ +static bool +is_sym_host_assoc (gfc_symbol *sym, gfc_namespace *ns) +{ + for (ns = ns->parent; ns; ns = ns->parent) + { + if (sym->ns == ns) + return true; + } + + return false; +} /* Ensure a typespec used is valid; for instance, TYPE(t) is invalid if t is an ABSTRACT derived-type. If where is not NULL, an error message with that @@ -8715,13 +8727,15 @@ if (c->ts.type == BT_DERIVED && sym->component_access != ACCESS_PRIVATE && gfc_check_access (sym->attr.access, sym->ns->default_access) + && !is_sym_host_assoc (c->ts.derived, sym->ns) && !c->ts.derived->attr.use_assoc && !gfc_check_access (c->ts.derived->attr.access, c->ts.derived->ns->default_access)) { - gfc_error ("The component '%s' is a PRIVATE type and cannot be " - "a component of '%s', which is PUBLIC at %L", - c->name, sym->name, &sym->declared_at); + gfc_notify_std (GFC_STD_F2003, "Fortran 2003: the component '%s' " + "is a PRIVATE type and cannot be a component of " + "'%s', which is PUBLIC at %L", c->name, + sym->name, &sym->declared_at); return FAILURE; } @@ -8803,9 +8817,7 @@ for (nl = sym->namelist; nl; nl = nl->next) { if (!nl->sym->attr.use_assoc - && !(sym->ns->parent == nl->sym->ns) - && !(sym->ns->parent - && sym->ns->parent->parent == nl->sym->ns) + && !is_sym_host_assoc (nl->sym, sym->ns) && !gfc_check_access(nl->sym->attr.access, nl->sym->ns->default_access)) { @@ -8827,7 +8839,7 @@ /* Types with private components that are defined in the same module. */ if (nl->sym->ts.type == BT_DERIVED - && !(sym->ns->parent == nl->sym->ts.derived->ns) + && !is_sym_host_assoc (nl->sym->ts.derived, sym->ns) && !gfc_check_access (nl->sym->ts.derived->attr.private_comp ? ACCESS_PRIVATE : ACCESS_UNKNOWN, nl->sym->ns->default_access)) @@ -9430,9 +9442,12 @@ static gfc_try next_data_value (void) { - while (mpz_cmp_ui (values.left, 0) == 0) { + if (!gfc_is_constant_expr (values.vnode->expr)) + gfc_error ("non-constant DATA value at %L", + &values.vnode->expr->where); + if (values.vnode->next == NULL) return FAILURE; diff -Naur gcc-4.4.0.orig/gcc/fortran/simplify.c gcc-4.4.0/gcc/fortran/simplify.c --- gcc-4.4.0.orig/gcc/fortran/simplify.c 2009-03-06 01:06:51.000000000 -0800 +++ gcc-4.4.0/gcc/fortran/simplify.c 2009-06-03 12:39:09.000000000 -0700 @@ -2410,10 +2410,13 @@ bs = gfc_integer_kinds[i].bit_size; if (mpz_cmp_si (e->value.integer, 0) == 0) lz = bs; + else if (mpz_cmp_si (e->value.integer, 0) < 0) + lz = 0; else lz = bs - mpz_sizeinbase (e->value.integer, 2); - result = gfc_constant_result (BT_INTEGER, gfc_default_integer_kind, &e->where); + result = gfc_constant_result (BT_INTEGER, gfc_default_integer_kind, + &e->where); mpz_set_ui (result->value.integer, lz); return result; diff -Naur gcc-4.4.0.orig/gcc/fortran/trans-array.c gcc-4.4.0/gcc/fortran/trans-array.c --- gcc-4.4.0.orig/gcc/fortran/trans-array.c 2009-02-25 22:23:42.000000000 -0800 +++ gcc-4.4.0/gcc/fortran/trans-array.c 2009-05-10 09:14:37.000000000 -0700 @@ -1246,10 +1246,11 @@ gfc_init_se (&se, NULL); gfc_conv_constant (&se, p->expr); + if (c->expr->ts.type != BT_CHARACTER) + se.expr = fold_convert (type, se.expr); /* For constant character array constructors we build an array of pointers. */ - if (p->expr->ts.type == BT_CHARACTER - && POINTER_TYPE_P (type)) + else if (POINTER_TYPE_P (type)) se.expr = gfc_build_addr_expr (gfc_get_pchar_type (p->expr->ts.kind), se.expr); @@ -1618,7 +1619,9 @@ { gfc_init_se (&se, NULL); gfc_conv_constant (&se, c->expr); - if (c->expr->ts.type == BT_CHARACTER && POINTER_TYPE_P (type)) + if (c->expr->ts.type != BT_CHARACTER) + se.expr = fold_convert (type, se.expr); + else if (POINTER_TYPE_P (type)) se.expr = gfc_build_addr_expr (gfc_get_pchar_type (c->expr->ts.kind), se.expr); list = tree_cons (build_int_cst (gfc_array_index_type, nelem), diff -Naur gcc-4.4.0.orig/gcc/fortran/trans.c gcc-4.4.0/gcc/fortran/trans.c --- gcc-4.4.0.orig/gcc/fortran/trans.c 2008-11-01 06:26:19.000000000 -0700 +++ gcc-4.4.0/gcc/fortran/trans.c 2009-05-10 08:34:55.000000000 -0700 @@ -1109,12 +1109,14 @@ if (code->resolved_isym && code->resolved_isym->id == GFC_ISYM_MVBITS) is_mvbits = true; - res = gfc_trans_call (code, is_mvbits); + res = gfc_trans_call (code, is_mvbits, NULL_TREE, + NULL_TREE, false); } break; case EXEC_ASSIGN_CALL: - res = gfc_trans_call (code, true); + res = gfc_trans_call (code, true, NULL_TREE, + NULL_TREE, false); break; case EXEC_RETURN: diff -Naur gcc-4.4.0.orig/gcc/fortran/trans-decl.c gcc-4.4.0/gcc/fortran/trans-decl.c --- gcc-4.4.0.orig/gcc/fortran/trans-decl.c 2009-04-08 07:03:33.000000000 -0700 +++ gcc-4.4.0/gcc/fortran/trans-decl.c 2009-06-03 12:39:09.000000000 -0700 @@ -141,6 +141,8 @@ tree gfor_fndecl_size0; tree gfor_fndecl_size1; tree gfor_fndecl_iargc; +tree gfor_fndecl_clz128; +tree gfor_fndecl_ctz128; /* Intrinsic functions implemented in Fortran. */ tree gfor_fndecl_sc_kind; @@ -2488,6 +2490,19 @@ gfc_build_library_function_decl (get_identifier (PREFIX ("iargc")), gfc_int4_type_node, 0); + + if (gfc_type_for_size (128, true)) + { + tree uint128 = gfc_type_for_size (128, true); + + gfor_fndecl_clz128 = + gfc_build_library_function_decl (get_identifier (PREFIX ("clz128")), + integer_type_node, 1, uint128); + + gfor_fndecl_ctz128 = + gfc_build_library_function_decl (get_identifier (PREFIX ("ctz128")), + integer_type_node, 1, uint128); + } } diff -Naur gcc-4.4.0.orig/gcc/fortran/trans-expr.c gcc-4.4.0/gcc/fortran/trans-expr.c --- gcc-4.4.0.orig/gcc/fortran/trans-expr.c 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/fortran/trans-expr.c 2009-06-14 06:39:37.000000000 -0700 @@ -1526,48 +1526,6 @@ } -/* Translate the call for an elemental subroutine call used in an operator - assignment. This is a simplified version of gfc_conv_function_call. */ - -tree -gfc_conv_operator_assign (gfc_se *lse, gfc_se *rse, gfc_symbol *sym) -{ - tree args; - tree tmp; - gfc_se se; - stmtblock_t block; - - /* Only elemental subroutines with two arguments. */ - gcc_assert (sym->attr.elemental && sym->attr.subroutine); - gcc_assert (sym->formal->next->next == NULL); - - gfc_init_block (&block); - - gfc_add_block_to_block (&block, &lse->pre); - gfc_add_block_to_block (&block, &rse->pre); - - /* Build the argument list for the call, including hidden string lengths. */ - args = gfc_chainon_list (NULL_TREE, build_fold_addr_expr (lse->expr)); - args = gfc_chainon_list (args, build_fold_addr_expr (rse->expr)); - if (lse->string_length != NULL_TREE) - args = gfc_chainon_list (args, lse->string_length); - if (rse->string_length != NULL_TREE) - args = gfc_chainon_list (args, rse->string_length); - - /* Build the function call. */ - gfc_init_se (&se, NULL); - gfc_conv_function_val (&se, sym); - tmp = TREE_TYPE (TREE_TYPE (TREE_TYPE (se.expr))); - tmp = build_call_list (tmp, se.expr, args); - gfc_add_expr_to_block (&block, tmp); - - gfc_add_block_to_block (&block, &lse->post); - gfc_add_block_to_block (&block, &rse->post); - - return gfc_finish_block (&block); -} - - /* Initialize MAPPING. */ void @@ -2782,7 +2740,18 @@ break; } + if (e->expr_type == EXPR_OP + && e->value.op.op == INTRINSIC_PARENTHESES + && e->value.op.op1->expr_type == EXPR_VARIABLE) + { + tree local_tmp; + local_tmp = gfc_evaluate_now (tmp, &se->pre); + local_tmp = gfc_copy_alloc_comp (e->ts.derived, local_tmp, tmp, parm_rank); + gfc_add_expr_to_block (&se->post, local_tmp); + } + tmp = gfc_deallocate_alloc_comp (e->ts.derived, tmp, parm_rank); + gfc_add_expr_to_block (&se->post, tmp); } @@ -4430,11 +4399,14 @@ len = fold_build2 (MULT_EXPR, gfc_array_index_type, len, fold_convert (gfc_array_index_type, tmp)); - /* Convert arguments to the correct types. */ + /* If we are zeroing a local array avoid taking its address by emitting + a = {} instead. */ if (!POINTER_TYPE_P (TREE_TYPE (dest))) - dest = gfc_build_addr_expr (pvoid_type_node, dest); - else - dest = fold_convert (pvoid_type_node, dest); + return build2 (MODIFY_EXPR, void_type_node, + dest, build_constructor (TREE_TYPE (dest), NULL)); + + /* Convert arguments to the correct types. */ + dest = fold_convert (pvoid_type_node, dest); len = fold_convert (size_type_node, len); /* Construct call to __builtin_memset. */ diff -Naur gcc-4.4.0.orig/gcc/fortran/trans.h gcc-4.4.0/gcc/fortran/trans.h --- gcc-4.4.0.orig/gcc/fortran/trans.h 2008-12-18 02:05:54.000000000 -0800 +++ gcc-4.4.0/gcc/fortran/trans.h 2009-06-03 12:39:09.000000000 -0700 @@ -310,9 +310,6 @@ /* Does an intrinsic map directly to an external library call. */ int gfc_is_intrinsic_libcall (gfc_expr *); -/* Used to call the elemental subroutines used in operator assignments. */ -tree gfc_conv_operator_assign (gfc_se *, gfc_se *, gfc_symbol *); - /* Also used to CALL subroutines. */ int gfc_conv_function_call (gfc_se *, gfc_symbol *, gfc_actual_arglist *, tree); @@ -594,6 +591,8 @@ extern GTY(()) tree gfor_fndecl_size0; extern GTY(()) tree gfor_fndecl_size1; extern GTY(()) tree gfor_fndecl_iargc; +extern GTY(()) tree gfor_fndecl_clz128; +extern GTY(()) tree gfor_fndecl_ctz128; /* Implemented in Fortran. */ extern GTY(()) tree gfor_fndecl_sc_kind; diff -Naur gcc-4.4.0.orig/gcc/fortran/trans-intrinsic.c gcc-4.4.0/gcc/fortran/trans-intrinsic.c --- gcc-4.4.0.orig/gcc/fortran/trans-intrinsic.c 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/fortran/trans-intrinsic.c 2009-06-03 12:39:09.000000000 -0700 @@ -2707,53 +2707,51 @@ tree leadz; tree bit_size; tree tmp; - int arg_kind; - int i, n, s; + tree func; + int s, argsize; gfc_conv_intrinsic_function_args (se, expr, &arg, 1); + argsize = TYPE_PRECISION (TREE_TYPE (arg)); /* Which variant of __builtin_clz* should we call? */ - arg_kind = expr->value.function.actual->expr->ts.kind; - i = gfc_validate_kind (BT_INTEGER, arg_kind, false); - switch (arg_kind) + if (argsize <= INT_TYPE_SIZE) { - case 1: - case 2: - case 4: - arg_type = unsigned_type_node; - n = BUILT_IN_CLZ; - break; - - case 8: - arg_type = long_unsigned_type_node; - n = BUILT_IN_CLZL; - break; - - case 16: - arg_type = long_long_unsigned_type_node; - n = BUILT_IN_CLZLL; - break; - - default: - gcc_unreachable (); + arg_type = unsigned_type_node; + func = built_in_decls[BUILT_IN_CLZ]; + } + else if (argsize <= LONG_TYPE_SIZE) + { + arg_type = long_unsigned_type_node; + func = built_in_decls[BUILT_IN_CLZL]; + } + else if (argsize <= LONG_LONG_TYPE_SIZE) + { + arg_type = long_long_unsigned_type_node; + func = built_in_decls[BUILT_IN_CLZLL]; + } + else + { + gcc_assert (argsize == 128); + arg_type = gfc_build_uint_type (argsize); + func = gfor_fndecl_clz128; } - /* Convert the actual argument to the proper argument type for the built-in + /* Convert the actual argument twice: first, to the unsigned type of the + same size; then, to the proper argument type for the built-in function. But the return type is of the default INTEGER kind. */ + arg = fold_convert (gfc_build_uint_type (argsize), arg); arg = fold_convert (arg_type, arg); result_type = gfc_get_int_type (gfc_default_integer_kind); /* Compute LEADZ for the case i .ne. 0. */ - s = TYPE_PRECISION (arg_type) - gfc_integer_kinds[i].bit_size; - tmp = fold_convert (result_type, build_call_expr (built_in_decls[n], 1, arg)); + s = TYPE_PRECISION (arg_type) - argsize; + tmp = fold_convert (result_type, build_call_expr (func, 1, arg)); leadz = fold_build2 (MINUS_EXPR, result_type, tmp, build_int_cst (result_type, s)); /* Build BIT_SIZE. */ - bit_size = build_int_cst (result_type, gfc_integer_kinds[i].bit_size); + bit_size = build_int_cst (result_type, argsize); - /* ??? For some combinations of targets and integer kinds, the condition - can be avoided if CLZ_DEFINED_VALUE_AT_ZERO is used. Later. */ cond = fold_build2 (EQ_EXPR, boolean_type_node, arg, build_int_cst (arg_type, 0)); se->expr = fold_build3 (COND_EXPR, result_type, cond, bit_size, leadz); @@ -2774,50 +2772,48 @@ tree result_type; tree trailz; tree bit_size; - int arg_kind; - int i, n; + tree func; + int argsize; gfc_conv_intrinsic_function_args (se, expr, &arg, 1); + argsize = TYPE_PRECISION (TREE_TYPE (arg)); - /* Which variant of __builtin_clz* should we call? */ - arg_kind = expr->value.function.actual->expr->ts.kind; - i = gfc_validate_kind (BT_INTEGER, arg_kind, false); - switch (expr->ts.kind) + /* Which variant of __builtin_ctz* should we call? */ + if (argsize <= INT_TYPE_SIZE) { - case 1: - case 2: - case 4: - arg_type = unsigned_type_node; - n = BUILT_IN_CTZ; - break; - - case 8: - arg_type = long_unsigned_type_node; - n = BUILT_IN_CTZL; - break; - - case 16: - arg_type = long_long_unsigned_type_node; - n = BUILT_IN_CTZLL; - break; - - default: - gcc_unreachable (); + arg_type = unsigned_type_node; + func = built_in_decls[BUILT_IN_CTZ]; + } + else if (argsize <= LONG_TYPE_SIZE) + { + arg_type = long_unsigned_type_node; + func = built_in_decls[BUILT_IN_CTZL]; + } + else if (argsize <= LONG_LONG_TYPE_SIZE) + { + arg_type = long_long_unsigned_type_node; + func = built_in_decls[BUILT_IN_CTZLL]; + } + else + { + gcc_assert (argsize == 128); + arg_type = gfc_build_uint_type (argsize); + func = gfor_fndecl_ctz128; } - /* Convert the actual argument to the proper argument type for the built-in + /* Convert the actual argument twice: first, to the unsigned type of the + same size; then, to the proper argument type for the built-in function. But the return type is of the default INTEGER kind. */ + arg = fold_convert (gfc_build_uint_type (argsize), arg); arg = fold_convert (arg_type, arg); result_type = gfc_get_int_type (gfc_default_integer_kind); /* Compute TRAILZ for the case i .ne. 0. */ - trailz = fold_convert (result_type, build_call_expr (built_in_decls[n], 1, arg)); + trailz = fold_convert (result_type, build_call_expr (func, 1, arg)); /* Build BIT_SIZE. */ - bit_size = build_int_cst (result_type, gfc_integer_kinds[i].bit_size); + bit_size = build_int_cst (result_type, argsize); - /* ??? For some combinations of targets and integer kinds, the condition - can be avoided if CTZ_DEFINED_VALUE_AT_ZERO is used. Later. */ cond = fold_build2 (EQ_EXPR, boolean_type_node, arg, build_int_cst (arg_type, 0)); se->expr = fold_build3 (COND_EXPR, result_type, cond, bit_size, trailz); @@ -3129,32 +3125,32 @@ /* NEAREST (s, dir) is translated into - tmp = copysign (INF, dir); + tmp = copysign (HUGE_VAL, dir); return nextafter (s, tmp); */ static void gfc_conv_intrinsic_nearest (gfc_se * se, gfc_expr * expr) { tree args[2], type, tmp; - int nextafter, copysign, inf; + int nextafter, copysign, huge_val; switch (expr->ts.kind) { case 4: nextafter = BUILT_IN_NEXTAFTERF; copysign = BUILT_IN_COPYSIGNF; - inf = BUILT_IN_INFF; + huge_val = BUILT_IN_HUGE_VALF; break; case 8: nextafter = BUILT_IN_NEXTAFTER; copysign = BUILT_IN_COPYSIGN; - inf = BUILT_IN_INF; + huge_val = BUILT_IN_HUGE_VAL; break; case 10: case 16: nextafter = BUILT_IN_NEXTAFTERL; copysign = BUILT_IN_COPYSIGNL; - inf = BUILT_IN_INFL; + huge_val = BUILT_IN_HUGE_VALL; break; default: gcc_unreachable (); @@ -3163,7 +3159,7 @@ type = gfc_typenode_for_spec (&expr->ts); gfc_conv_intrinsic_function_args (se, expr, args, 2); tmp = build_call_expr (built_in_decls[copysign], 2, - build_call_expr (built_in_decls[inf], 0), + build_call_expr (built_in_decls[huge_val], 0), fold_convert (type, args[1])); se->expr = build_call_expr (built_in_decls[nextafter], 2, fold_convert (type, args[0]), tmp); diff -Naur gcc-4.4.0.orig/gcc/fortran/trans-stmt.c gcc-4.4.0/gcc/fortran/trans-stmt.c --- gcc-4.4.0.orig/gcc/fortran/trans-stmt.c 2009-01-27 10:07:54.000000000 -0800 +++ gcc-4.4.0/gcc/fortran/trans-stmt.c 2009-05-10 08:34:55.000000000 -0700 @@ -270,9 +270,11 @@ gfc_conv_expr_descriptor (&parmse, e, gfc_walk_expr (e)); gfc_add_block_to_block (&se->pre, &parmse.pre); - /* If we've got INTENT(INOUT), initialize the array temporary with - a copy of the values. */ - if (fsym->attr.intent == INTENT_INOUT) + /* If we've got INTENT(INOUT) or a derived type with INTENT(OUT), + initialize the array temporary with a copy of the values. */ + if (fsym->attr.intent == INTENT_INOUT + || (fsym->ts.type ==BT_DERIVED + && fsym->attr.intent == INTENT_OUT)) initial = parmse.expr; else initial = NULL_TREE; @@ -332,12 +334,16 @@ /* Translate the CALL statement. Builds a call to an F95 subroutine. */ tree -gfc_trans_call (gfc_code * code, bool dependency_check) +gfc_trans_call (gfc_code * code, bool dependency_check, + tree mask, tree count1, bool invert) { gfc_se se; gfc_ss * ss; int has_alternate_specifier; gfc_dep_check check_variable; + tree index = NULL_TREE; + tree maskexpr = NULL_TREE; + tree tmp; /* A CALL starts a new block because the actual arguments may have to be evaluated first. */ @@ -429,10 +435,31 @@ gfc_start_scalarized_body (&loop, &body); gfc_init_block (&block); + if (mask && count1) + { + /* Form the mask expression according to the mask. */ + index = count1; + maskexpr = gfc_build_array_ref (mask, index, NULL); + if (invert) + maskexpr = fold_build1 (TRUTH_NOT_EXPR, TREE_TYPE (maskexpr), + maskexpr); + } + /* Add the subroutine call to the block. */ - gfc_conv_function_call (&loopse, code->resolved_sym, code->ext.actual, - NULL_TREE); - gfc_add_expr_to_block (&loopse.pre, loopse.expr); + gfc_conv_function_call (&loopse, code->resolved_sym, + code->ext.actual, NULL_TREE); + + if (mask && count1) + { + tmp = build3_v (COND_EXPR, maskexpr, loopse.expr, + build_empty_stmt ()); + gfc_add_expr_to_block (&loopse.pre, tmp); + tmp = fold_build2 (PLUS_EXPR, gfc_array_index_type, + count1, gfc_index_one_node); + gfc_add_modify (&loopse.pre, count1, tmp); + } + else + gfc_add_expr_to_block (&loopse.pre, loopse.expr); gfc_add_block_to_block (&block, &loopse.pre); gfc_add_block_to_block (&block, &loopse.post); @@ -2981,7 +3008,7 @@ /* Explicit subroutine calls are prevented by the frontend but interface assignments can legitimately produce them. */ case EXEC_ASSIGN_CALL: - assign = gfc_trans_call (c, true); + assign = gfc_trans_call (c, true, NULL_TREE, NULL_TREE, false); tmp = gfc_trans_nested_forall_loop (nested_forall_info, assign, 1); gfc_add_expr_to_block (&block, tmp); break; @@ -3176,7 +3203,7 @@ gfc_trans_where_assign (gfc_expr *expr1, gfc_expr *expr2, tree mask, bool invert, tree count1, tree count2, - gfc_symbol *sym) + gfc_code *cnext) { gfc_se lse; gfc_se rse; @@ -3190,6 +3217,10 @@ stmtblock_t body; tree index, maskexpr; + /* A defined assignment. */ + if (cnext && cnext->resolved_sym) + return gfc_trans_call (cnext, true, mask, count1, invert); + #if 0 /* TODO: handle this special case. Special case a single function returning an array. */ @@ -3291,11 +3322,8 @@ maskexpr = fold_build1 (TRUTH_NOT_EXPR, TREE_TYPE (maskexpr), maskexpr); /* Use the scalar assignment as is. */ - if (sym == NULL) - tmp = gfc_trans_scalar_assign (&lse, &rse, expr1->ts, - loop.temp_ss != NULL, false); - else - tmp = gfc_conv_operator_assign (&lse, &rse, sym); + tmp = gfc_trans_scalar_assign (&lse, &rse, expr1->ts, + loop.temp_ss != NULL, false); tmp = build3_v (COND_EXPR, maskexpr, tmp, build_empty_stmt ()); @@ -3562,7 +3590,7 @@ tmp = gfc_trans_where_assign (expr1, expr2, cmask, invert, count1, count2, - cnext->resolved_sym); + cnext); tmp = gfc_trans_nested_forall_loop (nested_forall_info, tmp, 1); @@ -3580,7 +3608,7 @@ tmp = gfc_trans_where_assign (expr1, expr2, cmask, invert, count1, count2, - cnext->resolved_sym); + cnext); gfc_add_expr_to_block (block, tmp); } diff -Naur gcc-4.4.0.orig/gcc/fortran/trans-stmt.h gcc-4.4.0/gcc/fortran/trans-stmt.h --- gcc-4.4.0.orig/gcc/fortran/trans-stmt.h 2008-04-05 15:23:27.000000000 -0700 +++ gcc-4.4.0/gcc/fortran/trans-stmt.h 2009-05-10 08:34:55.000000000 -0700 @@ -39,7 +39,7 @@ tree gfc_trans_entry (gfc_code *); tree gfc_trans_pause (gfc_code *); tree gfc_trans_stop (gfc_code *); -tree gfc_trans_call (gfc_code *, bool); +tree gfc_trans_call (gfc_code *, bool, tree, tree, bool); tree gfc_trans_return (gfc_code *); tree gfc_trans_if (gfc_code *); tree gfc_trans_arithmetic_if (gfc_code *); diff -Naur gcc-4.4.0.orig/gcc/fortran/trans-types.c gcc-4.4.0/gcc/fortran/trans-types.c --- gcc-4.4.0.orig/gcc/fortran/trans-types.c 2009-03-30 07:53:17.000000000 -0700 +++ gcc-4.4.0/gcc/fortran/trans-types.c 2009-06-03 12:39:09.000000000 -0700 @@ -595,7 +595,7 @@ return make_signed_type (mode_precision); } -static tree +tree gfc_build_uint_type (int size) { if (size == CHAR_TYPE_SIZE) diff -Naur gcc-4.4.0.orig/gcc/fortran/trans-types.h gcc-4.4.0/gcc/fortran/trans-types.h --- gcc-4.4.0.orig/gcc/fortran/trans-types.h 2008-05-18 15:45:05.000000000 -0700 +++ gcc-4.4.0/gcc/fortran/trans-types.h 2009-06-03 12:39:09.000000000 -0700 @@ -68,6 +68,7 @@ tree gfc_type_for_size (unsigned, int); tree gfc_type_for_mode (enum machine_mode, int); +tree gfc_build_uint_type (int); tree gfc_get_element_type (tree); tree gfc_get_array_type_bounds (tree, int, tree *, tree *, int, diff -Naur gcc-4.4.0.orig/gcc/fwprop.c gcc-4.4.0/gcc/fwprop.c --- gcc-4.4.0.orig/gcc/fwprop.c 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/fwprop.c 2009-04-26 11:58:04.000000000 -0700 @@ -1,5 +1,5 @@ /* RTL-based forward propagation pass for GNU compiler. - Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Paolo Bonzini and Steven Bosscher. This file is part of GCC. @@ -852,6 +852,80 @@ return false; } +/* Try to replace USE with SRC (defined in DEF_INSN) in __asm. */ + +static bool +forward_propagate_asm (df_ref use, rtx def_insn, rtx def_set, rtx reg) +{ + rtx use_insn = DF_REF_INSN (use), src, use_pat, asm_operands, new_rtx, *loc; + int speed_p, i; + df_ref *use_vec; + + gcc_assert ((DF_REF_FLAGS (use) & DF_REF_IN_NOTE) == 0); + + src = SET_SRC (def_set); + use_pat = PATTERN (use_insn); + + /* In __asm don't replace if src might need more registers than + reg, as that could increase register pressure on the __asm. */ + use_vec = DF_INSN_USES (def_insn); + if (use_vec[0] && use_vec[1]) + return false; + + speed_p = optimize_bb_for_speed_p (BLOCK_FOR_INSN (use_insn)); + asm_operands = NULL_RTX; + switch (GET_CODE (use_pat)) + { + case ASM_OPERANDS: + asm_operands = use_pat; + break; + case SET: + if (MEM_P (SET_DEST (use_pat))) + { + loc = &SET_DEST (use_pat); + new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, src, speed_p); + if (new_rtx) + validate_unshare_change (use_insn, loc, new_rtx, true); + } + asm_operands = SET_SRC (use_pat); + break; + case PARALLEL: + for (i = 0; i < XVECLEN (use_pat, 0); i++) + if (GET_CODE (XVECEXP (use_pat, 0, i)) == SET) + { + if (MEM_P (SET_DEST (XVECEXP (use_pat, 0, i)))) + { + loc = &SET_DEST (XVECEXP (use_pat, 0, i)); + new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, + src, speed_p); + if (new_rtx) + validate_unshare_change (use_insn, loc, new_rtx, true); + } + asm_operands = SET_SRC (XVECEXP (use_pat, 0, i)); + } + else if (GET_CODE (XVECEXP (use_pat, 0, i)) == ASM_OPERANDS) + asm_operands = XVECEXP (use_pat, 0, i); + break; + default: + gcc_unreachable (); + } + + gcc_assert (asm_operands && GET_CODE (asm_operands) == ASM_OPERANDS); + for (i = 0; i < ASM_OPERANDS_INPUT_LENGTH (asm_operands); i++) + { + loc = &ASM_OPERANDS_INPUT (asm_operands, i); + new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, src, speed_p); + if (new_rtx) + validate_unshare_change (use_insn, loc, new_rtx, true); + } + + if (num_changes_pending () == 0 || !apply_change_group ()) + return false; + + num_changes++; + return true; +} + /* Try to replace USE with SRC (defined in DEF_INSN) and simplify the result. */ @@ -863,12 +937,16 @@ rtx src, reg, new_rtx, *loc; bool set_reg_equal; enum machine_mode mode; + int asm_use = -1; + + if (INSN_CODE (use_insn) < 0) + asm_use = asm_noperands (PATTERN (use_insn)); - if (!use_set) + if (!use_set && asm_use < 0) return false; /* Do not propagate into PC, CC0, etc. */ - if (GET_MODE (SET_DEST (use_set)) == VOIDmode) + if (use_set && GET_MODE (SET_DEST (use_set)) == VOIDmode) return false; /* If def and use are subreg, check if they match. */ @@ -900,7 +978,7 @@ if (MEM_P (src) && MEM_READONLY_P (src)) { rtx x = avoid_constant_pool_reference (src); - if (x != src) + if (x != src && use_set) { rtx note = find_reg_note (use_insn, REG_EQUAL, NULL_RTX); rtx old_rtx = note ? XEXP (note, 0) : SET_SRC (use_set); @@ -911,6 +989,9 @@ return false; } + if (asm_use >= 0) + return forward_propagate_asm (use, def_insn, def_set, reg); + /* Else try simplifying. */ if (DF_REF_TYPE (use) == DF_REF_REG_MEM_STORE) diff -Naur gcc-4.4.0.orig/gcc/gcse.c gcc-4.4.0/gcc/gcse.c --- gcc-4.4.0.orig/gcc/gcse.c 2008-08-29 03:35:57.000000000 -0700 +++ gcc-4.4.0/gcc/gcse.c 2009-04-27 04:55:13.000000000 -0700 @@ -1,7 +1,7 @@ /* Global common subexpression elimination/Partial redundancy elimination and global constant/copy propagation for GNU compiler. Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, - 2006, 2007, 2008 Free Software Foundation, Inc. + 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GCC. @@ -2516,7 +2516,7 @@ dest_addr = XEXP (list_entry, 0); if (canon_true_dependence (dest, GET_MODE (dest), dest_addr, - x, rtx_addr_varies_p)) + x, NULL_RTX, rtx_addr_varies_p)) { if (set_p) SET_BIT (bmap[bb_index], indx); diff -Naur gcc-4.4.0.orig/gcc/gimple.h gcc-4.4.0/gcc/gimple.h --- gcc-4.4.0.orig/gcc/gimple.h 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/gimple.h 2009-05-18 03:13:43.000000000 -0700 @@ -1394,35 +1394,6 @@ return (gimple_has_ops (g)) ? (bool) g->gsbase.modified : false; } -/* Return the type of the main expression computed by STMT. Return - void_type_node if the statement computes nothing. */ - -static inline tree -gimple_expr_type (const_gimple stmt) -{ - enum gimple_code code = gimple_code (stmt); - - if (code == GIMPLE_ASSIGN || code == GIMPLE_CALL) - { - tree type = TREE_TYPE (gimple_get_lhs (stmt)); - /* Integral sub-types are never the type of the expression, - but they still can be the type of the result as the base - type (in which expressions are computed) is trivially - convertible to one of its sub-types. So always return - the base type here. */ - if (INTEGRAL_TYPE_P (type) - && TREE_TYPE (type) - /* But only if they are trivially convertible. */ - && useless_type_conversion_p (type, TREE_TYPE (type))) - type = TREE_TYPE (type); - return type; - } - else if (code == GIMPLE_COND) - return boolean_type_node; - else - return void_type_node; -} - /* Return the tree code for the expression computed by STMT. This is only valid for GIMPLE_COND, GIMPLE_CALL and GIMPLE_ASSIGN. For @@ -4285,6 +4256,55 @@ } +/* Return the type of the main expression computed by STMT. Return + void_type_node if the statement computes nothing. */ + +static inline tree +gimple_expr_type (const_gimple stmt) +{ + enum gimple_code code = gimple_code (stmt); + + if (code == GIMPLE_ASSIGN || code == GIMPLE_CALL) + { + tree type; + /* In general we want to pass out a type that can be substituted + for both the RHS and the LHS types if there is a possibly + useless conversion involved. That means returning the + original RHS type as far as we can reconstruct it. */ + if (code == GIMPLE_CALL) + type = gimple_call_return_type (stmt); + else + switch (gimple_assign_rhs_code (stmt)) + { + case POINTER_PLUS_EXPR: + type = TREE_TYPE (gimple_assign_rhs1 (stmt)); + break; + + default: + /* As fallback use the type of the LHS. */ + type = TREE_TYPE (gimple_get_lhs (stmt)); + break; + } + + /* Integral sub-types are never the type of the expression, + but they still can be the type of the result as the base + type (in which expressions are computed) is trivially + convertible to one of its sub-types. So always return + the base type here. */ + if (INTEGRAL_TYPE_P (type) + && TREE_TYPE (type) + /* But only if they are trivially convertible. */ + && useless_type_conversion_p (type, TREE_TYPE (type))) + type = TREE_TYPE (type); + return type; + } + else if (code == GIMPLE_COND) + return boolean_type_node; + else + return void_type_node; +} + + /* Return a new iterator pointing to GIMPLE_SEQ's first statement. */ static inline gimple_stmt_iterator diff -Naur gcc-4.4.0.orig/gcc/gimplify.c gcc-4.4.0/gcc/gimplify.c --- gcc-4.4.0.orig/gcc/gimplify.c 2009-03-11 18:02:16.000000000 -0700 +++ gcc-4.4.0/gcc/gimplify.c 2009-05-12 09:19:29.000000000 -0700 @@ -1628,20 +1628,63 @@ } len = i; + if (!VEC_empty (tree, labels)) + sort_case_labels (labels); + if (!default_case) { - gimple new_default; + tree type = TREE_TYPE (switch_expr); /* If the switch has no default label, add one, so that we jump - around the switch body. */ - default_case = build3 (CASE_LABEL_EXPR, void_type_node, NULL_TREE, - NULL_TREE, create_artificial_label ()); - new_default = gimple_build_label (CASE_LABEL (default_case)); - gimplify_seq_add_stmt (&switch_body_seq, new_default); - } + around the switch body. If the labels already cover the whole + range of type, add the default label pointing to one of the + existing labels. */ + if (type == void_type_node) + type = TREE_TYPE (SWITCH_COND (switch_expr)); + if (len + && INTEGRAL_TYPE_P (type) + && TYPE_MIN_VALUE (type) + && TYPE_MAX_VALUE (type) + && tree_int_cst_equal (CASE_LOW (VEC_index (tree, labels, 0)), + TYPE_MIN_VALUE (type))) + { + tree low, high = CASE_HIGH (VEC_index (tree, labels, len - 1)); + if (!high) + high = CASE_LOW (VEC_index (tree, labels, len - 1)); + if (tree_int_cst_equal (high, TYPE_MAX_VALUE (type))) + { + for (i = 1; i < len; i++) + { + high = CASE_LOW (VEC_index (tree, labels, i)); + low = CASE_HIGH (VEC_index (tree, labels, i - 1)); + if (!low) + low = CASE_LOW (VEC_index (tree, labels, i - 1)); + if ((TREE_INT_CST_LOW (low) + 1 + != TREE_INT_CST_LOW (high)) + || (TREE_INT_CST_HIGH (low) + + (TREE_INT_CST_LOW (high) == 0) + != TREE_INT_CST_HIGH (high))) + break; + } + if (i == len) + default_case = build3 (CASE_LABEL_EXPR, void_type_node, + NULL_TREE, NULL_TREE, + CASE_LABEL (VEC_index (tree, + labels, 0))); + } + } - if (!VEC_empty (tree, labels)) - sort_case_labels (labels); + if (!default_case) + { + gimple new_default; + + default_case = build3 (CASE_LABEL_EXPR, void_type_node, + NULL_TREE, NULL_TREE, + create_artificial_label ()); + new_default = gimple_build_label (CASE_LABEL (default_case)); + gimplify_seq_add_stmt (&switch_body_seq, new_default); + } + } gimple_switch = gimple_build_switch_vec (SWITCH_COND (switch_expr), default_case, labels); diff -Naur gcc-4.4.0.orig/gcc/ipa-cp.c gcc-4.4.0/gcc/ipa-cp.c --- gcc-4.4.0.orig/gcc/ipa-cp.c 2008-09-23 06:08:15.000000000 -0700 +++ gcc-4.4.0/gcc/ipa-cp.c 2009-07-01 05:14:33.000000000 -0700 @@ -466,6 +466,7 @@ if (dump_file) fprintf (dump_file, "Not considering %s for cloning; no hot calls.\n", cgraph_node_name (node)); + return false; } if (dump_file) fprintf (dump_file, "Considering %s for cloning.\n", diff -Naur gcc-4.4.0.orig/gcc/ipa-utils.h gcc-4.4.0/gcc/ipa-utils.h --- gcc-4.4.0.orig/gcc/ipa-utils.h 2007-07-26 01:37:01.000000000 -0700 +++ gcc-4.4.0/gcc/ipa-utils.h 2009-05-14 08:52:58.000000000 -0700 @@ -23,9 +23,6 @@ #include "tree.h" #include "cgraph.h" -/* Used for parsing attributes of asm code. */ -extern tree memory_identifier_string; - struct ipa_dfs_info { int dfn_number; int low_link; diff -Naur gcc-4.4.0.orig/gcc/ira-color.c gcc-4.4.0/gcc/ira-color.c --- gcc-4.4.0.orig/gcc/ira-color.c 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/ira-color.c 2009-04-22 13:16:13.000000000 -0700 @@ -285,8 +285,8 @@ continue; cost = (cp->second == allocno - ? ira_register_move_cost[mode][rclass][cover_class] - : ira_register_move_cost[mode][cover_class][rclass]); + ? ira_get_register_move_cost (mode, rclass, cover_class) + : ira_get_register_move_cost (mode, cover_class, rclass)); if (decr_p) cost = -cost; @@ -1069,7 +1069,7 @@ * ira_loop_edge_freq (loop_node, regno, true) + ira_memory_move_cost[mode][rclass][0] * ira_loop_edge_freq (loop_node, regno, false)) - - (ira_register_move_cost[mode][rclass][rclass] + - (ira_get_register_move_cost (mode, rclass, rclass) * (ira_loop_edge_freq (loop_node, regno, false) + ira_loop_edge_freq (loop_node, regno, true)))); return cost; @@ -2037,7 +2037,7 @@ else { cover_class = ALLOCNO_COVER_CLASS (subloop_allocno); - cost = (ira_register_move_cost[mode][rclass][rclass] + cost = (ira_get_register_move_cost (mode, rclass, rclass) * (exit_freq + enter_freq)); ira_allocate_and_set_or_copy_costs (&ALLOCNO_UPDATED_HARD_REG_COSTS (subloop_allocno), cover_class, @@ -2162,7 +2162,7 @@ += (ira_memory_move_cost[mode][rclass][0] * exit_freq + ira_memory_move_cost[mode][rclass][1] * enter_freq); if (hard_regno2 != hard_regno) - cost -= (ira_register_move_cost[mode][rclass][rclass] + cost -= (ira_get_register_move_cost (mode, rclass, rclass) * (exit_freq + enter_freq)); } } @@ -2181,7 +2181,7 @@ += (ira_memory_move_cost[mode][rclass][1] * exit_freq + ira_memory_move_cost[mode][rclass][0] * enter_freq); if (hard_regno2 != hard_regno) - cost -= (ira_register_move_cost[mode][rclass][rclass] + cost -= (ira_get_register_move_cost (mode, rclass, rclass) * (exit_freq + enter_freq)); } } @@ -2247,8 +2247,8 @@ if (i < 0) continue; cost = (cp->first == a - ? ira_register_move_cost[mode][rclass][cover_class] - : ira_register_move_cost[mode][cover_class][rclass]); + ? ira_get_register_move_cost (mode, rclass, cover_class) + : ira_get_register_move_cost (mode, cover_class, rclass)); ira_allocate_and_set_or_copy_costs (&ALLOCNO_UPDATED_HARD_REG_COSTS (a), cover_class, ALLOCNO_COVER_CLASS_COST (a), diff -Naur gcc-4.4.0.orig/gcc/ira-conflicts.c gcc-4.4.0/gcc/ira-conflicts.c --- gcc-4.4.0.orig/gcc/ira-conflicts.c 2009-03-12 07:39:55.000000000 -0700 +++ gcc-4.4.0/gcc/ira-conflicts.c 2009-05-03 12:40:35.000000000 -0700 @@ -411,9 +411,9 @@ /* Can not be tied. It is not in the cover class. */ return false; if (HARD_REGISTER_P (reg1)) - cost = ira_register_move_cost[mode][cover_class][rclass] * freq; + cost = ira_get_register_move_cost (mode, cover_class, rclass) * freq; else - cost = ira_register_move_cost[mode][rclass][cover_class] * freq; + cost = ira_get_register_move_cost (mode, rclass, cover_class) * freq; for (;;) { ira_allocate_and_set_costs @@ -806,7 +806,7 @@ if ((! flag_caller_saves && ALLOCNO_CALLS_CROSSED_NUM (a) != 0) /* For debugging purposes don't put user defined variables in callee-clobbered registers. */ - || (optimize <= 1 + || (optimize == 0 && (attrs = REG_ATTRS (regno_reg_rtx [ALLOCNO_REGNO (a)])) != NULL && (decl = attrs->decl) != NULL && VAR_OR_FUNCTION_DECL_P (decl) diff -Naur gcc-4.4.0.orig/gcc/ira-costs.c gcc-4.4.0/gcc/ira-costs.c --- gcc-4.4.0.orig/gcc/ira-costs.c 2008-12-18 05:49:47.000000000 -0800 +++ gcc-4.4.0/gcc/ira-costs.c 2009-04-22 13:16:13.000000000 -0700 @@ -138,9 +138,6 @@ sri.extra_cost = 0; secondary_class = targetm.secondary_reload (to_p, x, rclass, mode, &sri); - if (ira_register_move_cost[mode] == NULL) - ira_init_register_move_cost (mode); - if (secondary_class != NO_REGS) { if (!move_cost[mode]) @@ -294,19 +291,17 @@ needs to do a copy, which is one insn. */ struct costs *pp = this_op_costs[i]; - if (ira_register_move_cost[mode] == NULL) - ira_init_register_move_cost (mode); - for (k = 0; k < cost_classes_num; k++) { rclass = cost_classes[k]; pp->cost[k] - = ((recog_data.operand_type[i] != OP_OUT - ? ira_may_move_in_cost[mode][rclass] - [classes[i]] * frequency : 0) - + (recog_data.operand_type[i] != OP_IN - ? ira_may_move_out_cost[mode][classes[i]] - [rclass] * frequency : 0)); + = (((recog_data.operand_type[i] != OP_OUT + ? ira_get_may_move_cost (mode, rclass, + classes[i], true) : 0) + + (recog_data.operand_type[i] != OP_IN + ? ira_get_may_move_cost (mode, classes[i], + rclass, false) : 0)) + * frequency); } /* If the alternative actually allows memory, make @@ -342,8 +337,9 @@ : 0)); else if (ira_reg_class_intersect [pref_class][classes[i]] == NO_REGS) - alt_cost += (ira_register_move_cost - [mode][pref_class][classes[i]]); + alt_cost += ira_get_register_move_cost (mode, + pref_class, + classes[i]); } if (REGNO (ops[i]) != REGNO (ops[j]) && ! find_reg_note (insn, REG_DEAD, op)) @@ -540,19 +536,17 @@ { struct costs *pp = this_op_costs[i]; - if (ira_register_move_cost[mode] == NULL) - ira_init_register_move_cost (mode); - for (k = 0; k < cost_classes_num; k++) { rclass = cost_classes[k]; pp->cost[k] - = ((recog_data.operand_type[i] != OP_OUT - ? ira_may_move_in_cost[mode][rclass] - [classes[i]] * frequency : 0) - + (recog_data.operand_type[i] != OP_IN - ? ira_may_move_out_cost[mode][classes[i]] - [rclass] * frequency : 0)); + = (((recog_data.operand_type[i] != OP_OUT + ? ira_get_may_move_cost (mode, rclass, + classes[i], true) : 0) + + (recog_data.operand_type[i] != OP_IN + ? ira_get_may_move_cost (mode, classes[i], + rclass, false) : 0)) + * frequency); } /* If the alternative actually allows memory, make @@ -587,8 +581,9 @@ : 0)); else if (ira_reg_class_intersect[pref_class][classes[i]] == NO_REGS) - alt_cost += (ira_register_move_cost - [mode][pref_class][classes[i]]); + alt_cost += ira_get_register_move_cost (mode, + pref_class, + classes[i]); } } } @@ -901,13 +896,11 @@ ALLOCNO_NUM (ira_curr_regno_allocno_map [REGNO (x)])); pp->mem_cost += (ira_memory_move_cost[Pmode][rclass][1] * scale) / 2; - if (ira_register_move_cost[Pmode] == NULL) - ira_init_register_move_cost (Pmode); for (k = 0; k < cost_classes_num; k++) { i = cost_classes[k]; pp->cost[k] - += (ira_may_move_in_cost[Pmode][i][rclass] * scale) / 2; + += (ira_get_may_move_cost (Pmode, i, rclass, true) * scale) / 2; } } break; @@ -1425,8 +1418,9 @@ continue; mode = ALLOCNO_MODE (a); hard_reg_class = REGNO_REG_CLASS (hard_regno); - cost = (to_p ? ira_register_move_cost[mode][hard_reg_class][rclass] - : ira_register_move_cost[mode][rclass][hard_reg_class]) * freq; + cost + = (to_p ? ira_get_register_move_cost (mode, hard_reg_class, rclass) + : ira_get_register_move_cost (mode, rclass, hard_reg_class)) * freq; ira_allocate_and_set_costs (&ALLOCNO_HARD_REG_COSTS (a), rclass, ALLOCNO_COVER_CLASS_COST (a)); ira_allocate_and_set_costs (&ALLOCNO_CONFLICT_HARD_REG_COSTS (a), @@ -1579,9 +1573,6 @@ void ira_costs (void) { - ira_allocno_t a; - ira_allocno_iterator ai; - allocno_costs = (struct costs *) ira_allocate (max_struct_costs_size * ira_allocnos_num); total_costs = (struct costs *) ira_allocate (max_struct_costs_size @@ -1594,12 +1585,6 @@ * max_reg_num ()); find_allocno_class_costs (); setup_allocno_cover_class_and_costs (); - /* Because we could process operands only as subregs, check mode of - the registers themselves too. */ - FOR_EACH_ALLOCNO (a, ai) - if (ira_register_move_cost[ALLOCNO_MODE (a)] == NULL - && have_regs_of_mode[ALLOCNO_MODE (a)]) - ira_init_register_move_cost (ALLOCNO_MODE (a)); ira_free (common_classes); ira_free (allocno_pref_buffer); ira_free (total_costs); diff -Naur gcc-4.4.0.orig/gcc/ira-emit.c gcc-4.4.0/gcc/ira-emit.c --- gcc-4.4.0.orig/gcc/ira-emit.c 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/ira-emit.c 2009-04-22 13:16:13.000000000 -0700 @@ -812,7 +812,8 @@ } else { - cost = ira_register_move_cost[mode][cover_class][cover_class] * freq; + cost = (ira_get_register_move_cost (mode, cover_class, cover_class) + * freq); ira_shuffle_cost += cost; } ira_overall_cost += cost; diff -Naur gcc-4.4.0.orig/gcc/ira-int.h gcc-4.4.0/gcc/ira-int.h --- gcc-4.4.0.orig/gcc/ira-int.h 2009-03-18 10:04:26.000000000 -0700 +++ gcc-4.4.0/gcc/ira-int.h 2009-04-22 13:16:13.000000000 -0700 @@ -730,21 +730,24 @@ extern HARD_REG_SET ira_reg_mode_hard_regset [FIRST_PSEUDO_REGISTER][NUM_MACHINE_MODES]; -/* Arrays analogous to macros MEMORY_MOVE_COST and - REGISTER_MOVE_COST. */ +/* Arrays analogous to macros MEMORY_MOVE_COST and REGISTER_MOVE_COST. + Don't use ira_register_move_cost directly. Use function of + ira_get_may_move_cost instead. */ extern short ira_memory_move_cost[MAX_MACHINE_MODE][N_REG_CLASSES][2]; extern move_table *ira_register_move_cost[MAX_MACHINE_MODE]; /* Similar to may_move_in_cost but it is calculated in IRA instead of regclass. Another difference we take only available hard registers into account to figure out that one register class is a subset of - the another one. */ + the another one. Don't use it directly. Use function of + ira_get_may_move_cost instead. */ extern move_table *ira_may_move_in_cost[MAX_MACHINE_MODE]; /* Similar to may_move_out_cost but it is calculated in IRA instead of regclass. Another difference we take only available hard registers into account to figure out that one register class is a subset of - the another one. */ + the another one. Don't use it directly. Use function of + ira_get_may_move_cost instead. */ extern move_table *ira_may_move_out_cost[MAX_MACHINE_MODE]; /* Register class subset relation: TRUE if the first class is a subset @@ -941,6 +944,34 @@ +/* Return cost of moving value of MODE from register of class FROM to + register of class TO. */ +static inline int +ira_get_register_move_cost (enum machine_mode mode, + enum reg_class from, enum reg_class to) +{ + if (ira_register_move_cost[mode] == NULL) + ira_init_register_move_cost (mode); + return ira_register_move_cost[mode][from][to]; +} + +/* Return cost of moving value of MODE from register of class FROM to + register of class TO. Return zero if IN_P is true and FROM is + subset of TO or if IN_P is false and FROM is superset of TO. */ +static inline int +ira_get_may_move_cost (enum machine_mode mode, + enum reg_class from, enum reg_class to, + bool in_p) +{ + if (ira_register_move_cost[mode] == NULL) + ira_init_register_move_cost (mode); + return (in_p + ? ira_may_move_in_cost[mode][from][to] + : ira_may_move_out_cost[mode][from][to]); +} + + + /* The iterator for all allocnos. */ typedef struct { /* The number of the current element in IRA_ALLOCNOS. */ diff -Naur gcc-4.4.0.orig/gcc/ira-lives.c gcc-4.4.0/gcc/ira-lives.c --- gcc-4.4.0.orig/gcc/ira-lives.c 2009-02-20 07:20:38.000000000 -0800 +++ gcc-4.4.0/gcc/ira-lives.c 2009-04-22 13:16:13.000000000 -0700 @@ -782,10 +782,11 @@ [ira_class_hard_regs[cl][0]]) >= 0 && reg_class_size[cl] <= (unsigned) CLASS_MAX_NREGS (cl, mode)) { - /* ??? FREQ */ - cost = freq * (in_p - ? ira_register_move_cost[mode][cover_class][cl] - : ira_register_move_cost[mode][cl][cover_class]); + cost + = (freq + * (in_p + ? ira_get_register_move_cost (mode, cover_class, cl) + : ira_get_register_move_cost (mode, cl, cover_class))); ira_allocate_and_set_costs (&ALLOCNO_CONFLICT_HARD_REG_COSTS (operand_a), cover_class, 0); ALLOCNO_CONFLICT_HARD_REG_COSTS (operand_a) diff -Naur gcc-4.4.0.orig/gcc/Makefile.in gcc-4.4.0/gcc/Makefile.in --- gcc-4.4.0.orig/gcc/Makefile.in 2009-03-25 05:00:32.000000000 -0700 +++ gcc-4.4.0/gcc/Makefile.in 2009-05-21 16:17:37.000000000 -0700 @@ -2785,7 +2785,8 @@ value-prof.h $(TREE_INLINE_H) $(TARGET_H) cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ $(FLAGS_H) insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h \ - output.h $(TOPLEV_H) $(FUNCTION_H) except.h $(TM_P_H) insn-config.h $(EXPR_H) \ + output.h $(TOPLEV_H) $(FUNCTION_H) except.h $(TM_P_H) $(INSN_ATTR_H) \ + insn-config.h $(EXPR_H) \ $(CFGLAYOUT_H) $(CFGLOOP_H) $(OBSTACK_H) $(TARGET_H) $(TREE_H) \ tree-pass.h $(DF_H) $(GGC_H) cfganal.o : cfganal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ diff -Naur gcc-4.4.0.orig/gcc/objc/objc-act.c gcc-4.4.0/gcc/objc/objc-act.c --- gcc-4.4.0.orig/gcc/objc/objc-act.c 2008-10-06 14:35:02.000000000 -0700 +++ gcc-4.4.0/gcc/objc/objc-act.c 2009-06-22 15:25:38.000000000 -0700 @@ -6201,7 +6201,7 @@ #endif tree method_params = NULL_TREE; - if (TREE_CODE (receiver) == ERROR_MARK) + if (TREE_CODE (receiver) == ERROR_MARK || TREE_CODE (args) == ERROR_MARK) return error_mark_node; /* Obtain the full selector name. */ diff -Naur gcc-4.4.0.orig/gcc/po/exgettext gcc-4.4.0/gcc/po/exgettext --- gcc-4.4.0.orig/gcc/po/exgettext 2009-04-09 16:23:07.000000000 -0700 +++ gcc-4.4.0/gcc/po/exgettext 2009-04-22 09:30:26.000000000 -0700 @@ -83,7 +83,7 @@ echo "scanning for keywords and %e strings..." >&2 ( cd $srcdir - lang_subdirs=`echo */config-lang.in | sed -e 's|config-lang\.in||g'` + lang_subdirs=`echo */config-lang.in */*/config-lang.in | sed -e 's|config-lang\.in||g'` { for dir in "" config/ config/*/ $lang_subdirs do for glob in '*.c' '*.h' '*.def' do eval echo $dir$glob diff -Naur gcc-4.4.0.orig/gcc/po/gcc.pot gcc-4.4.0/gcc/po/gcc.pot --- gcc-4.4.0.orig/gcc/po/gcc.pot 2009-03-28 00:27:17.000000000 -0700 +++ gcc-4.4.0/gcc/po/gcc.pot 2009-04-22 09:34:22.000000000 -0700 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n" -"POT-Creation-Date: 2009-03-28 07:24+0000\n" +"POT-Creation-Date: 2009-04-22 16:32+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -286,49 +286,49 @@ msgid "" msgstr "" -#: c-typeck.c:2491 c-typeck.c:4961 c-typeck.c:4964 c-typeck.c:4972 -#: c-typeck.c:5002 c-typeck.c:6388 +#: c-typeck.c:2491 c-typeck.c:4965 c-typeck.c:4968 c-typeck.c:4976 +#: c-typeck.c:5006 c-typeck.c:6392 msgid "initializer element is not constant" msgstr "" -#: c-typeck.c:4751 +#: c-typeck.c:4755 msgid "array initialized from parenthesized string constant" msgstr "" -#: c-typeck.c:4813 cp/typeck2.c:757 +#: c-typeck.c:4817 cp/typeck2.c:757 #, gcc-internal-format msgid "char-array initialized from wide string" msgstr "" -#: c-typeck.c:4821 +#: c-typeck.c:4825 msgid "wide character array initialized from non-wide string" msgstr "" -#: c-typeck.c:4827 +#: c-typeck.c:4831 msgid "wide character array initialized from incompatible wide string" msgstr "" -#: c-typeck.c:4845 cp/typeck2.c:785 +#: c-typeck.c:4849 cp/typeck2.c:785 #, gcc-internal-format msgid "initializer-string for array of chars is too long" msgstr "" -#: c-typeck.c:4851 +#: c-typeck.c:4855 msgid "array of inappropriate type initialized from string constant" msgstr "" #. ??? This should not be an error when inlining calls to #. unprototyped functions. -#: c-typeck.c:4918 c-typeck.c:4421 cp/typeck.c:1645 +#: c-typeck.c:4922 c-typeck.c:4425 cp/typeck.c:1645 #, gcc-internal-format msgid "invalid use of non-lvalue array" msgstr "" -#: c-typeck.c:4944 +#: c-typeck.c:4948 msgid "array initialized from non-constant array expression" msgstr "" -#: c-typeck.c:5009 c-typeck.c:6393 +#: c-typeck.c:5013 c-typeck.c:6397 #, gcc-internal-format msgid "initializer element is not computable at load time" msgstr "" @@ -337,108 +337,108 @@ #. of VLAs themselves count as VLAs, it does not make #. sense to permit them to be initialized given that #. ordinary VLAs may not be initialized. -#: c-typeck.c:5020 c-decl.c:3224 c-decl.c:3239 +#: c-typeck.c:5024 c-decl.c:3224 c-decl.c:3239 #, gcc-internal-format msgid "variable-sized object may not be initialized" msgstr "" -#: c-typeck.c:5024 +#: c-typeck.c:5028 msgid "invalid initializer" msgstr "" -#: c-typeck.c:5498 +#: c-typeck.c:5502 msgid "extra brace group at end of initializer" msgstr "" -#: c-typeck.c:5518 +#: c-typeck.c:5522 msgid "missing braces around initializer" msgstr "" -#: c-typeck.c:5579 +#: c-typeck.c:5583 msgid "braces around scalar initializer" msgstr "" -#: c-typeck.c:5636 +#: c-typeck.c:5640 msgid "initialization of flexible array member in a nested context" msgstr "" -#: c-typeck.c:5639 +#: c-typeck.c:5643 msgid "initialization of a flexible array member" msgstr "" -#: c-typeck.c:5667 +#: c-typeck.c:5671 msgid "missing initializer" msgstr "" -#: c-typeck.c:5689 +#: c-typeck.c:5693 msgid "empty scalar initializer" msgstr "" -#: c-typeck.c:5694 +#: c-typeck.c:5698 msgid "extra elements in scalar initializer" msgstr "" -#: c-typeck.c:5791 c-typeck.c:5851 +#: c-typeck.c:5795 c-typeck.c:5855 msgid "array index in non-array initializer" msgstr "" -#: c-typeck.c:5796 c-typeck.c:5904 +#: c-typeck.c:5800 c-typeck.c:5908 msgid "field name not in record or union initializer" msgstr "" -#: c-typeck.c:5842 +#: c-typeck.c:5846 msgid "array index in initializer not of integer type" msgstr "" -#: c-typeck.c:5847 c-typeck.c:5849 +#: c-typeck.c:5851 c-typeck.c:5853 msgid "nonconstant array index in initializer" msgstr "" -#: c-typeck.c:5853 c-typeck.c:5856 +#: c-typeck.c:5857 c-typeck.c:5860 msgid "array index in initializer exceeds array bounds" msgstr "" -#: c-typeck.c:5867 +#: c-typeck.c:5871 msgid "empty index range in initializer" msgstr "" -#: c-typeck.c:5876 +#: c-typeck.c:5880 msgid "array index range in initializer exceeds array bounds" msgstr "" -#: c-typeck.c:5958 c-typeck.c:5984 c-typeck.c:6460 +#: c-typeck.c:5962 c-typeck.c:5988 c-typeck.c:6464 msgid "initialized field with side-effects overwritten" msgstr "" -#: c-typeck.c:5960 c-typeck.c:5986 c-typeck.c:6462 +#: c-typeck.c:5964 c-typeck.c:5990 c-typeck.c:6466 msgid "initialized field overwritten" msgstr "" -#: c-typeck.c:6676 +#: c-typeck.c:6680 msgid "excess elements in char array initializer" msgstr "" -#: c-typeck.c:6683 c-typeck.c:6730 +#: c-typeck.c:6687 c-typeck.c:6734 msgid "excess elements in struct initializer" msgstr "" -#: c-typeck.c:6745 +#: c-typeck.c:6749 msgid "non-static initialization of a flexible array member" msgstr "" -#: c-typeck.c:6814 +#: c-typeck.c:6818 msgid "excess elements in union initializer" msgstr "" -#: c-typeck.c:6902 +#: c-typeck.c:6906 msgid "excess elements in array initializer" msgstr "" -#: c-typeck.c:6933 +#: c-typeck.c:6937 msgid "excess elements in vector initializer" msgstr "" -#: c-typeck.c:6958 +#: c-typeck.c:6962 msgid "excess elements in scalar initializer" msgstr "" @@ -708,13 +708,13 @@ #. handle them. #. We can't handle floating point constants; #. PRINT_OPERAND must handle them. -#: final.c:3493 vmsdbgout.c:487 config/i386/i386.c:10138 +#: final.c:3493 vmsdbgout.c:487 config/i386/i386.c:10175 #: config/pdp11/pdp11.c:1710 #, c-format msgid "floating constant misused" msgstr "" -#: final.c:3555 vmsdbgout.c:544 config/i386/i386.c:10225 +#: final.c:3555 vmsdbgout.c:544 config/i386/i386.c:10262 #: config/pdp11/pdp11.c:1757 #, c-format msgid "invalid expression as operand" @@ -1811,82 +1811,82 @@ msgid "This switch lacks documentation" msgstr "" -#: opts.c:1306 +#: opts.c:1268 msgid "[enabled]" msgstr "" -#: opts.c:1306 +#: opts.c:1268 msgid "[disabled]" msgstr "" -#: opts.c:1321 +#: opts.c:1283 #, c-format msgid " No options with the desired characteristics were found\n" msgstr "" -#: opts.c:1330 +#: opts.c:1292 #, c-format msgid "" " None found. Use --help=%s to show *all* the options supported by the %s " "front-end\n" msgstr "" -#: opts.c:1336 +#: opts.c:1298 #, c-format msgid "" " All options with the desired characteristics have already been displayed\n" msgstr "" -#: opts.c:1390 +#: opts.c:1352 msgid "The following options are target specific" msgstr "" -#: opts.c:1393 +#: opts.c:1355 msgid "The following options control compiler warning messages" msgstr "" -#: opts.c:1396 +#: opts.c:1358 msgid "The following options control optimizations" msgstr "" -#: opts.c:1399 opts.c:1438 +#: opts.c:1361 opts.c:1400 msgid "The following options are language-independent" msgstr "" -#: opts.c:1402 +#: opts.c:1364 msgid "The --param option recognizes the following as parameters" msgstr "" -#: opts.c:1408 +#: opts.c:1370 msgid "The following options are specific to just the language " msgstr "" -#: opts.c:1410 +#: opts.c:1372 msgid "The following options are supported by the language " msgstr "" -#: opts.c:1421 +#: opts.c:1383 msgid "The following options are not documented" msgstr "" -#: opts.c:1423 +#: opts.c:1385 msgid "The following options take separate arguments" msgstr "" -#: opts.c:1425 +#: opts.c:1387 msgid "The following options take joined arguments" msgstr "" -#: opts.c:1436 +#: opts.c:1398 msgid "The following options are language-related" msgstr "" -#: opts.c:1596 +#: opts.c:1558 #, c-format msgid "warning: --help argument %.*s is ambiguous, please be more specific\n" msgstr "" -#: opts.c:1604 +#: opts.c:1566 #, c-format msgid "warning: unrecognized argument to --help= option: %.*s\n" msgstr "" @@ -3078,47 +3078,47 @@ msgid "missing operand" msgstr "" -#: config/avr/avr.c:1196 +#: config/avr/avr.c:1209 #, c-format msgid "address operand requires constraint for X, Y, or Z register" msgstr "" -#: config/avr/avr.c:1308 +#: config/avr/avr.c:1321 msgid "bad address, not (reg+disp):" msgstr "" -#: config/avr/avr.c:1315 +#: config/avr/avr.c:1328 msgid "bad address, not post_inc or pre_dec:" msgstr "" -#: config/avr/avr.c:1326 +#: config/avr/avr.c:1339 msgid "internal compiler error. Bad address:" msgstr "" -#: config/avr/avr.c:1339 +#: config/avr/avr.c:1352 msgid "internal compiler error. Unknown mode:" msgstr "" -#: config/avr/avr.c:1934 config/avr/avr.c:2622 +#: config/avr/avr.c:1947 config/avr/avr.c:2635 msgid "invalid insn:" msgstr "" -#: config/avr/avr.c:1973 config/avr/avr.c:2059 config/avr/avr.c:2108 -#: config/avr/avr.c:2136 config/avr/avr.c:2231 config/avr/avr.c:2400 -#: config/avr/avr.c:2661 config/avr/avr.c:2773 +#: config/avr/avr.c:1986 config/avr/avr.c:2072 config/avr/avr.c:2121 +#: config/avr/avr.c:2149 config/avr/avr.c:2244 config/avr/avr.c:2413 +#: config/avr/avr.c:2674 config/avr/avr.c:2786 msgid "incorrect insn:" msgstr "" -#: config/avr/avr.c:2155 config/avr/avr.c:2316 config/avr/avr.c:2471 -#: config/avr/avr.c:2839 +#: config/avr/avr.c:2168 config/avr/avr.c:2329 config/avr/avr.c:2484 +#: config/avr/avr.c:2852 msgid "unknown move insn:" msgstr "" -#: config/avr/avr.c:3069 +#: config/avr/avr.c:3082 msgid "bad shift insn:" msgstr "" -#: config/avr/avr.c:3185 config/avr/avr.c:3605 config/avr/avr.c:3963 +#: config/avr/avr.c:3198 config/avr/avr.c:3618 config/avr/avr.c:3976 msgid "internal compiler error. Incorrect shift:" msgstr "" @@ -3132,7 +3132,7 @@ msgid "invalid const_double operand" msgstr "" -#: config/cris/cris.c:504 c-typeck.c:4700 c-typeck.c:4716 c-typeck.c:4733 +#: config/cris/cris.c:504 c-typeck.c:4704 c-typeck.c:4720 c-typeck.c:4737 #: final.c:3000 final.c:3002 gcc.c:4828 loop-iv.c:2825 loop-iv.c:2834 #: rtl-error.c:105 toplev.c:601 tree-ssa-loop-niter.c:1882 cp/typeck.c:4720 #: java/expr.c:411 @@ -3369,51 +3369,51 @@ msgid " (frv)" msgstr "" -#: config/i386/i386.c:10219 +#: config/i386/i386.c:10256 #, c-format msgid "invalid UNSPEC as operand" msgstr "" -#: config/i386/i386.c:10944 config/i386/i386.c:10983 config/i386/i386.c:11157 +#: config/i386/i386.c:10981 config/i386/i386.c:11020 config/i386/i386.c:11194 #, c-format msgid "operand is not a condition code, invalid operand code 'D'" msgstr "" -#: config/i386/i386.c:11008 +#: config/i386/i386.c:11045 #, c-format msgid "" "operand is neither a constant nor a condition code, invalid operand code 'C'" msgstr "" -#: config/i386/i386.c:11018 +#: config/i386/i386.c:11055 #, c-format msgid "" "operand is neither a constant nor a condition code, invalid operand code 'F'" msgstr "" -#: config/i386/i386.c:11036 +#: config/i386/i386.c:11073 #, c-format msgid "" "operand is neither a constant nor a condition code, invalid operand code 'c'" msgstr "" -#: config/i386/i386.c:11046 +#: config/i386/i386.c:11083 #, c-format msgid "" "operand is neither a constant nor a condition code, invalid operand code 'f'" msgstr "" -#: config/i386/i386.c:11171 +#: config/i386/i386.c:11208 #, c-format msgid "invalid operand code '%c'" msgstr "" -#: config/i386/i386.c:11220 +#: config/i386/i386.c:11257 #, c-format msgid "invalid constraints for operand" msgstr "" -#: config/i386/i386.c:18908 +#: config/i386/i386.c:18945 msgid "unknown insn mode" msgstr "" @@ -3439,15 +3439,15 @@ msgid "ia64_print_operand: unknown code" msgstr "" -#: config/ia64/ia64.c:10473 +#: config/ia64/ia64.c:10485 msgid "invalid conversion from %<__fpreg%>" msgstr "" -#: config/ia64/ia64.c:10476 +#: config/ia64/ia64.c:10488 msgid "invalid conversion to %<__fpreg%>" msgstr "" -#: config/ia64/ia64.c:10489 config/ia64/ia64.c:10500 +#: config/ia64/ia64.c:10501 config/ia64/ia64.c:10512 msgid "invalid operation on %<__fpreg%>" msgstr "" @@ -3860,11 +3860,11 @@ msgid "candidates are:" msgstr "" -#: cp/call.c:6824 +#: cp/call.c:6885 msgid "candidate 1:" msgstr "" -#: cp/call.c:6825 +#: cp/call.c:6886 msgid "candidate 2:" msgstr "" @@ -5935,33 +5935,33 @@ "Extension: BOZ literal at %L used to initialize non-integer variable '%s'" msgstr "" -#: fortran/expr.c:2956 fortran/resolve.c:6536 +#: fortran/expr.c:2956 fortran/resolve.c:6539 #, no-c-format msgid "" "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/" "DBLE/CMPLX" msgstr "" -#: fortran/expr.c:2966 fortran/resolve.c:6546 +#: fortran/expr.c:2966 fortran/resolve.c:6549 #, no-c-format msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'" msgstr "" -#: fortran/expr.c:2974 fortran/resolve.c:6555 +#: fortran/expr.c:2974 fortran/resolve.c:6558 #, no-c-format msgid "" "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be " "disabled with the option -fno-range-check" msgstr "" -#: fortran/expr.c:2978 fortran/resolve.c:6559 +#: fortran/expr.c:2978 fortran/resolve.c:6562 #, no-c-format msgid "" "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be " "disabled with the option -fno-range-check" msgstr "" -#: fortran/expr.c:2982 fortran/resolve.c:6563 +#: fortran/expr.c:2982 fortran/resolve.c:6566 #, no-c-format msgid "" "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled " @@ -6192,12 +6192,12 @@ msgid "Second argument of defined assignment at %L must be INTENT(IN)" msgstr "" -#: fortran/interface.c:662 fortran/resolve.c:10327 +#: fortran/interface.c:662 fortran/resolve.c:10330 #, no-c-format msgid "First argument of operator interface at %L must be INTENT(IN)" msgstr "" -#: fortran/interface.c:666 fortran/resolve.c:10339 +#: fortran/interface.c:666 fortran/resolve.c:10342 #, no-c-format msgid "Second argument of operator interface at %L must be INTENT(IN)" msgstr "" @@ -7106,7 +7106,7 @@ msgid "Block label is not appropriate for IF statement at %C" msgstr "" -#: fortran/match.c:1570 fortran/primary.c:2881 +#: fortran/match.c:1570 fortran/primary.c:2888 #, no-c-format msgid "Cannot assign to a named constant at %C" msgstr "" @@ -7713,7 +7713,7 @@ msgid "Syntax error in !$OMP THREADPRIVATE list at %C" msgstr "" -#: fortran/openmp.c:759 fortran/resolve.c:6445 fortran/resolve.c:6798 +#: fortran/openmp.c:759 fortran/resolve.c:6448 fortran/resolve.c:6801 #, no-c-format msgid "IF clause at %L requires a scalar LOGICAL expression" msgstr "" @@ -8226,166 +8226,166 @@ msgid "Fortran 2003: CONTAINS block in derived type definition at %C" msgstr "" -#: fortran/parse.c:2046 +#: fortran/parse.c:2037 #, no-c-format msgid "ENUM declaration at %C has no ENUMERATORS" msgstr "" -#: fortran/parse.c:2140 +#: fortran/parse.c:2131 #, no-c-format msgid "Unexpected %s statement in INTERFACE block at %C" msgstr "" -#: fortran/parse.c:2166 +#: fortran/parse.c:2157 #, no-c-format msgid "SUBROUTINE at %C does not belong in a generic function interface" msgstr "" -#: fortran/parse.c:2170 +#: fortran/parse.c:2161 #, no-c-format msgid "FUNCTION at %C does not belong in a generic subroutine interface" msgstr "" -#: fortran/parse.c:2180 +#: fortran/parse.c:2171 #, no-c-format msgid "" "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type" msgstr "" -#: fortran/parse.c:2211 +#: fortran/parse.c:2202 #, no-c-format msgid "Unexpected %s statement at %C in INTERFACE body" msgstr "" -#: fortran/parse.c:2225 +#: fortran/parse.c:2216 #, no-c-format msgid "" "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure" msgstr "" -#: fortran/parse.c:2411 +#: fortran/parse.c:2402 #, no-c-format msgid "%s statement must appear in a MODULE" msgstr "" -#: fortran/parse.c:2418 +#: fortran/parse.c:2409 #, no-c-format msgid "%s statement at %C follows another accessibility specification" msgstr "" -#: fortran/parse.c:2468 +#: fortran/parse.c:2459 #, no-c-format msgid "Bad kind expression for function '%s' at %L" msgstr "" -#: fortran/parse.c:2472 +#: fortran/parse.c:2463 #, no-c-format msgid "The type for function '%s' at %L is not accessible" msgstr "" -#: fortran/parse.c:2530 +#: fortran/parse.c:2521 #, no-c-format msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE" msgstr "" -#: fortran/parse.c:2551 +#: fortran/parse.c:2542 #, no-c-format msgid "Unexpected %s statement in WHERE block at %C" msgstr "" -#: fortran/parse.c:2610 +#: fortran/parse.c:2601 #, no-c-format msgid "Unexpected %s statement in FORALL block at %C" msgstr "" -#: fortran/parse.c:2661 +#: fortran/parse.c:2652 #, no-c-format msgid "ELSE IF statement at %C cannot follow ELSE statement at %L" msgstr "" -#: fortran/parse.c:2679 +#: fortran/parse.c:2670 #, no-c-format msgid "Duplicate ELSE statements at %L and %C" msgstr "" -#: fortran/parse.c:2740 +#: fortran/parse.c:2731 #, no-c-format msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C" msgstr "" -#: fortran/parse.c:2798 +#: fortran/parse.c:2789 #, no-c-format msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L" msgstr "" -#: fortran/parse.c:2832 +#: fortran/parse.c:2823 #, no-c-format msgid "End of nonblock DO statement at %C is within another block" msgstr "" -#: fortran/parse.c:2841 +#: fortran/parse.c:2832 #, no-c-format msgid "End of nonblock DO statement at %C is interwoven with another DO loop" msgstr "" -#: fortran/parse.c:2890 +#: fortran/parse.c:2881 #, no-c-format msgid "Statement label in ENDDO at %C doesn't match DO label" msgstr "" -#: fortran/parse.c:2906 +#: fortran/parse.c:2897 #, no-c-format msgid "named block DO at %L requires matching ENDDO name" msgstr "" -#: fortran/parse.c:3165 +#: fortran/parse.c:3156 #, no-c-format msgid "Name after !$omp critical and !$omp end critical does not match at %C" msgstr "" -#: fortran/parse.c:3221 +#: fortran/parse.c:3212 #, no-c-format msgid "%s statement at %C cannot terminate a non-block DO loop" msgstr "" -#: fortran/parse.c:3408 +#: fortran/parse.c:3399 #, no-c-format msgid "Contained procedure '%s' at %C is already ambiguous" msgstr "" -#: fortran/parse.c:3458 +#: fortran/parse.c:3449 #, no-c-format msgid "Unexpected %s statement in CONTAINS section at %C" msgstr "" -#: fortran/parse.c:3482 +#: fortran/parse.c:3473 #, no-c-format msgid "" "Fortran 2008: CONTAINS statement without FUNCTION or SUBROUTINE statement at " "%C" msgstr "" -#: fortran/parse.c:3553 +#: fortran/parse.c:3544 #, no-c-format msgid "CONTAINS statement at %C is already in a contained program unit" msgstr "" -#: fortran/parse.c:3602 +#: fortran/parse.c:3593 #, no-c-format msgid "Global name '%s' at %L is already being used as a %s at %L" msgstr "" -#: fortran/parse.c:3623 +#: fortran/parse.c:3614 #, no-c-format msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L" msgstr "" -#: fortran/parse.c:3649 +#: fortran/parse.c:3640 #, no-c-format msgid "Unexpected %s statement in BLOCK DATA at %C" msgstr "" -#: fortran/parse.c:3692 +#: fortran/parse.c:3683 #, no-c-format msgid "Unexpected %s statement in MODULE at %C" msgstr "" @@ -8393,7 +8393,7 @@ #. If we see a duplicate main program, shut down. If the second #. instance is an implied main program, i.e. data decls or executable #. statements, we're in for lots of errors. -#: fortran/parse.c:3875 +#: fortran/parse.c:3866 #, no-c-format msgid "Two main PROGRAMs at %L and %C" msgstr "" @@ -8546,138 +8546,138 @@ msgid "Syntax error in COMPLEX constant at %C" msgstr "" -#: fortran/primary.c:1476 +#: fortran/primary.c:1483 #, no-c-format msgid "Keyword '%s' at %C has already appeared in the current argument list" msgstr "" -#: fortran/primary.c:1540 +#: fortran/primary.c:1547 #, no-c-format msgid "Extension: argument list function at %C" msgstr "" -#: fortran/primary.c:1607 +#: fortran/primary.c:1614 #, no-c-format msgid "Expected alternate return label at %C" msgstr "" -#: fortran/primary.c:1625 +#: fortran/primary.c:1632 #, no-c-format msgid "Missing keyword name in actual argument list at %C" msgstr "" -#: fortran/primary.c:1670 +#: fortran/primary.c:1677 #, no-c-format msgid "Syntax error in argument list at %C" msgstr "" -#: fortran/primary.c:1765 +#: fortran/primary.c:1772 #, no-c-format msgid "Expected structure component name at %C" msgstr "" -#: fortran/primary.c:1802 +#: fortran/primary.c:1809 #, no-c-format msgid "Expected argument list at %C" msgstr "" -#: fortran/primary.c:2096 +#: fortran/primary.c:2103 #, no-c-format msgid "" "Fortran 2003: Structure constructor with missing optional arguments at %C" msgstr "" -#: fortran/primary.c:2104 +#: fortran/primary.c:2111 #, no-c-format msgid "" "No initializer for component '%s' given in the structure constructor at %C!" msgstr "" -#: fortran/primary.c:2160 +#: fortran/primary.c:2167 #, no-c-format msgid "Can't construct ABSTRACT type '%s' at %C" msgstr "" -#: fortran/primary.c:2188 +#: fortran/primary.c:2195 #, no-c-format msgid "Fortran 2003: Structure constructor with named arguments at %C" msgstr "" -#: fortran/primary.c:2203 +#: fortran/primary.c:2210 #, no-c-format msgid "Component initializer without name after component named %s at %C!" msgstr "" -#: fortran/primary.c:2206 +#: fortran/primary.c:2213 #, no-c-format msgid "Too many components in structure constructor at %C!" msgstr "" -#: fortran/primary.c:2239 +#: fortran/primary.c:2246 #, no-c-format msgid "Component '%s' is initialized twice in the structure constructor at %C!" msgstr "" -#: fortran/primary.c:2295 +#: fortran/primary.c:2302 #, no-c-format msgid "" "component '%s' at %L has already been set by a parent derived type " "constructor" msgstr "" -#: fortran/primary.c:2318 +#: fortran/primary.c:2325 #, no-c-format msgid "Syntax error in structure constructor at %C" msgstr "" -#: fortran/primary.c:2408 +#: fortran/primary.c:2415 #, no-c-format msgid "" "'%s' at %C is the name of a recursive function and so refers to the result " "variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)" msgstr "" -#: fortran/primary.c:2529 +#: fortran/primary.c:2536 #, no-c-format msgid "Unexpected use of subroutine name '%s' at %C" msgstr "" -#: fortran/primary.c:2560 +#: fortran/primary.c:2567 #, no-c-format msgid "Statement function '%s' requires argument list at %C" msgstr "" -#: fortran/primary.c:2563 +#: fortran/primary.c:2570 #, no-c-format msgid "Function '%s' requires an argument list at %C" msgstr "" -#: fortran/primary.c:2608 +#: fortran/primary.c:2615 #, no-c-format msgid "Missing argument to '%s' at %C" msgstr "" -#: fortran/primary.c:2749 +#: fortran/primary.c:2756 #, no-c-format msgid "Missing argument list in function '%s' at %C" msgstr "" -#: fortran/primary.c:2777 +#: fortran/primary.c:2784 #, no-c-format msgid "Symbol at %C is not appropriate for an expression" msgstr "" -#: fortran/primary.c:2845 +#: fortran/primary.c:2852 #, no-c-format msgid "Assigning to PROTECTED variable at %C" msgstr "" -#: fortran/primary.c:2879 +#: fortran/primary.c:2886 #, no-c-format msgid "Named constant at %C in an EQUIVALENCE" msgstr "" -#: fortran/primary.c:2914 +#: fortran/primary.c:2921 #, no-c-format msgid "'%s' at %C is not a variable" msgstr "" @@ -8713,7 +8713,7 @@ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure" msgstr "" -#: fortran/resolve.c:188 fortran/resolve.c:1277 +#: fortran/resolve.c:188 fortran/resolve.c:1280 #, no-c-format msgid "" "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L" @@ -8850,136 +8850,136 @@ "Derived type variable '%s' in COMMON at %L may not have default initializer" msgstr "" -#: fortran/resolve.c:745 +#: fortran/resolve.c:748 #, no-c-format msgid "COMMON block '%s' at %L is used as PARAMETER at %L" msgstr "" -#: fortran/resolve.c:749 +#: fortran/resolve.c:752 #, no-c-format msgid "COMMON block '%s' at %L is also an intrinsic procedure" msgstr "" -#: fortran/resolve.c:753 +#: fortran/resolve.c:756 #, no-c-format msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result" msgstr "" -#: fortran/resolve.c:758 +#: fortran/resolve.c:761 #, no-c-format msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure" msgstr "" -#: fortran/resolve.c:820 +#: fortran/resolve.c:823 #, no-c-format msgid "Components of structure constructor '%s' at %L are PRIVATE" msgstr "" -#: fortran/resolve.c:842 +#: fortran/resolve.c:845 #, no-c-format msgid "" "The rank of the element in the derived type constructor at %L does not match " "that of the component (%d/%d)" msgstr "" -#: fortran/resolve.c:855 +#: fortran/resolve.c:858 #, no-c-format msgid "" "The element in the derived type constructor at %L, for pointer component '%" "s', is %s but should be %s" msgstr "" -#: fortran/resolve.c:868 +#: fortran/resolve.c:871 #, no-c-format msgid "" "The NULL in the derived type constructor at %L is being applied to component " "'%s', which is neither a POINTER nor ALLOCATABLE" msgstr "" -#: fortran/resolve.c:882 +#: fortran/resolve.c:885 #, no-c-format msgid "" "The element in the derived type constructor at %L, for pointer component '%" "s' should be a POINTER or a TARGET" msgstr "" -#: fortran/resolve.c:1003 +#: fortran/resolve.c:1006 #, no-c-format msgid "" "The upper bound in the last dimension must appear in the reference to the " "assumed size array '%s' at %L" msgstr "" -#: fortran/resolve.c:1065 +#: fortran/resolve.c:1068 #, no-c-format msgid "'%s' at %L is ambiguous" msgstr "" -#: fortran/resolve.c:1069 +#: fortran/resolve.c:1072 #, no-c-format msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L" msgstr "" -#: fortran/resolve.c:1148 +#: fortran/resolve.c:1151 #, no-c-format msgid "" "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively. " "Declare it RECURSIVE or use -frecursive" msgstr "" -#: fortran/resolve.c:1181 fortran/resolve.c:6008 fortran/resolve.c:6763 +#: fortran/resolve.c:1184 fortran/resolve.c:6011 fortran/resolve.c:6766 #, no-c-format msgid "Label %d referenced at %L is never defined" msgstr "" -#: fortran/resolve.c:1226 +#: fortran/resolve.c:1229 #, no-c-format msgid "Statement function '%s' at %L is not allowed as an actual argument" msgstr "" -#: fortran/resolve.c:1234 +#: fortran/resolve.c:1237 #, no-c-format msgid "Intrinsic '%s' at %L is not allowed as an actual argument" msgstr "" -#: fortran/resolve.c:1241 +#: fortran/resolve.c:1244 #, no-c-format msgid "Internal procedure '%s' is not allowed as an actual argument at %L" msgstr "" -#: fortran/resolve.c:1247 +#: fortran/resolve.c:1250 #, no-c-format msgid "" "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument " "at %L" msgstr "" -#: fortran/resolve.c:1299 +#: fortran/resolve.c:1302 #, no-c-format msgid "Symbol '%s' at %L is ambiguous" msgstr "" -#: fortran/resolve.c:1350 +#: fortran/resolve.c:1353 #, no-c-format msgid "By-value argument at %L is not of numeric type" msgstr "" -#: fortran/resolve.c:1357 +#: fortran/resolve.c:1360 #, no-c-format msgid "By-value argument at %L cannot be an array or an array section" msgstr "" -#: fortran/resolve.c:1371 +#: fortran/resolve.c:1374 #, no-c-format msgid "By-value argument at %L is not allowed in this context" msgstr "" -#: fortran/resolve.c:1383 +#: fortran/resolve.c:1386 #, no-c-format msgid "Passing internal procedure at %L by location not allowed" msgstr "" -#: fortran/resolve.c:1508 +#: fortran/resolve.c:1511 #, no-c-format msgid "" "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the " @@ -8987,572 +8987,572 @@ "argument with the same rank (12.4.1.5)" msgstr "" -#: fortran/resolve.c:1530 +#: fortran/resolve.c:1533 msgid "elemental procedure" msgstr "" -#: fortran/resolve.c:1547 +#: fortran/resolve.c:1550 #, no-c-format msgid "" "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' " "is a scalar, but another actual argument is an array" msgstr "" -#: fortran/resolve.c:1684 +#: fortran/resolve.c:1687 #, no-c-format msgid "There is no specific function for the generic '%s' at %L" msgstr "" -#: fortran/resolve.c:1693 +#: fortran/resolve.c:1696 #, no-c-format msgid "" "Generic function '%s' at %L is not consistent with a specific intrinsic " "interface" msgstr "" -#: fortran/resolve.c:1748 +#: fortran/resolve.c:1751 #, no-c-format msgid "" "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic" msgstr "" -#: fortran/resolve.c:1794 +#: fortran/resolve.c:1797 #, no-c-format msgid "Unable to resolve the specific function '%s' at %L" msgstr "" -#: fortran/resolve.c:1850 fortran/resolve.c:10258 +#: fortran/resolve.c:1853 fortran/resolve.c:10261 #, no-c-format msgid "Function '%s' at %L has no IMPLICIT type" msgstr "" -#: fortran/resolve.c:2059 +#: fortran/resolve.c:2062 #, no-c-format msgid "Argument to '%s' at %L is not a variable" msgstr "" -#: fortran/resolve.c:2107 +#: fortran/resolve.c:2110 #, no-c-format msgid "More actual than formal arguments in '%s' call at %L" msgstr "" -#: fortran/resolve.c:2116 +#: fortran/resolve.c:2119 #, no-c-format msgid "" "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer" msgstr "" -#: fortran/resolve.c:2139 +#: fortran/resolve.c:2142 #, no-c-format msgid "" "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an " "array of zero size" msgstr "" -#: fortran/resolve.c:2156 +#: fortran/resolve.c:2159 #, no-c-format msgid "" "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' " "because it is not C interoperable" msgstr "" -#: fortran/resolve.c:2166 +#: fortran/resolve.c:2169 #, no-c-format msgid "" "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' " "because it is not C interoperable" msgstr "" -#: fortran/resolve.c:2189 fortran/resolve.c:2226 +#: fortran/resolve.c:2192 fortran/resolve.c:2229 #, no-c-format msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1" msgstr "" #. Case 1c, section 15.1.2.5, J3/04-007: an associated #. scalar pointer. -#: fortran/resolve.c:2202 +#: fortran/resolve.c:2205 #, no-c-format msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER" msgstr "" -#: fortran/resolve.c:2218 +#: fortran/resolve.c:2221 #, no-c-format msgid "Parameter '%s' to '%s' at %L must be a scalar" msgstr "" #. TODO: Update this error message to allow for procedure #. pointers once they are implemented. -#: fortran/resolve.c:2240 +#: fortran/resolve.c:2243 #, no-c-format msgid "Parameter '%s' to '%s' at %L must be a procedure" msgstr "" -#: fortran/resolve.c:2248 +#: fortran/resolve.c:2251 #, no-c-format msgid "Parameter '%s' to '%s' at %L must be BIND(C)" msgstr "" -#: fortran/resolve.c:2294 +#: fortran/resolve.c:2297 #, no-c-format msgid "Intrinsic subroutine '%s' used as a function at %L" msgstr "" -#: fortran/resolve.c:2301 +#: fortran/resolve.c:2304 #, no-c-format msgid "'%s' at %L is not a function" msgstr "" -#: fortran/resolve.c:2307 +#: fortran/resolve.c:2310 #, no-c-format msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L" msgstr "" #. Internal procedures are taken care of in resolve_contained_fntype. -#: fortran/resolve.c:2352 +#: fortran/resolve.c:2355 #, no-c-format msgid "" "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is " "not a dummy argument" msgstr "" -#: fortran/resolve.c:2405 +#: fortran/resolve.c:2408 #, no-c-format msgid "" "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE " "construct" msgstr "" -#: fortran/resolve.c:2455 +#: fortran/resolve.c:2458 #, no-c-format msgid "reference to non-PURE function '%s' at %L inside a FORALL %s" msgstr "" -#: fortran/resolve.c:2462 +#: fortran/resolve.c:2465 #, no-c-format msgid "" "Function reference to '%s' at %L is to a non-PURE procedure within a PURE " "procedure" msgstr "" -#: fortran/resolve.c:2478 +#: fortran/resolve.c:2481 #, no-c-format msgid "" "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not " "RECURSIVE" msgstr "" -#: fortran/resolve.c:2482 +#: fortran/resolve.c:2485 #, no-c-format msgid "" "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE" msgstr "" -#: fortran/resolve.c:2529 +#: fortran/resolve.c:2532 #, no-c-format msgid "Subroutine call to '%s' in FORALL block at %L is not PURE" msgstr "" -#: fortran/resolve.c:2532 +#: fortran/resolve.c:2535 #, no-c-format msgid "Subroutine call to '%s' at %L is not PURE" msgstr "" -#: fortran/resolve.c:2595 +#: fortran/resolve.c:2598 #, no-c-format msgid "There is no specific subroutine for the generic '%s' at %L" msgstr "" -#: fortran/resolve.c:2604 +#: fortran/resolve.c:2607 #, no-c-format msgid "" "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine " "interface" msgstr "" -#: fortran/resolve.c:2712 +#: fortran/resolve.c:2715 #, no-c-format msgid "Missing SHAPE parameter for call to %s at %L" msgstr "" -#: fortran/resolve.c:2720 +#: fortran/resolve.c:2723 #, no-c-format msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array" msgstr "" -#: fortran/resolve.c:2805 +#: fortran/resolve.c:2808 #, no-c-format msgid "" "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic" msgstr "" -#: fortran/resolve.c:2849 +#: fortran/resolve.c:2852 #, no-c-format msgid "Unable to resolve the specific subroutine '%s' at %L" msgstr "" -#: fortran/resolve.c:2909 +#: fortran/resolve.c:2912 #, no-c-format msgid "'%s' at %L has a type, which is not consistent with the CALL at %L" msgstr "" -#: fortran/resolve.c:2942 +#: fortran/resolve.c:2945 #, no-c-format msgid "" "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not " "RECURSIVE" msgstr "" -#: fortran/resolve.c:2946 +#: fortran/resolve.c:2949 #, no-c-format msgid "" "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE" msgstr "" -#: fortran/resolve.c:3020 +#: fortran/resolve.c:3023 #, no-c-format msgid "Shapes for operands at %L and %L are not conformable" msgstr "" -#: fortran/resolve.c:3071 +#: fortran/resolve.c:3074 #, c-format msgid "Invalid context for NULL() pointer at %%L" msgstr "" -#: fortran/resolve.c:3087 +#: fortran/resolve.c:3090 #, c-format msgid "Operand of unary numeric operator '%s' at %%L is %s" msgstr "" -#: fortran/resolve.c:3103 +#: fortran/resolve.c:3106 #, c-format msgid "Operands of binary numeric operator '%s' at %%L are %s/%s" msgstr "" -#: fortran/resolve.c:3118 +#: fortran/resolve.c:3121 #, c-format msgid "Operands of string concatenation operator at %%L are %s/%s" msgstr "" -#: fortran/resolve.c:3137 +#: fortran/resolve.c:3140 #, c-format msgid "Operands of logical operator '%s' at %%L are %s/%s" msgstr "" -#: fortran/resolve.c:3151 +#: fortran/resolve.c:3154 #, c-format msgid "Operand of .not. operator at %%L is %s" msgstr "" -#: fortran/resolve.c:3165 +#: fortran/resolve.c:3168 msgid "COMPLEX quantities cannot be compared at %L" msgstr "" -#: fortran/resolve.c:3194 +#: fortran/resolve.c:3197 #, c-format msgid "Logicals at %%L must be compared with %s instead of %s" msgstr "" -#: fortran/resolve.c:3200 +#: fortran/resolve.c:3203 #, c-format msgid "Operands of comparison operator '%s' at %%L are %s/%s" msgstr "" -#: fortran/resolve.c:3208 +#: fortran/resolve.c:3211 #, c-format msgid "Unknown operator '%s' at %%L" msgstr "" -#: fortran/resolve.c:3210 +#: fortran/resolve.c:3213 #, c-format msgid "Operand of user operator '%s' at %%L is %s" msgstr "" -#: fortran/resolve.c:3213 +#: fortran/resolve.c:3216 #, c-format msgid "Operands of user operator '%s' at %%L are %s/%s" msgstr "" -#: fortran/resolve.c:3299 +#: fortran/resolve.c:3302 #, c-format msgid "Inconsistent ranks for operator at %%L and %%L" msgstr "" -#: fortran/resolve.c:3496 +#: fortran/resolve.c:3499 #, no-c-format msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" -#: fortran/resolve.c:3504 +#: fortran/resolve.c:3507 #, no-c-format msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" -#: fortran/resolve.c:3523 +#: fortran/resolve.c:3526 #, no-c-format msgid "Illegal stride of zero at %L" msgstr "" -#: fortran/resolve.c:3540 +#: fortran/resolve.c:3543 #, no-c-format msgid "" "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" -#: fortran/resolve.c:3548 +#: fortran/resolve.c:3551 #, no-c-format msgid "" "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" -#: fortran/resolve.c:3564 +#: fortran/resolve.c:3567 #, no-c-format msgid "" "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" -#: fortran/resolve.c:3573 +#: fortran/resolve.c:3576 #, no-c-format msgid "" "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" -#: fortran/resolve.c:3612 +#: fortran/resolve.c:3615 #, no-c-format msgid "Rightmost upper bound of assumed size array section not specified at %L" msgstr "" -#: fortran/resolve.c:3622 +#: fortran/resolve.c:3625 #, no-c-format msgid "Rank mismatch in array reference at %L (%d/%d)" msgstr "" -#: fortran/resolve.c:3650 +#: fortran/resolve.c:3653 #, no-c-format msgid "Array index at %L must be scalar" msgstr "" -#: fortran/resolve.c:3656 +#: fortran/resolve.c:3659 #, no-c-format msgid "Array index at %L must be of INTEGER type, found %s" msgstr "" -#: fortran/resolve.c:3662 +#: fortran/resolve.c:3665 #, no-c-format msgid "Extension: REAL array index at %L" msgstr "" -#: fortran/resolve.c:3692 +#: fortran/resolve.c:3695 #, no-c-format msgid "Argument dim at %L must be scalar" msgstr "" -#: fortran/resolve.c:3699 +#: fortran/resolve.c:3702 #, no-c-format msgid "Argument dim at %L must be of INTEGER type" msgstr "" -#: fortran/resolve.c:3820 +#: fortran/resolve.c:3823 #, no-c-format msgid "Array index at %L is an array of rank %d" msgstr "" -#: fortran/resolve.c:3857 +#: fortran/resolve.c:3860 #, no-c-format msgid "Substring start index at %L must be of type INTEGER" msgstr "" -#: fortran/resolve.c:3864 +#: fortran/resolve.c:3867 #, no-c-format msgid "Substring start index at %L must be scalar" msgstr "" -#: fortran/resolve.c:3873 +#: fortran/resolve.c:3876 #, no-c-format msgid "Substring start index at %L is less than one" msgstr "" -#: fortran/resolve.c:3886 +#: fortran/resolve.c:3889 #, no-c-format msgid "Substring end index at %L must be of type INTEGER" msgstr "" -#: fortran/resolve.c:3893 +#: fortran/resolve.c:3896 #, no-c-format msgid "Substring end index at %L must be scalar" msgstr "" -#: fortran/resolve.c:3903 +#: fortran/resolve.c:3906 #, no-c-format msgid "Substring end index at %L exceeds the string length" msgstr "" -#: fortran/resolve.c:4041 +#: fortran/resolve.c:4044 #, no-c-format msgid "" "Component to the right of a part reference with nonzero rank must not have " "the POINTER attribute at %L" msgstr "" -#: fortran/resolve.c:4048 +#: fortran/resolve.c:4051 #, no-c-format msgid "" "Component to the right of a part reference with nonzero rank must not have " "the ALLOCATABLE attribute at %L" msgstr "" -#: fortran/resolve.c:4067 +#: fortran/resolve.c:4070 #, no-c-format msgid "" "Two or more part references with nonzero rank must not be specified at %L" msgstr "" -#: fortran/resolve.c:4246 +#: fortran/resolve.c:4249 #, no-c-format msgid "" "Variable '%s', used in a specification expression, is referenced at %L " "before the ENTRY statement in which it is a parameter" msgstr "" -#: fortran/resolve.c:4251 +#: fortran/resolve.c:4254 #, no-c-format msgid "" "Variable '%s' is used at %L before the ENTRY statement in which it is a " "parameter" msgstr "" -#: fortran/resolve.c:4535 +#: fortran/resolve.c:4538 #, no-c-format msgid "Passed-object at %L must be scalar" msgstr "" #. Nothing matching found! -#: fortran/resolve.c:4645 +#: fortran/resolve.c:4648 #, no-c-format msgid "" "Found no matching specific binding for the call to the GENERIC '%s' at %L" msgstr "" -#: fortran/resolve.c:4665 +#: fortran/resolve.c:4668 #, no-c-format msgid "'%s' at %L should be a SUBROUTINE" msgstr "" -#: fortran/resolve.c:4701 +#: fortran/resolve.c:4704 #, no-c-format msgid "'%s' at %L should be a FUNCTION" msgstr "" -#: fortran/resolve.c:4837 +#: fortran/resolve.c:4840 #, no-c-format msgid "%s at %L must be a scalar" msgstr "" -#: fortran/resolve.c:4847 +#: fortran/resolve.c:4850 #, no-c-format msgid "Deleted feature: %s at %L must be integer" msgstr "" -#: fortran/resolve.c:4851 fortran/resolve.c:4858 +#: fortran/resolve.c:4854 fortran/resolve.c:4861 #, no-c-format msgid "%s at %L must be INTEGER" msgstr "" -#: fortran/resolve.c:4878 +#: fortran/resolve.c:4881 #, no-c-format msgid "Cannot assign to loop variable in PURE procedure at %L" msgstr "" -#: fortran/resolve.c:4902 +#: fortran/resolve.c:4905 #, no-c-format msgid "Step expression in DO loop at %L cannot be zero" msgstr "" -#: fortran/resolve.c:4978 +#: fortran/resolve.c:4981 #, no-c-format msgid "FORALL index-name at %L must be a scalar INTEGER" msgstr "" -#: fortran/resolve.c:4983 +#: fortran/resolve.c:4986 #, no-c-format msgid "FORALL start expression at %L must be a scalar INTEGER" msgstr "" -#: fortran/resolve.c:4990 +#: fortran/resolve.c:4993 #, no-c-format msgid "FORALL end expression at %L must be a scalar INTEGER" msgstr "" -#: fortran/resolve.c:4998 +#: fortran/resolve.c:5001 #, no-c-format msgid "FORALL stride expression at %L must be a scalar %s" msgstr "" -#: fortran/resolve.c:5003 +#: fortran/resolve.c:5006 #, no-c-format msgid "FORALL stride expression at %L cannot be zero" msgstr "" -#: fortran/resolve.c:5019 +#: fortran/resolve.c:5022 #, no-c-format msgid "FORALL index '%s' may not appear in triplet specification at %L" msgstr "" -#: fortran/resolve.c:5099 +#: fortran/resolve.c:5102 #, no-c-format msgid "" "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER" msgstr "" -#: fortran/resolve.c:5106 +#: fortran/resolve.c:5109 #, no-c-format msgid "Cannot deallocate INTENT(IN) variable '%s' at %L" msgstr "" -#: fortran/resolve.c:5210 +#: fortran/resolve.c:5213 #, no-c-format msgid "" "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the " "same statement at %L" msgstr "" -#: fortran/resolve.c:5246 +#: fortran/resolve.c:5249 #, no-c-format msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER" msgstr "" -#: fortran/resolve.c:5254 +#: fortran/resolve.c:5257 #, no-c-format msgid "Cannot allocate INTENT(IN) variable '%s' at %L" msgstr "" -#: fortran/resolve.c:5278 +#: fortran/resolve.c:5281 #, no-c-format msgid "Array specification required in ALLOCATE statement at %L" msgstr "" -#: fortran/resolve.c:5308 +#: fortran/resolve.c:5311 #, no-c-format msgid "Bad array specification in ALLOCATE statement at %L" msgstr "" -#: fortran/resolve.c:5328 +#: fortran/resolve.c:5331 #, no-c-format msgid "" "'%s' must not appear in the array specification at %L in the same ALLOCATE " "statement where it is itself allocated" msgstr "" -#: fortran/resolve.c:5351 +#: fortran/resolve.c:5354 #, no-c-format msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)" msgstr "" -#: fortran/resolve.c:5355 +#: fortran/resolve.c:5358 #, no-c-format msgid "Illegal STAT variable in %s statement at %C for a PURE procedure" msgstr "" -#: fortran/resolve.c:5360 +#: fortran/resolve.c:5363 #, no-c-format msgid "STAT tag in %s statement at %L must be of type INTEGER" msgstr "" @@ -9561,99 +9561,99 @@ #. element in the list. Either way, we must #. issue an error and get the next case from P. #. FIXME: Sort P and Q by line number. -#: fortran/resolve.c:5523 +#: fortran/resolve.c:5526 #, no-c-format msgid "CASE label at %L overlaps with CASE label at %L" msgstr "" -#: fortran/resolve.c:5574 +#: fortran/resolve.c:5577 #, no-c-format msgid "Expression in CASE statement at %L must be of type %s" msgstr "" -#: fortran/resolve.c:5585 +#: fortran/resolve.c:5588 #, no-c-format msgid "Expression in CASE statement at %L must be of kind %d" msgstr "" -#: fortran/resolve.c:5597 +#: fortran/resolve.c:5600 #, no-c-format msgid "Expression in CASE statement at %L must be scalar" msgstr "" -#: fortran/resolve.c:5643 +#: fortran/resolve.c:5646 #, no-c-format msgid "" "Selection expression in computed GOTO statement at %L must be a scalar " "integer expression" msgstr "" -#: fortran/resolve.c:5661 +#: fortran/resolve.c:5664 #, no-c-format msgid "Argument of SELECT statement at %L cannot be %s" msgstr "" -#: fortran/resolve.c:5670 +#: fortran/resolve.c:5673 #, no-c-format msgid "Argument of SELECT statement at %L must be a scalar expression" msgstr "" -#: fortran/resolve.c:5735 +#: fortran/resolve.c:5738 #, no-c-format msgid "" "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" msgstr "" -#: fortran/resolve.c:5761 +#: fortran/resolve.c:5764 #, no-c-format msgid "Logical range in CASE statement at %L is not allowed" msgstr "" -#: fortran/resolve.c:5773 +#: fortran/resolve.c:5776 #, no-c-format msgid "constant logical value in CASE statement is repeated at %L" msgstr "" -#: fortran/resolve.c:5787 +#: fortran/resolve.c:5790 #, no-c-format msgid "Range specification at %L can never be matched" msgstr "" -#: fortran/resolve.c:5890 +#: fortran/resolve.c:5893 #, no-c-format msgid "Logical SELECT CASE block at %L has more that two cases" msgstr "" -#: fortran/resolve.c:5928 +#: fortran/resolve.c:5931 #, no-c-format msgid "Data transfer element at %L cannot have POINTER components" msgstr "" -#: fortran/resolve.c:5935 +#: fortran/resolve.c:5938 #, no-c-format msgid "Data transfer element at %L cannot have ALLOCATABLE components" msgstr "" -#: fortran/resolve.c:5942 +#: fortran/resolve.c:5945 #, no-c-format msgid "Data transfer element at %L cannot have PRIVATE components" msgstr "" -#: fortran/resolve.c:5951 +#: fortran/resolve.c:5954 #, no-c-format msgid "" "Data transfer element at %L cannot be a full reference to an assumed-size " "array" msgstr "" -#: fortran/resolve.c:6015 +#: fortran/resolve.c:6018 #, no-c-format msgid "" "Statement at %L is not a valid branch target statement for the branch " "statement at %L" msgstr "" -#: fortran/resolve.c:6024 +#: fortran/resolve.c:6027 #, no-c-format msgid "Branch at %L may result in an infinite loop" msgstr "" @@ -9661,118 +9661,118 @@ #. The label is not in an enclosing block, so illegal. This was #. allowed in Fortran 66, so we allow it as extension. No #. further checks are necessary in this case. -#: fortran/resolve.c:6037 +#: fortran/resolve.c:6040 #, no-c-format msgid "Label at %L is not in the same block as the GOTO statement at %L" msgstr "" -#: fortran/resolve.c:6052 fortran/resolve.c:6066 +#: fortran/resolve.c:6055 fortran/resolve.c:6069 #, no-c-format msgid "Deleted feature: GOTO at %L jumps to END of construct at %L" msgstr "" -#: fortran/resolve.c:6143 +#: fortran/resolve.c:6146 #, no-c-format msgid "WHERE mask at %L has inconsistent shape" msgstr "" -#: fortran/resolve.c:6159 +#: fortran/resolve.c:6162 #, no-c-format msgid "WHERE assignment target at %L has inconsistent shape" msgstr "" -#: fortran/resolve.c:6167 fortran/resolve.c:6254 +#: fortran/resolve.c:6170 fortran/resolve.c:6257 #, no-c-format msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" msgstr "" -#: fortran/resolve.c:6177 fortran/resolve.c:6264 +#: fortran/resolve.c:6180 fortran/resolve.c:6267 #, no-c-format msgid "Unsupported statement inside WHERE at %L" msgstr "" -#: fortran/resolve.c:6208 +#: fortran/resolve.c:6211 #, no-c-format msgid "Assignment to a FORALL index variable at %L" msgstr "" -#: fortran/resolve.c:6217 +#: fortran/resolve.c:6220 #, no-c-format msgid "" "The FORALL with index '%s' is not used on the left side of the assignment at " "%L and so might cause multiple assignment to this object" msgstr "" -#: fortran/resolve.c:6386 +#: fortran/resolve.c:6389 #, no-c-format msgid "An outer FORALL construct already has an index with this name %L" msgstr "" -#: fortran/resolve.c:6453 +#: fortran/resolve.c:6456 #, no-c-format msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" msgstr "" -#: fortran/resolve.c:6515 +#: fortran/resolve.c:6518 #, no-c-format msgid "Subroutine '%s' called instead of assignment at %L must be PURE" msgstr "" -#: fortran/resolve.c:6588 +#: fortran/resolve.c:6591 #, no-c-format msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L" msgstr "" -#: fortran/resolve.c:6613 +#: fortran/resolve.c:6616 #, no-c-format msgid "Cannot assign to variable '%s' in PURE procedure at %L" msgstr "" -#: fortran/resolve.c:6625 +#: fortran/resolve.c:6628 #, no-c-format msgid "" "The impure variable at %L is assigned to a derived type variable with a " "POINTER component in a PURE procedure (12.6)" msgstr "" -#: fortran/resolve.c:6731 +#: fortran/resolve.c:6734 #, no-c-format msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable" msgstr "" -#: fortran/resolve.c:6734 +#: fortran/resolve.c:6737 #, no-c-format msgid "Variable '%s' has not been assigned a target label at %L" msgstr "" -#: fortran/resolve.c:6745 +#: fortran/resolve.c:6748 #, no-c-format msgid "" "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" msgstr "" -#: fortran/resolve.c:6771 +#: fortran/resolve.c:6774 #, no-c-format msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" msgstr "" -#: fortran/resolve.c:6786 +#: fortran/resolve.c:6789 #, no-c-format msgid "Arithmetic IF statement at %L requires a numeric expression" msgstr "" -#: fortran/resolve.c:6832 +#: fortran/resolve.c:6835 #, no-c-format msgid "" "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" msgstr "" -#: fortran/resolve.c:6914 +#: fortran/resolve.c:6917 #, no-c-format msgid "FORALL mask clause at %L requires a LOGICAL expression" msgstr "" -#: fortran/resolve.c:6986 fortran/resolve.c:7042 +#: fortran/resolve.c:6989 fortran/resolve.c:7045 #, no-c-format msgid "" "Binding label '%s' for common block '%s' at %L collides with the global " @@ -9780,14 +9780,14 @@ msgstr "" #. Common block names match but binding labels do not. -#: fortran/resolve.c:7007 +#: fortran/resolve.c:7010 #, no-c-format msgid "" "Binding label '%s' for common block '%s' at %L does not match the binding " "label '%s' for common block '%s' at %L" msgstr "" -#: fortran/resolve.c:7054 +#: fortran/resolve.c:7057 #, no-c-format msgid "" "Binding label '%s' for common block '%s' at %L collides with global entity '%" @@ -9795,57 +9795,57 @@ msgstr "" #. Make sure global procedures don't collide with anything. -#: fortran/resolve.c:7106 +#: fortran/resolve.c:7109 #, no-c-format msgid "Binding label '%s' at %L collides with the global entity '%s' at %L" msgstr "" #. Make sure procedures in interface bodies don't collide. -#: fortran/resolve.c:7119 +#: fortran/resolve.c:7122 #, no-c-format msgid "" "Binding label '%s' in interface body at %L collides with the global entity '%" "s' at %L" msgstr "" -#: fortran/resolve.c:7132 +#: fortran/resolve.c:7135 #, no-c-format msgid "Binding label '%s' at %L collides with global entity '%s' at %L" msgstr "" -#: fortran/resolve.c:7209 +#: fortran/resolve.c:7212 #, no-c-format msgid "CHARACTER variable has zero length at %L" msgstr "" -#: fortran/resolve.c:7496 +#: fortran/resolve.c:7499 #, no-c-format msgid "Allocatable array '%s' at %L must have a deferred shape" msgstr "" -#: fortran/resolve.c:7499 +#: fortran/resolve.c:7502 #, no-c-format msgid "Scalar object '%s' at %L may not be ALLOCATABLE" msgstr "" -#: fortran/resolve.c:7506 +#: fortran/resolve.c:7509 #, no-c-format msgid "Array pointer '%s' at %L must have a deferred shape" msgstr "" -#: fortran/resolve.c:7517 +#: fortran/resolve.c:7520 #, no-c-format msgid "Array '%s' at %L cannot have a deferred shape" msgstr "" -#: fortran/resolve.c:7545 +#: fortran/resolve.c:7548 #, no-c-format msgid "" "The type '%s' cannot be host associated at %L because it is blocked by an " "incompatible object of the same name declared at %L" msgstr "" -#: fortran/resolve.c:7568 +#: fortran/resolve.c:7571 #, no-c-format msgid "" "Object '%s' at %L must have the SAVE attribute for default initialization of " @@ -9854,181 +9854,181 @@ #. The shape of a main program or module array needs to be #. constant. -#: fortran/resolve.c:7615 +#: fortran/resolve.c:7618 #, no-c-format msgid "The module or main program array '%s' at %L must have constant shape" msgstr "" -#: fortran/resolve.c:7628 +#: fortran/resolve.c:7631 #, no-c-format msgid "" "Entity with assumed character length at %L must be a dummy argument or a " "PARAMETER" msgstr "" -#: fortran/resolve.c:7647 +#: fortran/resolve.c:7650 #, no-c-format msgid "'%s' at %L must have constant character length in this context" msgstr "" -#: fortran/resolve.c:7683 +#: fortran/resolve.c:7686 #, no-c-format msgid "Allocatable '%s' at %L cannot have an initializer" msgstr "" -#: fortran/resolve.c:7686 +#: fortran/resolve.c:7689 #, no-c-format msgid "External '%s' at %L cannot have an initializer" msgstr "" -#: fortran/resolve.c:7690 +#: fortran/resolve.c:7693 #, no-c-format msgid "Dummy '%s' at %L cannot have an initializer" msgstr "" -#: fortran/resolve.c:7693 +#: fortran/resolve.c:7696 #, no-c-format msgid "Intrinsic '%s' at %L cannot have an initializer" msgstr "" -#: fortran/resolve.c:7696 +#: fortran/resolve.c:7699 #, no-c-format msgid "Function result '%s' at %L cannot have an initializer" msgstr "" -#: fortran/resolve.c:7699 +#: fortran/resolve.c:7702 #, no-c-format msgid "Automatic array '%s' at %L cannot have an initializer" msgstr "" -#: fortran/resolve.c:7722 +#: fortran/resolve.c:7725 #, no-c-format msgid "Although not referenced, '%s' at %L has ambiguous interfaces" msgstr "" -#: fortran/resolve.c:7741 +#: fortran/resolve.c:7744 #, no-c-format msgid "" "Character-valued statement function '%s' at %L must have constant length" msgstr "" -#: fortran/resolve.c:7749 +#: fortran/resolve.c:7752 #, no-c-format msgid "" "Automatic character length function '%s' at %L must have an explicit " "interface" msgstr "" -#: fortran/resolve.c:7774 +#: fortran/resolve.c:7777 #, no-c-format msgid "" "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%" "s', which is PUBLIC at %L" msgstr "" -#: fortran/resolve.c:7797 fortran/resolve.c:7822 +#: fortran/resolve.c:7800 fortran/resolve.c:7825 #, no-c-format msgid "" "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy " "arguments of '%s' which is PRIVATE" msgstr "" -#: fortran/resolve.c:7840 +#: fortran/resolve.c:7843 #, no-c-format msgid "Function '%s' at %L cannot have an initializer" msgstr "" -#: fortran/resolve.c:7849 +#: fortran/resolve.c:7852 #, no-c-format msgid "External object '%s' at %L may not have an initializer" msgstr "" -#: fortran/resolve.c:7857 +#: fortran/resolve.c:7860 #, no-c-format msgid "ELEMENTAL function '%s' at %L must have a scalar result" msgstr "" -#: fortran/resolve.c:7878 +#: fortran/resolve.c:7881 #, no-c-format msgid "CHARACTER(*) function '%s' at %L cannot be array-valued" msgstr "" -#: fortran/resolve.c:7882 +#: fortran/resolve.c:7885 #, no-c-format msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued" msgstr "" -#: fortran/resolve.c:7886 +#: fortran/resolve.c:7889 #, no-c-format msgid "CHARACTER(*) function '%s' at %L cannot be pure" msgstr "" -#: fortran/resolve.c:7890 +#: fortran/resolve.c:7893 #, no-c-format msgid "CHARACTER(*) function '%s' at %L cannot be recursive" msgstr "" -#: fortran/resolve.c:7899 +#: fortran/resolve.c:7902 #, no-c-format msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95" msgstr "" -#: fortran/resolve.c:7952 +#: fortran/resolve.c:7955 #, no-c-format msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L" msgstr "" -#: fortran/resolve.c:7959 +#: fortran/resolve.c:7962 #, no-c-format msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L" msgstr "" -#: fortran/resolve.c:8003 +#: fortran/resolve.c:8006 #, no-c-format msgid "FINAL procedure '%s' at %L is not a SUBROUTINE" msgstr "" -#: fortran/resolve.c:8011 +#: fortran/resolve.c:8014 #, no-c-format msgid "FINAL procedure at %L must have exactly one argument" msgstr "" -#: fortran/resolve.c:8020 +#: fortran/resolve.c:8023 #, no-c-format msgid "Argument of FINAL procedure at %L must be of type '%s'" msgstr "" -#: fortran/resolve.c:8028 +#: fortran/resolve.c:8031 #, no-c-format msgid "Argument of FINAL procedure at %L must not be a POINTER" msgstr "" -#: fortran/resolve.c:8034 +#: fortran/resolve.c:8037 #, no-c-format msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" msgstr "" -#: fortran/resolve.c:8040 +#: fortran/resolve.c:8043 #, no-c-format msgid "Argument of FINAL procedure at %L must not be OPTIONAL" msgstr "" -#: fortran/resolve.c:8048 +#: fortran/resolve.c:8051 #, no-c-format msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" msgstr "" -#: fortran/resolve.c:8056 +#: fortran/resolve.c:8059 #, no-c-format msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" msgstr "" -#: fortran/resolve.c:8075 +#: fortran/resolve.c:8078 #, no-c-format msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'" msgstr "" -#: fortran/resolve.c:8108 +#: fortran/resolve.c:8111 #, no-c-format msgid "" "Only array FINAL procedures declared for derived type '%s' defined at %L, " @@ -10036,302 +10036,302 @@ msgstr "" #. TODO: Remove this error when finalization is finished. -#: fortran/resolve.c:8113 +#: fortran/resolve.c:8116 #, no-c-format msgid "Finalization at %L is not yet implemented" msgstr "" -#: fortran/resolve.c:8139 +#: fortran/resolve.c:8142 #, no-c-format msgid "Can't overwrite GENERIC '%s' at %L" msgstr "" -#: fortran/resolve.c:8151 +#: fortran/resolve.c:8154 #, no-c-format msgid "'%s' at %L overrides a procedure binding declared NON_OVERRIDABLE" msgstr "" -#: fortran/resolve.c:8159 +#: fortran/resolve.c:8162 #, no-c-format msgid "'%s' at %L overrides a PURE procedure and must also be PURE" msgstr "" -#: fortran/resolve.c:8168 +#: fortran/resolve.c:8171 #, no-c-format msgid "'%s' at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" msgstr "" -#: fortran/resolve.c:8174 +#: fortran/resolve.c:8177 #, no-c-format msgid "" "'%s' at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, " "either" msgstr "" -#: fortran/resolve.c:8183 +#: fortran/resolve.c:8186 #, no-c-format msgid "'%s' at %L overrides a SUBROUTINE and must also be a SUBROUTINE" msgstr "" -#: fortran/resolve.c:8194 +#: fortran/resolve.c:8197 #, no-c-format msgid "'%s' at %L overrides a FUNCTION and must also be a FUNCTION" msgstr "" -#: fortran/resolve.c:8205 +#: fortran/resolve.c:8208 #, no-c-format msgid "" "'%s' at %L and the overridden FUNCTION should have matching result types" msgstr "" -#: fortran/resolve.c:8216 +#: fortran/resolve.c:8219 #, no-c-format msgid "'%s' at %L overrides a PUBLIC procedure and must not be PRIVATE" msgstr "" -#: fortran/resolve.c:8245 +#: fortran/resolve.c:8248 #, no-c-format msgid "" "Dummy argument '%s' of '%s' at %L should be named '%s' as to match the " "corresponding argument of the overridden procedure" msgstr "" -#: fortran/resolve.c:8258 +#: fortran/resolve.c:8261 #, no-c-format msgid "" "Types mismatch for dummy argument '%s' of '%s' %L in in respect to the " "overridden procedure" msgstr "" -#: fortran/resolve.c:8268 +#: fortran/resolve.c:8271 #, no-c-format msgid "" "'%s' at %L must have the same number of formal arguments as the overridden " "procedure" msgstr "" -#: fortran/resolve.c:8277 +#: fortran/resolve.c:8280 #, no-c-format msgid "'%s' at %L overrides a NOPASS binding and must also be NOPASS" msgstr "" -#: fortran/resolve.c:8288 +#: fortran/resolve.c:8291 #, no-c-format msgid "'%s' at %L overrides a binding with PASS and must also be PASS" msgstr "" -#: fortran/resolve.c:8295 +#: fortran/resolve.c:8298 #, no-c-format msgid "" "Passed-object dummy argument of '%s' at %L must be at the same position as " "the passed-object dummy argument of the overridden procedure" msgstr "" -#: fortran/resolve.c:8326 +#: fortran/resolve.c:8329 #, no-c-format msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L" msgstr "" -#: fortran/resolve.c:8335 +#: fortran/resolve.c:8338 #, no-c-format msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous" msgstr "" -#: fortran/resolve.c:8404 +#: fortran/resolve.c:8407 #, no-c-format msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L" msgstr "" -#: fortran/resolve.c:8416 +#: fortran/resolve.c:8419 #, no-c-format msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too" msgstr "" -#: fortran/resolve.c:8446 +#: fortran/resolve.c:8449 #, no-c-format msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name" msgstr "" -#: fortran/resolve.c:8504 +#: fortran/resolve.c:8507 #, no-c-format msgid "" "'%s' must be a module procedure or an external procedure with an explicit " "interface at %L" msgstr "" -#: fortran/resolve.c:8541 +#: fortran/resolve.c:8544 #, no-c-format msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'" msgstr "" -#: fortran/resolve.c:8555 +#: fortran/resolve.c:8558 #, no-c-format msgid "Procedure '%s' with PASS at %L must have at least one argument" msgstr "" -#: fortran/resolve.c:8567 +#: fortran/resolve.c:8570 #, no-c-format msgid "" "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'" msgstr "" -#: fortran/resolve.c:8573 +#: fortran/resolve.c:8576 #, no-c-format msgid "" "Polymorphic entities are not yet implemented, non-polymorphic passed-object " "dummy argument of '%s' at %L accepted" msgstr "" -#: fortran/resolve.c:8598 +#: fortran/resolve.c:8601 #, no-c-format msgid "Procedure '%s' at %L has the same name as a component of '%s'" msgstr "" -#: fortran/resolve.c:8607 +#: fortran/resolve.c:8610 #, no-c-format msgid "" "Procedure '%s' at %L has the same name as an inherited component of '%s'" msgstr "" -#: fortran/resolve.c:8675 +#: fortran/resolve.c:8678 #, no-c-format msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT" msgstr "" -#: fortran/resolve.c:8692 +#: fortran/resolve.c:8695 #, no-c-format msgid "" "Component '%s' of '%s' at %L has the same name as an inherited type-bound " "procedure" msgstr "" -#: fortran/resolve.c:8704 +#: fortran/resolve.c:8707 #, no-c-format msgid "" "Character length of component '%s' needs to be a constant specification " "expression at %L" msgstr "" -#: fortran/resolve.c:8719 +#: fortran/resolve.c:8722 #, no-c-format msgid "" "The component '%s' is a PRIVATE type and cannot be a component of '%s', " "which is PUBLIC at %L" msgstr "" -#: fortran/resolve.c:8729 +#: fortran/resolve.c:8732 #, no-c-format msgid "" "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE " "attribute" msgstr "" -#: fortran/resolve.c:8740 +#: fortran/resolve.c:8743 #, no-c-format msgid "" "The pointer component '%s' of '%s' at %L is a type that has not been declared" msgstr "" -#: fortran/resolve.c:8768 +#: fortran/resolve.c:8771 #, no-c-format msgid "Component '%s' of '%s' at %L must have constant array bounds" msgstr "" -#: fortran/resolve.c:8809 +#: fortran/resolve.c:8812 #, no-c-format msgid "" "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC " "namelist '%s' at %L" msgstr "" -#: fortran/resolve.c:8819 +#: fortran/resolve.c:8822 #, no-c-format msgid "" "NAMELIST object '%s' has use-associated PRIVATE components and cannot be " "member of namelist '%s' at %L" msgstr "" -#: fortran/resolve.c:8832 +#: fortran/resolve.c:8835 #, no-c-format msgid "" "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC " "namelist '%s' at %L" msgstr "" -#: fortran/resolve.c:8844 +#: fortran/resolve.c:8847 #, no-c-format msgid "" "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L" msgstr "" -#: fortran/resolve.c:8853 +#: fortran/resolve.c:8856 #, no-c-format msgid "" "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L" msgstr "" -#: fortran/resolve.c:8865 +#: fortran/resolve.c:8868 #, no-c-format msgid "" "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE " "components" msgstr "" -#: fortran/resolve.c:8873 +#: fortran/resolve.c:8876 #, no-c-format msgid "" "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components" msgstr "" -#: fortran/resolve.c:8899 +#: fortran/resolve.c:8902 #, no-c-format msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" msgstr "" -#: fortran/resolve.c:8918 +#: fortran/resolve.c:8921 #, no-c-format msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape" msgstr "" -#: fortran/resolve.c:8929 +#: fortran/resolve.c:8932 #, no-c-format msgid "" "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type" msgstr "" -#: fortran/resolve.c:8940 +#: fortran/resolve.c:8943 #, no-c-format msgid "Incompatible derived type in PARAMETER at %L" msgstr "" -#: fortran/resolve.c:8999 +#: fortran/resolve.c:9002 #, no-c-format msgid "" "Interface '%s', used by procedure '%s' at %L, is declared in a later " "PROCEDURE statement" msgstr "" -#: fortran/resolve.c:9047 +#: fortran/resolve.c:9050 #, no-c-format msgid "Interface '%s' of procedure '%s' at %L must be explicit" msgstr "" -#: fortran/resolve.c:9080 +#: fortran/resolve.c:9083 #, no-c-format msgid "Type specified for intrinsic function '%s' at %L is ignored" msgstr "" -#: fortran/resolve.c:9087 +#: fortran/resolve.c:9090 #, no-c-format msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier" msgstr "" -#: fortran/resolve.c:9094 +#: fortran/resolve.c:9097 #, no-c-format msgid "'%s' declared INTRINSIC at %L does not exist" msgstr "" -#: fortran/resolve.c:9103 +#: fortran/resolve.c:9106 #, no-c-format msgid "" "The intrinsic '%s' declared INTRINSIC at %L is not available in the current " @@ -10339,229 +10339,229 @@ "intrinsics in order to use it." msgstr "" -#: fortran/resolve.c:9147 +#: fortran/resolve.c:9150 #, no-c-format msgid "Assumed size array at %L must be a dummy argument" msgstr "" -#: fortran/resolve.c:9150 +#: fortran/resolve.c:9153 #, no-c-format msgid "Assumed shape array at %L must be a dummy argument" msgstr "" -#: fortran/resolve.c:9162 +#: fortran/resolve.c:9165 #, no-c-format msgid "Symbol at %L is not a DUMMY variable" msgstr "" -#: fortran/resolve.c:9168 +#: fortran/resolve.c:9171 #, no-c-format msgid "" "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument" msgstr "" -#: fortran/resolve.c:9178 +#: fortran/resolve.c:9181 #, no-c-format msgid "" "Character dummy variable '%s' at %L with VALUE attribute must have constant " "length" msgstr "" -#: fortran/resolve.c:9187 +#: fortran/resolve.c:9190 #, no-c-format msgid "" "C interoperable character dummy variable '%s' at %L with VALUE attribute " "must have length one" msgstr "" -#: fortran/resolve.c:9213 +#: fortran/resolve.c:9216 #, no-c-format msgid "" "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block " "nor declared at the module level scope" msgstr "" -#: fortran/resolve.c:9266 +#: fortran/resolve.c:9269 #, no-c-format msgid "The derived type '%s' at %L is of type '%s', which has not been defined" msgstr "" -#: fortran/resolve.c:9307 +#: fortran/resolve.c:9310 #, no-c-format msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'" msgstr "" -#: fortran/resolve.c:9326 +#: fortran/resolve.c:9329 #, no-c-format msgid "" "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have " "a default initializer" msgstr "" -#: fortran/resolve.c:9385 +#: fortran/resolve.c:9388 #, no-c-format msgid "Threadprivate at %L isn't SAVEd" msgstr "" -#: fortran/resolve.c:9470 +#: fortran/resolve.c:9473 #, no-c-format msgid "BLOCK DATA element '%s' at %L must be in COMMON" msgstr "" -#: fortran/resolve.c:9476 +#: fortran/resolve.c:9479 #, no-c-format msgid "DATA array '%s' at %L must be specified in a previous declaration" msgstr "" -#: fortran/resolve.c:9521 +#: fortran/resolve.c:9524 #, no-c-format msgid "Nonconstant array section at %L in DATA statement" msgstr "" -#: fortran/resolve.c:9534 +#: fortran/resolve.c:9537 #, no-c-format msgid "DATA statement at %L has more variables than values" msgstr "" -#: fortran/resolve.c:9628 +#: fortran/resolve.c:9631 #, no-c-format msgid "iterator start at %L does not simplify" msgstr "" -#: fortran/resolve.c:9635 +#: fortran/resolve.c:9638 #, no-c-format msgid "iterator end at %L does not simplify" msgstr "" -#: fortran/resolve.c:9642 +#: fortran/resolve.c:9645 #, no-c-format msgid "iterator step at %L does not simplify" msgstr "" -#: fortran/resolve.c:9768 +#: fortran/resolve.c:9771 #, no-c-format msgid "DATA statement at %L has more values than variables" msgstr "" -#: fortran/resolve.c:9859 +#: fortran/resolve.c:9862 #, no-c-format msgid "Label %d at %L defined but not used" msgstr "" -#: fortran/resolve.c:9864 +#: fortran/resolve.c:9867 #, no-c-format msgid "Label %d at %L defined but cannot be used" msgstr "" -#: fortran/resolve.c:9949 +#: fortran/resolve.c:9952 #, no-c-format msgid "" "Derived type variable '%s' at %L must have SEQUENCE attribute to be an " "EQUIVALENCE object" msgstr "" -#: fortran/resolve.c:9958 +#: fortran/resolve.c:9961 #, no-c-format msgid "" "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an " "EQUIVALENCE object" msgstr "" -#: fortran/resolve.c:9966 +#: fortran/resolve.c:9969 #, no-c-format msgid "" "Derived type variable '%s' at %L with default initialization cannot be in " "EQUIVALENCE with a variable in COMMON" msgstr "" -#: fortran/resolve.c:9983 +#: fortran/resolve.c:9986 #, no-c-format msgid "" "Derived type variable '%s' at %L with pointer component(s) cannot be an " "EQUIVALENCE object" msgstr "" -#: fortran/resolve.c:10088 +#: fortran/resolve.c:10091 #, no-c-format msgid "Syntax error in EQUIVALENCE statement at %L" msgstr "" -#: fortran/resolve.c:10103 +#: fortran/resolve.c:10106 #, no-c-format msgid "" "Either all or none of the objects in the EQUIVALENCE set at %L shall have " "the PROTECTED attribute" msgstr "" -#: fortran/resolve.c:10115 +#: fortran/resolve.c:10118 #, no-c-format msgid "" "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure " "procedure '%s'" msgstr "" -#: fortran/resolve.c:10124 +#: fortran/resolve.c:10127 #, no-c-format msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object" msgstr "" -#: fortran/resolve.c:10203 +#: fortran/resolve.c:10206 #, no-c-format msgid "" "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object" msgstr "" -#: fortran/resolve.c:10214 +#: fortran/resolve.c:10217 #, no-c-format msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object" msgstr "" -#: fortran/resolve.c:10225 +#: fortran/resolve.c:10228 #, no-c-format msgid "Substring at %L has length zero" msgstr "" -#: fortran/resolve.c:10269 +#: fortran/resolve.c:10272 #, no-c-format msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'" msgstr "" -#: fortran/resolve.c:10282 +#: fortran/resolve.c:10285 #, no-c-format msgid "ENTRY '%s' at %L has no IMPLICIT type" msgstr "" -#: fortran/resolve.c:10308 +#: fortran/resolve.c:10311 #, no-c-format msgid "User operator procedure '%s' at %L must be a FUNCTION" msgstr "" -#: fortran/resolve.c:10315 +#: fortran/resolve.c:10318 #, no-c-format msgid "User operator procedure '%s' at %L cannot be assumed character length" msgstr "" -#: fortran/resolve.c:10321 +#: fortran/resolve.c:10324 #, no-c-format msgid "User operator procedure '%s' at %L must have at least one argument" msgstr "" -#: fortran/resolve.c:10331 +#: fortran/resolve.c:10334 #, no-c-format msgid "First argument of operator interface at %L cannot be optional" msgstr "" -#: fortran/resolve.c:10343 +#: fortran/resolve.c:10346 #, no-c-format msgid "Second argument of operator interface at %L cannot be optional" msgstr "" -#: fortran/resolve.c:10347 +#: fortran/resolve.c:10350 #, no-c-format msgid "Operator interface at %L must have, at most, two arguments" msgstr "" -#: fortran/resolve.c:10401 +#: fortran/resolve.c:10404 #, no-c-format msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE" msgstr "" @@ -11367,32 +11367,32 @@ msgid "Assigning value other than 0 or 1 to LOGICAL has undefined result at %L" msgstr "" -#: fortran/trans-decl.c:2868 fortran/trans-decl.c:3906 +#: fortran/trans-decl.c:2870 fortran/trans-decl.c:3908 #, no-c-format msgid "Return value of function '%s' at %L not set" msgstr "" -#: fortran/trans-decl.c:3527 +#: fortran/trans-decl.c:3529 #, no-c-format msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set" msgstr "" -#: fortran/trans-decl.c:3531 +#: fortran/trans-decl.c:3533 #, no-c-format msgid "Unused dummy argument '%s' at %L" msgstr "" -#: fortran/trans-decl.c:3537 +#: fortran/trans-decl.c:3539 #, no-c-format msgid "Unused variable '%s' declared at %L" msgstr "" -#: fortran/trans-decl.c:3583 +#: fortran/trans-decl.c:3585 #, no-c-format msgid "Unused parameter '%s' declared at %L" msgstr "" -#: fortran/trans-decl.c:3597 +#: fortran/trans-decl.c:3599 #, no-c-format msgid "Return value '%s' of function '%s' declared at %L not set" msgstr "" @@ -11662,7 +11662,7 @@ msgid "GCC does not support -C or -CC without -E" msgstr "" -#: gcc.c:828 java/jvspec.c:80 +#: gcc.c:828 java/jvspec.c:80 ada/gcc-interface/lang-specs.h:33 msgid "-pg and -fomit-frame-pointer are incompatible" msgstr "" @@ -11670,46 +11670,50 @@ msgid "-E or -x required when input is from standard input" msgstr "" -#: config/darwin.h:270 +#: config/darwin.h:274 msgid "-current_version only allowed with -dynamiclib" msgstr "" -#: config/darwin.h:272 +#: config/darwin.h:276 msgid "-install_name only allowed with -dynamiclib" msgstr "" -#: config/darwin.h:277 +#: config/darwin.h:281 msgid "-bundle not allowed with -dynamiclib" msgstr "" -#: config/darwin.h:278 +#: config/darwin.h:282 msgid "-bundle_loader not allowed with -dynamiclib" msgstr "" -#: config/darwin.h:279 +#: config/darwin.h:283 msgid "-client_name not allowed with -dynamiclib" msgstr "" -#: config/darwin.h:284 +#: config/darwin.h:288 msgid "-force_flat_namespace not allowed with -dynamiclib" msgstr "" -#: config/darwin.h:286 +#: config/darwin.h:290 msgid "-keep_private_externs not allowed with -dynamiclib" msgstr "" -#: config/darwin.h:287 +#: config/darwin.h:291 msgid "-private_bundle not allowed with -dynamiclib" msgstr "" +#: ada/gcc-interface/lang-specs.h:34 +msgid "-c or -S required for Ada" +msgstr "" + #: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194 #: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22 msgid "does not support multilib" msgstr "" -#: config/rs6000/linux64.h:345 config/rs6000/linux64.h:347 -#: config/rs6000/sysv4.h:902 config/rs6000/sysv4.h:904 config/linux.h:106 -#: config/linux.h:108 config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35 +#: config/rs6000/linux64.h:350 config/rs6000/linux64.h:352 +#: config/rs6000/sysv4.h:907 config/rs6000/sysv4.h:909 config/linux.h:111 +#: config/linux.h:113 config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35 msgid "-mglibc and -muclibc used together" msgstr "" @@ -16257,1218 +16261,1214 @@ msgstr "" #: common.opt:99 -msgid "Warn on calls to these functions" -msgstr "" - -#: common.opt:103 msgid "Treat all warnings as errors" msgstr "" -#: common.opt:107 +#: common.opt:103 msgid "Treat specified warning as error" msgstr "" -#: common.opt:111 +#: common.opt:107 msgid "Print extra (possibly unwanted) warnings" msgstr "" -#: common.opt:115 +#: common.opt:111 msgid "Exit on the first error occurred" msgstr "" -#: common.opt:119 +#: common.opt:115 msgid "" "-Wframe-larger-than= Warn if a function's stack frame requires more " "than bytes" msgstr "" -#: common.opt:123 +#: common.opt:119 msgid "Warn when an inlined function cannot be inlined" msgstr "" -#: common.opt:130 +#: common.opt:126 msgid "Warn if an object is larger than bytes" msgstr "" -#: common.opt:134 +#: common.opt:130 msgid "" "Warn when a logical operator is suspicously always evaluating to true or " "false" msgstr "" -#: common.opt:138 +#: common.opt:134 msgid "Warn if the loop cannot be optimized due to nontrivial assumptions." msgstr "" -#: common.opt:142 +#: common.opt:138 msgid "" "Warn about functions which might be candidates for __attribute__((noreturn))" msgstr "" -#: common.opt:146 +#: common.opt:142 msgid "Warn about constructs not instrumented by -fmudflap" msgstr "" -#: common.opt:150 +#: common.opt:146 msgid "Warn about overflow in arithmetic expressions" msgstr "" -#: common.opt:154 +#: common.opt:150 msgid "Warn when the packed attribute has no effect on struct layout" msgstr "" -#: common.opt:158 +#: common.opt:154 msgid "Warn when padding is required to align structure members" msgstr "" -#: common.opt:162 +#: common.opt:158 msgid "Warn when one local variable shadows another" msgstr "" -#: common.opt:166 +#: common.opt:162 msgid "Warn when not issuing stack smashing protection for some reason" msgstr "" -#: common.opt:170 common.opt:174 +#: common.opt:166 common.opt:170 msgid "Warn about code which might break strict aliasing rules" msgstr "" -#: common.opt:178 common.opt:182 +#: common.opt:174 common.opt:178 msgid "Warn about optimizations that assume that signed overflow is undefined" msgstr "" -#: common.opt:186 +#: common.opt:182 msgid "Warn about enumerated switches, with no default, missing a case" msgstr "" -#: common.opt:190 +#: common.opt:186 msgid "Warn about enumerated switches missing a \"default:\" statement" msgstr "" -#: common.opt:194 +#: common.opt:190 msgid "Warn about all enumerated switches missing a specific case" msgstr "" -#: common.opt:198 +#: common.opt:194 msgid "Do not suppress warnings from system headers" msgstr "" -#: common.opt:202 +#: common.opt:198 msgid "" "Warn if a comparison is always true or always false due to the limited range " "of the data type" msgstr "" -#: common.opt:206 +#: common.opt:202 msgid "Warn about uninitialized automatic variables" msgstr "" -#: common.opt:210 +#: common.opt:206 msgid "Warn about code that will never be executed" msgstr "" -#: common.opt:214 +#: common.opt:210 msgid "Enable all -Wunused- warnings" msgstr "" -#: common.opt:218 +#: common.opt:214 msgid "Warn when a function is unused" msgstr "" -#: common.opt:222 +#: common.opt:218 msgid "Warn when a label is unused" msgstr "" -#: common.opt:226 +#: common.opt:222 msgid "Warn when a function parameter is unused" msgstr "" -#: common.opt:230 +#: common.opt:226 msgid "Warn when an expression value is unused" msgstr "" -#: common.opt:234 +#: common.opt:230 msgid "Warn when a variable is unused" msgstr "" -#: common.opt:238 +#: common.opt:234 msgid "Warn instead of error in case profiles in -fprofile-use do not match" msgstr "" -#: common.opt:242 +#: common.opt:238 msgid "Emit declaration information into " msgstr "" -#: common.opt:255 +#: common.opt:251 msgid "Enable dumps from specific passes of the compiler" msgstr "" -#: common.opt:259 +#: common.opt:255 msgid "Set the file basename to be used for dumps" msgstr "" -#: common.opt:279 +#: common.opt:275 msgid "Align the start of functions" msgstr "" -#: common.opt:286 +#: common.opt:282 msgid "Align labels which are only reached by jumping" msgstr "" -#: common.opt:293 +#: common.opt:289 msgid "Align all labels" msgstr "" -#: common.opt:300 +#: common.opt:296 msgid "Align the start of loops" msgstr "" -#: common.opt:315 +#: common.opt:311 msgid "Specify that arguments may alias each other and globals" msgstr "" -#: common.opt:319 +#: common.opt:315 msgid "Assume arguments may alias globals but not each other" msgstr "" -#: common.opt:323 +#: common.opt:319 msgid "Assume arguments alias neither each other nor globals" msgstr "" -#: common.opt:327 +#: common.opt:323 msgid "Assume arguments alias no other storage" msgstr "" -#: common.opt:331 +#: common.opt:327 msgid "Generate unwind tables that are exact at each instruction boundary" msgstr "" -#: common.opt:335 +#: common.opt:331 msgid "Generate auto-inc/dec instructions" msgstr "" -#: common.opt:343 +#: common.opt:339 msgid "Generate code to check bounds before indexing arrays" msgstr "" -#: common.opt:347 +#: common.opt:343 msgid "Replace add, compare, branch with branch on count register" msgstr "" -#: common.opt:351 +#: common.opt:347 msgid "Use profiling information for branch probabilities" msgstr "" -#: common.opt:355 +#: common.opt:351 msgid "" "Perform branch target load optimization before prologue / epilogue threading" msgstr "" -#: common.opt:359 +#: common.opt:355 msgid "" "Perform branch target load optimization after prologue / epilogue threading" msgstr "" -#: common.opt:363 +#: common.opt:359 msgid "" "Restrict target load migration not to re-use registers in any basic block" msgstr "" -#: common.opt:367 +#: common.opt:363 msgid "Mark as being preserved across functions" msgstr "" -#: common.opt:371 +#: common.opt:367 msgid "Mark as being corrupted by function calls" msgstr "" -#: common.opt:378 +#: common.opt:374 msgid "Save registers around function calls" msgstr "" -#: common.opt:382 +#: common.opt:378 msgid "Compare the results of several data dependence analyzers." msgstr "" -#: common.opt:386 +#: common.opt:382 msgid "Do not put uninitialized globals in the common section" msgstr "" -#: common.opt:390 +#: common.opt:386 msgid "Do not perform optimizations increasing noticeably stack usage" msgstr "" -#: common.opt:394 +#: common.opt:390 msgid "Perform a register copy-propagation optimization pass" msgstr "" -#: common.opt:398 +#: common.opt:394 msgid "Perform cross-jumping optimization" msgstr "" -#: common.opt:402 +#: common.opt:398 msgid "When running CSE, follow jumps to their targets" msgstr "" -#: common.opt:406 +#: common.opt:402 msgid "When running CSE, follow conditional jumps" msgstr "" -#: common.opt:410 +#: common.opt:406 msgid "Omit range reduction step when performing complex division" msgstr "" -#: common.opt:414 +#: common.opt:410 msgid "Complex multiplication and division follow Fortran rules" msgstr "" -#: common.opt:418 +#: common.opt:414 msgid "Place data items into their own section" msgstr "" -#: common.opt:422 +#: common.opt:418 msgid "List all available debugging counters with their limits and counts." msgstr "" -#: common.opt:426 +#: common.opt:422 msgid "" "-fdbg-cnt=:[,:,...] Set the debug counter " "limit. " msgstr "" -#: common.opt:430 +#: common.opt:426 msgid "Map one directory name to another in debug information" msgstr "" -#: common.opt:436 +#: common.opt:432 msgid "Defer popping functions args from stack until later" msgstr "" -#: common.opt:440 +#: common.opt:436 msgid "Attempt to fill delay slots of branch instructions" msgstr "" -#: common.opt:444 +#: common.opt:440 msgid "Delete useless null pointer checks" msgstr "" -#: common.opt:448 +#: common.opt:444 msgid "" "How often to emit source location at the beginning of line-wrapped " "diagnostics" msgstr "" -#: common.opt:452 +#: common.opt:448 msgid "" "Amend appropriate diagnostic messages with the command line option that " "controls them" msgstr "" -#: common.opt:456 +#: common.opt:452 msgid "Dump various compiler internals to a file" msgstr "" -#: common.opt:460 +#: common.opt:456 msgid "Suppress output of addresses in debugging dumps" msgstr "" -#: common.opt:464 +#: common.opt:460 msgid "" "Suppress output of instruction numbers, line number notes and addresses in " "debugging dumps" msgstr "" -#: common.opt:468 +#: common.opt:464 msgid "Enable CFI tables via GAS assembler directives." msgstr "" -#: common.opt:472 +#: common.opt:468 msgid "Perform early inlining" msgstr "" -#: common.opt:476 +#: common.opt:472 msgid "Perform DWARF2 duplicate elimination" msgstr "" -#: common.opt:480 common.opt:484 +#: common.opt:476 common.opt:480 msgid "Perform unused type elimination in debug info" msgstr "" -#: common.opt:488 +#: common.opt:484 msgid "Do not suppress C++ class debug information." msgstr "" -#: common.opt:492 +#: common.opt:488 msgid "Enable exception handling" msgstr "" -#: common.opt:496 +#: common.opt:492 msgid "Perform a number of minor, expensive optimizations" msgstr "" -#: common.opt:503 +#: common.opt:499 msgid "Assume no NaNs or infinities are generated" msgstr "" -#: common.opt:507 +#: common.opt:503 msgid "Mark as being unavailable to the compiler" msgstr "" -#: common.opt:511 +#: common.opt:507 msgid "Don't allocate floats and doubles in extended-precision registers" msgstr "" -#: common.opt:515 common.opt:728 common.opt:949 common.opt:1105 -#: common.opt:1164 common.opt:1180 common.opt:1240 +#: common.opt:511 common.opt:724 common.opt:945 common.opt:1101 +#: common.opt:1160 common.opt:1176 common.opt:1236 msgid "Does nothing. Preserved for backward compatibility." msgstr "" -#: common.opt:519 +#: common.opt:515 msgid "Perform a forward propagation pass on RTL" msgstr "" -#: common.opt:526 +#: common.opt:522 msgid "Allow function addresses to be held in registers" msgstr "" -#: common.opt:530 +#: common.opt:526 msgid "Place each function into its own section" msgstr "" -#: common.opt:534 +#: common.opt:530 msgid "Perform global common subexpression elimination" msgstr "" -#: common.opt:538 +#: common.opt:534 msgid "" "Perform enhanced load motion during global common subexpression elimination" msgstr "" -#: common.opt:542 +#: common.opt:538 msgid "Perform store motion after global common subexpression elimination" msgstr "" -#: common.opt:546 +#: common.opt:542 msgid "" "Perform redundant load after store elimination in global common subexpression" msgstr "" -#: common.opt:551 +#: common.opt:547 msgid "" "Perform global common subexpression elimination after register allocation" msgstr "" -#: common.opt:557 +#: common.opt:553 msgid "Enable in and out of Graphite representation" msgstr "" -#: common.opt:561 +#: common.opt:557 msgid "Enable Loop Strip Mining transformation" msgstr "" -#: common.opt:565 +#: common.opt:561 msgid "Enable Loop Interchange transformation" msgstr "" -#: common.opt:569 +#: common.opt:565 msgid "Enable Loop Blocking transformation" msgstr "" -#: common.opt:574 +#: common.opt:570 msgid "Enable Graphite Identity transformation" msgstr "" -#: common.opt:578 +#: common.opt:574 msgid "Enable guessing of branch probabilities" msgstr "" -#: common.opt:586 +#: common.opt:582 msgid "Process #ident directives" msgstr "" -#: common.opt:590 +#: common.opt:586 msgid "Perform conversion of conditional jumps to branchless equivalents" msgstr "" -#: common.opt:594 +#: common.opt:590 msgid "Perform conversion of conditional jumps to conditional execution" msgstr "" -#: common.opt:602 +#: common.opt:598 msgid "Do not generate .size directives" msgstr "" -#: common.opt:606 +#: common.opt:602 msgid "Perform indirect inlining" msgstr "" -#: common.opt:615 +#: common.opt:611 msgid "Pay attention to the \"inline\" keyword" msgstr "" -#: common.opt:619 +#: common.opt:615 msgid "" "Integrate simple functions into their callers when code size is known to not " "growth" msgstr "" -#: common.opt:623 +#: common.opt:619 msgid "Integrate simple functions into their callers" msgstr "" -#: common.opt:627 +#: common.opt:623 msgid "Integrate functions called once into their callers" msgstr "" -#: common.opt:634 +#: common.opt:630 msgid "Limit the size of inlined functions to " msgstr "" -#: common.opt:638 +#: common.opt:634 msgid "Instrument function entry and exit with profiling calls" msgstr "" -#: common.opt:642 +#: common.opt:638 msgid "" "-finstrument-functions-exclude-function-list=name,... Do not instrument " "listed functions" msgstr "" -#: common.opt:646 +#: common.opt:642 msgid "" "-finstrument-functions-exclude-file-list=filename,... Do not instrument " "functions listed in files" msgstr "" -#: common.opt:650 +#: common.opt:646 msgid "Perform Interprocedural constant propagation" msgstr "" -#: common.opt:654 +#: common.opt:650 msgid "Perform cloning to make Interprocedural constant propagation stronger" msgstr "" -#: common.opt:658 +#: common.opt:654 msgid "Discover pure and const functions" msgstr "" -#: common.opt:662 +#: common.opt:658 msgid "Perform interprocedural points-to analysis" msgstr "" -#: common.opt:666 +#: common.opt:662 msgid "Discover readonly and non addressable static variables" msgstr "" -#: common.opt:670 +#: common.opt:666 msgid "Type based escape and alias analysis" msgstr "" -#: common.opt:674 +#: common.opt:670 msgid "Perform matrix layout flattening and transposing based" msgstr "" -#: common.opt:679 +#: common.opt:675 msgid "Perform structure layout optimizations based" msgstr "" -#: common.opt:684 +#: common.opt:680 msgid "-fira-algorithm=[CB|priority] Set the used IRA algorithm" msgstr "" -#: common.opt:688 +#: common.opt:684 msgid "-fira-region=[one|all|mixed] Set regions for IRA" msgstr "" -#: common.opt:692 +#: common.opt:688 msgid "Do optimistic coalescing." msgstr "" -#: common.opt:696 +#: common.opt:692 msgid "Share slots for saving different hard registers." msgstr "" -#: common.opt:700 +#: common.opt:696 msgid "Share stack slots for spilled pseudo-registers." msgstr "" -#: common.opt:704 +#: common.opt:700 msgid "-fira-verbose= Control IRA's level of diagnostic messages." msgstr "" -#: common.opt:708 +#: common.opt:704 msgid "Optimize induction variables on trees" msgstr "" -#: common.opt:712 +#: common.opt:708 msgid "Use jump tables for sufficiently large switch statements" msgstr "" -#: common.opt:716 +#: common.opt:712 msgid "Generate code for functions even if they are fully inlined" msgstr "" -#: common.opt:720 +#: common.opt:716 msgid "Emit static const variables even if they are not used" msgstr "" -#: common.opt:724 +#: common.opt:720 msgid "Give external symbols a leading underscore" msgstr "" -#: common.opt:732 +#: common.opt:728 msgid "Set errno after built-in math functions" msgstr "" -#: common.opt:736 +#: common.opt:732 msgid "Report on permanent memory allocation" msgstr "" -#: common.opt:743 +#: common.opt:739 msgid "Attempt to merge identical constants and constant variables" msgstr "" -#: common.opt:747 +#: common.opt:743 msgid "Attempt to merge identical constants across compilation units" msgstr "" -#: common.opt:751 +#: common.opt:747 msgid "Attempt to merge identical debug strings across compilation units" msgstr "" -#: common.opt:755 +#: common.opt:751 msgid "" "Limit diagnostics to characters per line. 0 suppresses line-" "wrapping" msgstr "" -#: common.opt:759 +#: common.opt:755 msgid "Perform SMS based modulo scheduling before the first scheduling pass" msgstr "" -#: common.opt:763 +#: common.opt:759 msgid "Perform SMS based modulo scheduling with register moves allowed" msgstr "" -#: common.opt:767 +#: common.opt:763 msgid "Move loop invariant computations out of loops" msgstr "" -#: common.opt:771 +#: common.opt:767 msgid "Add mudflap bounds-checking instrumentation for single-threaded program" msgstr "" -#: common.opt:775 +#: common.opt:771 msgid "Add mudflap bounds-checking instrumentation for multi-threaded program" msgstr "" -#: common.opt:779 +#: common.opt:775 msgid "Ignore read operations when inserting mudflap instrumentation" msgstr "" -#: common.opt:783 +#: common.opt:779 msgid "Use the RTL dead code elimination pass" msgstr "" -#: common.opt:787 +#: common.opt:783 msgid "Use the RTL dead store elimination pass" msgstr "" -#: common.opt:791 +#: common.opt:787 msgid "" "Enable/Disable the traditional scheduling in loops that already passed " "modulo scheduling" msgstr "" -#: common.opt:795 +#: common.opt:791 msgid "Support synchronous non-call exceptions" msgstr "" -#: common.opt:799 +#: common.opt:795 msgid "When possible do not generate stack frames" msgstr "" -#: common.opt:803 +#: common.opt:799 msgid "Do the full register move optimization pass" msgstr "" -#: common.opt:807 +#: common.opt:803 msgid "Optimize sibling and tail recursive calls" msgstr "" -#: common.opt:811 common.opt:815 +#: common.opt:807 common.opt:811 msgid "Report on memory allocation before interprocedural optimization" msgstr "" -#: common.opt:819 +#: common.opt:815 msgid "Pack structure members together without holes" msgstr "" -#: common.opt:823 +#: common.opt:819 msgid "Set initial maximum structure member alignment" msgstr "" -#: common.opt:827 +#: common.opt:823 msgid "Return small aggregates in memory, not registers" msgstr "" -#: common.opt:831 +#: common.opt:827 msgid "Perform loop peeling" msgstr "" -#: common.opt:835 +#: common.opt:831 msgid "Enable machine specific peephole optimizations" msgstr "" -#: common.opt:839 +#: common.opt:835 msgid "Enable an RTL peephole pass before sched2" msgstr "" -#: common.opt:843 +#: common.opt:839 msgid "Generate position-independent code if possible (large mode)" msgstr "" -#: common.opt:847 +#: common.opt:843 msgid "" "Generate position-independent code for executables if possible (large mode)" msgstr "" -#: common.opt:851 +#: common.opt:847 msgid "Generate position-independent code if possible (small mode)" msgstr "" -#: common.opt:855 +#: common.opt:851 msgid "" "Generate position-independent code for executables if possible (small mode)" msgstr "" -#: common.opt:859 +#: common.opt:855 msgid "Run predictive commoning optimization." msgstr "" -#: common.opt:863 +#: common.opt:859 msgid "Generate prefetch instructions, if available, for arrays in loops" msgstr "" -#: common.opt:867 +#: common.opt:863 msgid "Enable basic program profiling code" msgstr "" -#: common.opt:871 +#: common.opt:867 msgid "Insert arc-based program profiling code" msgstr "" -#: common.opt:875 +#: common.opt:871 msgid "Set the top-level directory for storing the profile data." msgstr "" -#: common.opt:880 +#: common.opt:876 msgid "Enable correction of flow inconsistent profile data input" msgstr "" -#: common.opt:884 +#: common.opt:880 msgid "" "Enable common options for generating profile info for profile feedback " "directed optimizations" msgstr "" -#: common.opt:888 +#: common.opt:884 msgid "" "Enable common options for generating profile info for profile feedback " "directed optimizations, and set -fprofile-dir=" msgstr "" -#: common.opt:892 +#: common.opt:888 msgid "" "Enable common options for performing profile feedback directed optimizations" msgstr "" -#: common.opt:896 +#: common.opt:892 msgid "" "Enable common options for performing profile feedback directed " "optimizations, and set -fprofile-dir=" msgstr "" -#: common.opt:900 +#: common.opt:896 msgid "Insert code to profile values of expressions" msgstr "" -#: common.opt:907 +#: common.opt:903 msgid "Make compile reproducible using " msgstr "" -#: common.opt:917 +#: common.opt:913 msgid "Record gcc command line switches in the object file." msgstr "" -#: common.opt:921 +#: common.opt:917 msgid "Return small aggregates in registers" msgstr "" -#: common.opt:925 +#: common.opt:921 msgid "Enables a register move optimization" msgstr "" -#: common.opt:929 +#: common.opt:925 msgid "Perform a register renaming optimization pass" msgstr "" -#: common.opt:933 +#: common.opt:929 msgid "Reorder basic blocks to improve code placement" msgstr "" -#: common.opt:937 +#: common.opt:933 msgid "Reorder basic blocks and partition into hot and cold sections" msgstr "" -#: common.opt:941 +#: common.opt:937 msgid "Reorder functions to improve code placement" msgstr "" -#: common.opt:945 +#: common.opt:941 msgid "Add a common subexpression elimination pass after loop optimizations" msgstr "" -#: common.opt:953 +#: common.opt:949 msgid "Disable optimizations that assume default FP rounding behavior" msgstr "" -#: common.opt:957 +#: common.opt:953 msgid "Enable scheduling across basic blocks" msgstr "" -#: common.opt:961 +#: common.opt:957 msgid "Allow speculative motion of non-loads" msgstr "" -#: common.opt:965 +#: common.opt:961 msgid "Allow speculative motion of some loads" msgstr "" -#: common.opt:969 +#: common.opt:965 msgid "Allow speculative motion of more loads" msgstr "" -#: common.opt:973 +#: common.opt:969 msgid "Set the verbosity level of the scheduler" msgstr "" -#: common.opt:977 +#: common.opt:973 msgid "If scheduling post reload, do superblock scheduling" msgstr "" -#: common.opt:981 +#: common.opt:977 msgid "If scheduling post reload, do trace scheduling" msgstr "" -#: common.opt:985 +#: common.opt:981 msgid "Reschedule instructions before register allocation" msgstr "" -#: common.opt:989 +#: common.opt:985 msgid "Reschedule instructions after register allocation" msgstr "" -#: common.opt:996 +#: common.opt:992 msgid "Schedule instructions using selective scheduling algorithm" msgstr "" -#: common.opt:1000 +#: common.opt:996 msgid "Run selective scheduling after reload" msgstr "" -#: common.opt:1004 +#: common.opt:1000 msgid "Perform software pipelining of inner loops during selective scheduling" msgstr "" -#: common.opt:1008 +#: common.opt:1004 msgid "Perform software pipelining of outer loops during selective scheduling" msgstr "" -#: common.opt:1012 +#: common.opt:1008 msgid "Reschedule pipelined regions without pipelining" msgstr "" -#: common.opt:1018 +#: common.opt:1014 msgid "Allow premature scheduling of queued insns" msgstr "" -#: common.opt:1022 +#: common.opt:1018 msgid "Set number of queued insns that can be prematurely scheduled" msgstr "" -#: common.opt:1030 common.opt:1034 +#: common.opt:1026 common.opt:1030 msgid "" "Set dependence distance checking in premature scheduling of queued insns" msgstr "" -#: common.opt:1038 +#: common.opt:1034 msgid "Access data in the same section from shared anchor points" msgstr "" -#: common.opt:1042 +#: common.opt:1038 msgid "Perform sequence abstraction optimization on RTL" msgstr "" -#: common.opt:1046 +#: common.opt:1042 msgid "Eliminate redundant sign extensions using LCM." msgstr "" -#: common.opt:1050 +#: common.opt:1046 msgid "Show column numbers in diagnostics, when available. Default off" msgstr "" -#: common.opt:1054 +#: common.opt:1050 msgid "Disable optimizations observable by IEEE signaling NaNs" msgstr "" -#: common.opt:1058 +#: common.opt:1054 msgid "" "Disable floating point optimizations that ignore the IEEE signedness of zero" msgstr "" -#: common.opt:1062 +#: common.opt:1058 msgid "Convert floating point constants to single precision constants" msgstr "" -#: common.opt:1066 +#: common.opt:1062 msgid "Split lifetimes of induction variables when loops are unrolled" msgstr "" -#: common.opt:1070 +#: common.opt:1066 msgid "Split wide types into independent registers" msgstr "" -#: common.opt:1074 +#: common.opt:1070 msgid "Apply variable expansion when loops are unrolled" msgstr "" -#: common.opt:1078 +#: common.opt:1074 msgid "Insert stack checking code into the program" msgstr "" -#: common.opt:1082 +#: common.opt:1078 msgid "" "Insert stack checking code into the program. Same as -fstack-check=specific" msgstr "" -#: common.opt:1089 +#: common.opt:1085 msgid "Trap if the stack goes past " msgstr "" -#: common.opt:1093 +#: common.opt:1089 msgid "Trap if the stack goes past symbol " msgstr "" -#: common.opt:1097 +#: common.opt:1093 msgid "Use propolice as a stack protection method" msgstr "" -#: common.opt:1101 +#: common.opt:1097 msgid "Use a stack protection method for every function" msgstr "" -#: common.opt:1113 +#: common.opt:1109 msgid "Assume strict aliasing rules apply" msgstr "" -#: common.opt:1117 +#: common.opt:1113 msgid "Treat signed overflow as undefined" msgstr "" -#: common.opt:1121 +#: common.opt:1117 msgid "Check for syntax errors, then stop" msgstr "" -#: common.opt:1125 +#: common.opt:1121 msgid "Create data files needed by \"gcov\"" msgstr "" -#: common.opt:1129 +#: common.opt:1125 msgid "Perform jump threading optimizations" msgstr "" -#: common.opt:1133 +#: common.opt:1129 msgid "Report the time taken by each compiler pass" msgstr "" -#: common.opt:1137 +#: common.opt:1133 msgid "Set the default thread-local storage code generation model" msgstr "" -#: common.opt:1141 +#: common.opt:1137 msgid "Reorder top level functions, variables, and asms" msgstr "" -#: common.opt:1145 +#: common.opt:1141 msgid "Perform superblock formation via tail duplication" msgstr "" -#: common.opt:1152 +#: common.opt:1148 msgid "Assume floating-point operations can trap" msgstr "" -#: common.opt:1156 +#: common.opt:1152 msgid "Trap for signed overflow in addition, subtraction and multiplication" msgstr "" -#: common.opt:1160 +#: common.opt:1156 msgid "Enable SSA-CCP optimization on trees" msgstr "" -#: common.opt:1168 +#: common.opt:1164 msgid "Enable loop header copying on trees" msgstr "" -#: common.opt:1172 +#: common.opt:1168 msgid "Replace SSA temporaries with better names in copies" msgstr "" -#: common.opt:1176 +#: common.opt:1172 msgid "Enable copy propagation on trees" msgstr "" -#: common.opt:1184 +#: common.opt:1180 msgid "Transform condition stores into unconditional ones" msgstr "" -#: common.opt:1188 +#: common.opt:1184 msgid "Perform conversions of switch initializations." msgstr "" -#: common.opt:1192 +#: common.opt:1188 msgid "Enable SSA dead code elimination optimization on trees" msgstr "" -#: common.opt:1196 +#: common.opt:1192 msgid "Enable dominator optimizations" msgstr "" -#: common.opt:1200 +#: common.opt:1196 msgid "Enable dead store elimination" msgstr "" -#: common.opt:1204 +#: common.opt:1200 msgid "Enable Full Redundancy Elimination (FRE) on trees" msgstr "" -#: common.opt:1208 +#: common.opt:1204 msgid "Enable loop distribution on trees" msgstr "" -#: common.opt:1212 +#: common.opt:1208 msgid "Enable loop invariant motion on trees" msgstr "" -#: common.opt:1216 +#: common.opt:1212 msgid "Enable linear loop transforms on trees" msgstr "" -#: common.opt:1220 +#: common.opt:1216 msgid "Create canonical induction variables in loops" msgstr "" -#: common.opt:1224 +#: common.opt:1220 msgid "Enable loop optimizations on tree level" msgstr "" -#: common.opt:1228 +#: common.opt:1224 msgid "Enable automatic parallelization of loops" msgstr "" -#: common.opt:1232 +#: common.opt:1228 msgid "Enable SSA-PRE optimization on trees" msgstr "" -#: common.opt:1236 +#: common.opt:1232 msgid "Enable reassociation on tree level" msgstr "" -#: common.opt:1244 +#: common.opt:1240 msgid "Enable SSA code sinking on trees" msgstr "" -#: common.opt:1248 +#: common.opt:1244 msgid "Perform scalar replacement of aggregates" msgstr "" -#: common.opt:1252 +#: common.opt:1248 msgid "Replace temporary expressions in the SSA->normal pass" msgstr "" -#: common.opt:1256 +#: common.opt:1252 msgid "Perform live range splitting during the SSA->normal pass" msgstr "" -#: common.opt:1260 +#: common.opt:1256 msgid "Perform Value Range Propagation on trees" msgstr "" -#: common.opt:1264 +#: common.opt:1260 msgid "Compile whole compilation unit at a time" msgstr "" -#: common.opt:1268 +#: common.opt:1264 msgid "Perform loop unrolling when iteration count is known" msgstr "" -#: common.opt:1272 +#: common.opt:1268 msgid "Perform loop unrolling for all loops" msgstr "" -#: common.opt:1279 +#: common.opt:1275 msgid "Allow loop optimizations to assume that the loops behave in normal way" msgstr "" -#: common.opt:1283 +#: common.opt:1279 msgid "Allow optimization for floating-point arithmetic which may change the" msgstr "" -#: common.opt:1288 +#: common.opt:1284 msgid "Same as -fassociative-math for expressions which include division." msgstr "" -#: common.opt:1296 +#: common.opt:1292 msgid "Allow math optimizations that may violate IEEE or ISO standards" msgstr "" -#: common.opt:1300 +#: common.opt:1296 msgid "Perform loop unswitching" msgstr "" -#: common.opt:1304 +#: common.opt:1300 msgid "Just generate unwind tables for exception handling" msgstr "" -#: common.opt:1308 +#: common.opt:1304 msgid "Perform variable tracking" msgstr "" -#: common.opt:1312 +#: common.opt:1308 msgid "Perform variable tracking and also tag variables that are uninitialized" msgstr "" -#: common.opt:1316 +#: common.opt:1312 msgid "Enable loop vectorization on trees" msgstr "" -#: common.opt:1320 +#: common.opt:1316 msgid "Enable use of cost model in vectorization" msgstr "" -#: common.opt:1324 +#: common.opt:1320 msgid "Enable loop versioning when doing loop vectorization on trees" msgstr "" -#: common.opt:1328 +#: common.opt:1324 msgid "Set the verbosity level of the vectorizer" msgstr "" -#: common.opt:1332 +#: common.opt:1328 msgid "Enable copy propagation of scalar-evolution information." msgstr "" -#: common.opt:1342 +#: common.opt:1338 msgid "Add extra commentary to assembler output" msgstr "" -#: common.opt:1346 +#: common.opt:1342 msgid "Set the default symbol visibility" msgstr "" -#: common.opt:1351 +#: common.opt:1347 msgid "Use expression value profiles in optimizations" msgstr "" -#: common.opt:1355 +#: common.opt:1351 msgid "Construct webs and split unrelated uses of single variable" msgstr "" -#: common.opt:1359 +#: common.opt:1355 msgid "Enable conditional dead code elimination for builtin calls" msgstr "" -#: common.opt:1363 +#: common.opt:1359 msgid "Perform whole program optimizations" msgstr "" -#: common.opt:1367 +#: common.opt:1363 msgid "Assume signed arithmetic overflow wraps around" msgstr "" -#: common.opt:1371 +#: common.opt:1367 msgid "Put zero initialized data in the bss section" msgstr "" -#: common.opt:1375 +#: common.opt:1371 msgid "Generate debug information in default format" msgstr "" -#: common.opt:1379 +#: common.opt:1375 msgid "Generate debug information in COFF format" msgstr "" -#: common.opt:1383 +#: common.opt:1379 msgid "Generate debug information in DWARF v2 format" msgstr "" -#: common.opt:1387 +#: common.opt:1383 msgid "Generate debug information in default extended format" msgstr "" -#: common.opt:1391 +#: common.opt:1387 msgid "Generate debug information in STABS format" msgstr "" -#: common.opt:1395 +#: common.opt:1391 msgid "Generate debug information in extended STABS format" msgstr "" -#: common.opt:1399 +#: common.opt:1395 msgid "Generate debug information in VMS format" msgstr "" -#: common.opt:1403 +#: common.opt:1399 msgid "Generate debug information in XCOFF format" msgstr "" -#: common.opt:1407 +#: common.opt:1403 msgid "Generate debug information in extended XCOFF format" msgstr "" -#: common.opt:1411 +#: common.opt:1407 msgid "Place output into " msgstr "" -#: common.opt:1415 +#: common.opt:1411 msgid "Enable function profiling" msgstr "" -#: common.opt:1419 +#: common.opt:1415 msgid "Issue warnings needed for strict compliance to the standard" msgstr "" -#: common.opt:1423 +#: common.opt:1419 msgid "Like -pedantic but issue them as errors" msgstr "" -#: common.opt:1427 +#: common.opt:1423 msgid "Do not display functions compiled or elapsed time" msgstr "" -#: common.opt:1431 +#: common.opt:1427 msgid "Display the compiler's version" msgstr "" -#: common.opt:1435 +#: common.opt:1431 msgid "Suppress warnings" msgstr "" -#: common.opt:1439 +#: common.opt:1435 msgid "Create a shared library" msgstr "" -#: common.opt:1443 +#: common.opt:1439 msgid "Create a position independent executable" msgstr "" @@ -17508,47 +17508,52 @@ "branch target register load optimization is not intended to be run twice" msgstr "" -#: builtins.c:1039 +#: builtins.c:479 +#, gcc-internal-format +msgid "offset outside bounds of constant string" +msgstr "" + +#: builtins.c:1042 #, gcc-internal-format msgid "second argument to %<__builtin_prefetch%> must be a constant" msgstr "" -#: builtins.c:1046 +#: builtins.c:1049 #, gcc-internal-format msgid "invalid second argument to %<__builtin_prefetch%>; using zero" msgstr "" -#: builtins.c:1054 +#: builtins.c:1057 #, gcc-internal-format msgid "third argument to %<__builtin_prefetch%> must be a constant" msgstr "" -#: builtins.c:1061 +#: builtins.c:1064 #, gcc-internal-format msgid "invalid third argument to %<__builtin_prefetch%>; using zero" msgstr "" -#: builtins.c:4665 +#: builtins.c:4668 #, gcc-internal-format msgid "argument of %<__builtin_args_info%> must be constant" msgstr "" -#: builtins.c:4671 +#: builtins.c:4674 #, gcc-internal-format msgid "argument of %<__builtin_args_info%> out of range" msgstr "" -#: builtins.c:4677 +#: builtins.c:4680 #, gcc-internal-format msgid "missing argument in %<__builtin_args_info%>" msgstr "" -#: builtins.c:4813 gimplify.c:2324 +#: builtins.c:4816 gimplify.c:2324 #, gcc-internal-format msgid "too few arguments to function %" msgstr "" -#: builtins.c:4971 +#: builtins.c:4974 #, gcc-internal-format msgid "first argument to % not of type %" msgstr "" @@ -17556,93 +17561,93 @@ #. Unfortunately, this is merely undefined, rather than a constraint #. violation, so we cannot make this an error. If this call is never #. executed, the program is still strictly conforming. -#: builtins.c:4986 +#: builtins.c:4989 #, gcc-internal-format msgid "%qT is promoted to %qT when passed through %<...%>" msgstr "" -#: builtins.c:4991 +#: builtins.c:4994 #, gcc-internal-format msgid "(so you should pass %qT not %qT to %)" msgstr "" #. We can, however, treat "undefined" any way we please. #. Call abort to encourage the user to fix the program. -#: builtins.c:4998 c-typeck.c:2451 +#: builtins.c:5001 c-typeck.c:2451 #, gcc-internal-format msgid "if this code is reached, the program will abort" msgstr "" -#: builtins.c:5122 +#: builtins.c:5125 #, gcc-internal-format msgid "invalid argument to %<__builtin_frame_address%>" msgstr "" -#: builtins.c:5124 +#: builtins.c:5127 #, gcc-internal-format msgid "invalid argument to %<__builtin_return_address%>" msgstr "" -#: builtins.c:5137 +#: builtins.c:5140 #, gcc-internal-format msgid "unsupported argument to %<__builtin_frame_address%>" msgstr "" -#: builtins.c:5139 +#: builtins.c:5142 #, gcc-internal-format msgid "unsupported argument to %<__builtin_return_address%>" msgstr "" -#: builtins.c:5685 +#: builtins.c:5688 #, gcc-internal-format msgid "both arguments to %<__builtin___clear_cache%> must be pointers" msgstr "" -#: builtins.c:6047 builtins.c:6062 +#: builtins.c:6050 builtins.c:6065 #, gcc-internal-format msgid "%qD changed semantics in GCC 4.4" msgstr "" #. All valid uses of __builtin_va_arg_pack () are removed during #. inlining. -#: builtins.c:6448 expr.c:8051 +#: builtins.c:6451 expr.c:8051 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>" msgstr "" #. All valid uses of __builtin_va_arg_pack_len () are removed during #. inlining. -#: builtins.c:6454 +#: builtins.c:6457 msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>" msgstr "" -#: builtins.c:6750 +#: builtins.c:6753 #, gcc-internal-format msgid "%<__builtin_longjmp%> second argument must be 1" msgstr "" -#: builtins.c:7386 +#: builtins.c:7389 #, gcc-internal-format msgid "target format does not support infinity" msgstr "" -#: builtins.c:11730 +#: builtins.c:11733 #, gcc-internal-format msgid "% used in function with fixed args" msgstr "" -#: builtins.c:11738 +#: builtins.c:11741 #, gcc-internal-format msgid "wrong number of arguments to function %" msgstr "" #. Evidently an out of date version of ; can't validate #. va_start's second argument, but can still work as intended. -#: builtins.c:11751 +#: builtins.c:11754 #, gcc-internal-format msgid "%<__builtin_next_arg%> called without an argument" msgstr "" -#: builtins.c:11756 +#: builtins.c:11759 #, gcc-internal-format msgid "wrong number of arguments to function %<__builtin_next_arg%>" msgstr "" @@ -17652,39 +17657,39 @@ #. argument. We just warn and set the arg to be the last #. argument so that we will get wrong-code because of #. it. -#: builtins.c:11783 +#: builtins.c:11786 #, gcc-internal-format msgid "second parameter of % not last named argument" msgstr "" -#: builtins.c:11793 +#: builtins.c:11796 #, gcc-internal-format msgid "" "undefined behaviour when second parameter of % is declared with %" " storage" msgstr "" -#: builtins.c:11908 +#: builtins.c:11911 msgid "%Kfirst argument of %D must be a pointer, second integer constant" msgstr "" -#: builtins.c:11921 +#: builtins.c:11924 msgid "%Klast argument of %D is not integer constant between 0 and 3" msgstr "" -#: builtins.c:11966 builtins.c:12131 builtins.c:12190 +#: builtins.c:11969 builtins.c:12134 builtins.c:12193 msgid "%Kcall to %D will always overflow destination buffer" msgstr "" -#: builtins.c:12121 +#: builtins.c:12124 msgid "%Kcall to %D might overflow destination buffer" msgstr "" -#: builtins.c:12211 +#: builtins.c:12214 msgid "%Kattempt to free a non-heap object %qD" msgstr "" -#: builtins.c:12214 +#: builtins.c:12217 msgid "%Kattempt to free a non-heap object" msgstr "" @@ -17884,704 +17889,701 @@ msgid "comparison of unsigned expression < 0 is always false" msgstr "" -#: c-common.c:3225 +#: c-common.c:3224 #, gcc-internal-format msgid "pointer of type % used in arithmetic" msgstr "" -#: c-common.c:3231 +#: c-common.c:3230 #, gcc-internal-format msgid "pointer to a function used in arithmetic" msgstr "" -#: c-common.c:3237 +#: c-common.c:3236 #, gcc-internal-format msgid "pointer to member function used in arithmetic" msgstr "" -#: c-common.c:3319 -#, gcc-internal-format -msgid "offset %<%wd%> outside bounds of constant string" -msgstr "" - -#: c-common.c:3422 +#: c-common.c:3396 #, gcc-internal-format msgid "the address of %qD will always evaluate as %" msgstr "" -#: c-common.c:3498 cp/semantics.c:594 cp/typeck.c:6638 +#: c-common.c:3472 cp/semantics.c:594 cp/typeck.c:6638 #, gcc-internal-format msgid "suggest parentheses around assignment used as truth value" msgstr "" -#: c-common.c:3577 c-typeck.c:8970 +#: c-common.c:3551 c-typeck.c:8974 #, gcc-internal-format msgid "invalid use of %" msgstr "" -#: c-common.c:3794 +#: c-common.c:3768 #, gcc-internal-format msgid "invalid application of % to a function type" msgstr "" -#: c-common.c:3807 +#: c-common.c:3781 #, gcc-internal-format msgid "invalid application of %qs to a void type" msgstr "" -#: c-common.c:3815 +#: c-common.c:3789 #, gcc-internal-format msgid "invalid application of %qs to incomplete type %qT " msgstr "" -#: c-common.c:3856 +#: c-common.c:3830 #, gcc-internal-format msgid "%<__alignof%> applied to a bit-field" msgstr "" -#: c-common.c:4495 +#: c-common.c:4469 #, gcc-internal-format msgid "cannot disable built-in function %qs" msgstr "" -#: c-common.c:4686 +#: c-common.c:4660 #, gcc-internal-format msgid "pointers are not permitted as case values" msgstr "" -#: c-common.c:4693 +#: c-common.c:4667 #, gcc-internal-format msgid "range expressions in switch statements are non-standard" msgstr "" -#: c-common.c:4719 +#: c-common.c:4693 #, gcc-internal-format msgid "empty range specified" msgstr "" -#: c-common.c:4779 +#: c-common.c:4753 #, gcc-internal-format msgid "duplicate (or overlapping) case value" msgstr "" -#: c-common.c:4780 +#: c-common.c:4754 #, gcc-internal-format msgid "%Jthis is the first entry overlapping that value" msgstr "" -#: c-common.c:4784 +#: c-common.c:4758 #, gcc-internal-format msgid "duplicate case value" msgstr "" -#: c-common.c:4785 +#: c-common.c:4759 #, gcc-internal-format msgid "%Jpreviously used here" msgstr "" -#: c-common.c:4789 +#: c-common.c:4763 #, gcc-internal-format msgid "multiple default labels in one switch" msgstr "" -#: c-common.c:4790 +#: c-common.c:4764 #, gcc-internal-format msgid "%Jthis is the first default label" msgstr "" -#: c-common.c:4841 +#: c-common.c:4815 #, gcc-internal-format msgid "%Jcase value %qs not in enumerated type" msgstr "" -#: c-common.c:4845 +#: c-common.c:4819 #, gcc-internal-format msgid "%Jcase value %qs not in enumerated type %qT" msgstr "" -#: c-common.c:4904 +#: c-common.c:4878 #, gcc-internal-format msgid "%Hswitch missing default case" msgstr "" -#: c-common.c:4975 +#: c-common.c:4949 #, gcc-internal-format msgid "%Henumeration value %qE not handled in switch" msgstr "" -#: c-common.c:5010 +#: c-common.c:4984 #, gcc-internal-format msgid "taking the address of a label is non-standard" msgstr "" -#: c-common.c:5166 +#: c-common.c:5140 #, gcc-internal-format msgid "%qE attribute ignored for field of type %qT" msgstr "" -#: c-common.c:5177 c-common.c:5196 c-common.c:5214 c-common.c:5241 -#: c-common.c:5268 c-common.c:5294 c-common.c:5313 c-common.c:5337 -#: c-common.c:5360 c-common.c:5383 c-common.c:5404 c-common.c:5425 -#: c-common.c:5449 c-common.c:5475 c-common.c:5512 c-common.c:5539 -#: c-common.c:5582 c-common.c:5666 c-common.c:5696 c-common.c:5715 -#: c-common.c:6050 c-common.c:6066 c-common.c:6114 c-common.c:6137 -#: c-common.c:6201 c-common.c:6329 c-common.c:6395 c-common.c:6439 -#: c-common.c:6485 c-common.c:6555 c-common.c:6579 c-common.c:6865 -#: c-common.c:6888 c-common.c:6927 c-common.c:7016 c-common.c:7156 +#: c-common.c:5151 c-common.c:5170 c-common.c:5188 c-common.c:5215 +#: c-common.c:5242 c-common.c:5268 c-common.c:5287 c-common.c:5311 +#: c-common.c:5334 c-common.c:5357 c-common.c:5378 c-common.c:5399 +#: c-common.c:5423 c-common.c:5449 c-common.c:5486 c-common.c:5513 +#: c-common.c:5556 c-common.c:5640 c-common.c:5670 c-common.c:5689 +#: c-common.c:6024 c-common.c:6040 c-common.c:6088 c-common.c:6111 +#: c-common.c:6175 c-common.c:6303 c-common.c:6369 c-common.c:6413 +#: c-common.c:6459 c-common.c:6529 c-common.c:6553 c-common.c:6839 +#: c-common.c:6862 c-common.c:6901 c-common.c:6990 c-common.c:7130 +#: ada/gcc-interface/utils.c:5186 ada/gcc-interface/utils.c:5359 +#: ada/gcc-interface/utils.c:5378 #, gcc-internal-format msgid "%qE attribute ignored" msgstr "" -#: c-common.c:5259 c-common.c:5285 +#: c-common.c:5233 c-common.c:5259 #, gcc-internal-format msgid "%qE attribute conflicts with attribute %s" msgstr "" -#: c-common.c:5506 +#: c-common.c:5480 #, gcc-internal-format msgid "%qE attribute have effect only on public objects" msgstr "" -#: c-common.c:5603 +#: c-common.c:5577 #, gcc-internal-format msgid "destructor priorities are not supported" msgstr "" -#: c-common.c:5605 +#: c-common.c:5579 #, gcc-internal-format msgid "constructor priorities are not supported" msgstr "" -#: c-common.c:5622 +#: c-common.c:5596 #, gcc-internal-format msgid "destructor priorities from 0 to %d are reserved for the implementation" msgstr "" -#: c-common.c:5627 +#: c-common.c:5601 #, gcc-internal-format msgid "constructor priorities from 0 to %d are reserved for the implementation" msgstr "" -#: c-common.c:5635 +#: c-common.c:5609 #, gcc-internal-format msgid "destructor priorities must be integers from 0 to %d inclusive" msgstr "" -#: c-common.c:5638 +#: c-common.c:5612 #, gcc-internal-format msgid "constructor priorities must be integers from 0 to %d inclusive" msgstr "" -#: c-common.c:5759 +#: c-common.c:5733 #, gcc-internal-format msgid "unknown machine mode %qs" msgstr "" -#: c-common.c:5788 +#: c-common.c:5762 #, gcc-internal-format msgid "specifying vector types with __attribute__ ((mode)) is deprecated" msgstr "" -#: c-common.c:5791 +#: c-common.c:5765 #, gcc-internal-format msgid "use __attribute__ ((vector_size)) instead" msgstr "" -#: c-common.c:5800 +#: c-common.c:5774 #, gcc-internal-format msgid "unable to emulate %qs" msgstr "" -#: c-common.c:5810 +#: c-common.c:5784 #, gcc-internal-format msgid "invalid pointer mode %qs" msgstr "" -#: c-common.c:5827 +#: c-common.c:5801 #, gcc-internal-format msgid "signness of type and machine mode %qs don't match" msgstr "" -#: c-common.c:5838 +#: c-common.c:5812 #, gcc-internal-format msgid "no data type for mode %qs" msgstr "" -#: c-common.c:5848 +#: c-common.c:5822 #, gcc-internal-format msgid "cannot use mode %qs for enumeral types" msgstr "" -#: c-common.c:5875 +#: c-common.c:5849 #, gcc-internal-format msgid "mode %qs applied to inappropriate type" msgstr "" -#: c-common.c:5906 +#: c-common.c:5880 #, gcc-internal-format msgid "%Jsection attribute cannot be specified for local variables" msgstr "" -#: c-common.c:5917 config/bfin/bfin.c:5329 config/bfin/bfin.c:5380 +#: c-common.c:5891 config/bfin/bfin.c:5329 config/bfin/bfin.c:5380 #, gcc-internal-format msgid "section of %q+D conflicts with previous declaration" msgstr "" -#: c-common.c:5925 +#: c-common.c:5899 #, gcc-internal-format msgid "section of %q+D cannot be overridden" msgstr "" -#: c-common.c:5933 +#: c-common.c:5907 #, gcc-internal-format msgid "section attribute not allowed for %q+D" msgstr "" -#: c-common.c:5939 +#: c-common.c:5913 #, gcc-internal-format msgid "%Jsection attributes are not supported for this target" msgstr "" -#: c-common.c:5971 +#: c-common.c:5945 #, gcc-internal-format msgid "requested alignment is not a constant" msgstr "" -#: c-common.c:5976 +#: c-common.c:5950 #, gcc-internal-format msgid "requested alignment is not a power of 2" msgstr "" -#: c-common.c:5981 +#: c-common.c:5955 #, gcc-internal-format msgid "requested alignment is too large" msgstr "" -#: c-common.c:6007 +#: c-common.c:5981 #, gcc-internal-format msgid "alignment may not be specified for %q+D" msgstr "" -#: c-common.c:6014 +#: c-common.c:5988 #, gcc-internal-format msgid "" "alignment for %q+D was previously specified as %d and may not be decreased" msgstr "" -#: c-common.c:6018 +#: c-common.c:5992 #, gcc-internal-format msgid "alignment for %q+D must be at least %d" msgstr "" -#: c-common.c:6043 +#: c-common.c:6017 #, gcc-internal-format msgid "inline function %q+D cannot be declared weak" msgstr "" -#: c-common.c:6077 +#: c-common.c:6051 #, gcc-internal-format msgid "%q+D defined both normally and as an alias" msgstr "" -#: c-common.c:6093 +#: c-common.c:6067 #, gcc-internal-format msgid "alias argument not a string" msgstr "" -#: c-common.c:6158 +#: c-common.c:6132 #, gcc-internal-format msgid "%Jweakref attribute must appear before alias attribute" msgstr "" -#: c-common.c:6188 +#: c-common.c:6162 #, gcc-internal-format msgid "%qE attribute ignored on non-class types" msgstr "" -#: c-common.c:6194 +#: c-common.c:6168 #, gcc-internal-format msgid "%qE attribute ignored because %qT is already defined" msgstr "" -#: c-common.c:6207 +#: c-common.c:6181 #, gcc-internal-format msgid "visibility argument not a string" msgstr "" -#: c-common.c:6219 +#: c-common.c:6193 #, gcc-internal-format msgid "%qE attribute ignored on types" msgstr "" -#: c-common.c:6235 +#: c-common.c:6209 #, gcc-internal-format msgid "" "visibility argument must be one of \"default\", \"hidden\", \"protected\" or " "\"internal\"" msgstr "" -#: c-common.c:6246 +#: c-common.c:6220 #, gcc-internal-format msgid "%qD redeclared with different visibility" msgstr "" -#: c-common.c:6249 c-common.c:6253 +#: c-common.c:6223 c-common.c:6227 #, gcc-internal-format msgid "%qD was declared %qs which implies default visibility" msgstr "" -#: c-common.c:6337 +#: c-common.c:6311 #, gcc-internal-format msgid "tls_model argument not a string" msgstr "" -#: c-common.c:6350 +#: c-common.c:6324 #, gcc-internal-format msgid "" "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-" "dynamic\" or \"global-dynamic\"" msgstr "" -#: c-common.c:6369 c-common.c:6459 +#: c-common.c:6343 c-common.c:6433 #, gcc-internal-format msgid "%J%qE attribute applies only to functions" msgstr "" -#: c-common.c:6374 c-common.c:6464 +#: c-common.c:6348 c-common.c:6438 #, gcc-internal-format msgid "%Jcan%'t set %qE attribute after definition" msgstr "" -#: c-common.c:6420 +#: c-common.c:6394 #, gcc-internal-format msgid "alloc_size parameter outside range" msgstr "" -#: c-common.c:6553 +#: c-common.c:6527 #, gcc-internal-format msgid "%qE attribute ignored for %qE" msgstr "" -#: c-common.c:6613 +#: c-common.c:6587 #, gcc-internal-format msgid "invalid vector type for attribute %qE" msgstr "" -#: c-common.c:6619 +#: c-common.c:6593 #, gcc-internal-format msgid "vector size not an integral multiple of component size" msgstr "" -#: c-common.c:6625 +#: c-common.c:6599 #, gcc-internal-format msgid "zero vector size" msgstr "" -#: c-common.c:6633 +#: c-common.c:6607 #, gcc-internal-format msgid "number of components of the vector not a power of two" msgstr "" -#: c-common.c:6661 +#: c-common.c:6635 ada/gcc-interface/utils.c:5237 #, gcc-internal-format msgid "nonnull attribute without arguments on a non-prototype" msgstr "" -#: c-common.c:6676 +#: c-common.c:6650 ada/gcc-interface/utils.c:5252 #, gcc-internal-format msgid "nonnull argument has invalid operand number (argument %lu)" msgstr "" -#: c-common.c:6695 +#: c-common.c:6669 ada/gcc-interface/utils.c:5271 #, gcc-internal-format msgid "" "nonnull argument with out-of-range operand number (argument %lu, operand %lu)" msgstr "" -#: c-common.c:6703 +#: c-common.c:6677 ada/gcc-interface/utils.c:5279 #, gcc-internal-format msgid "" "nonnull argument references non-pointer operand (argument %lu, operand %lu)" msgstr "" -#: c-common.c:6779 +#: c-common.c:6753 #, gcc-internal-format msgid "not enough variable arguments to fit a sentinel" msgstr "" -#: c-common.c:6793 +#: c-common.c:6767 #, gcc-internal-format msgid "missing sentinel in function call" msgstr "" -#: c-common.c:6834 +#: c-common.c:6808 #, gcc-internal-format msgid "null argument where non-null required (argument %lu)" msgstr "" -#: c-common.c:6899 +#: c-common.c:6873 #, gcc-internal-format msgid "cleanup argument not an identifier" msgstr "" -#: c-common.c:6906 +#: c-common.c:6880 #, gcc-internal-format msgid "cleanup argument not a function" msgstr "" -#: c-common.c:6945 +#: c-common.c:6919 ada/gcc-interface/utils.c:5301 #, gcc-internal-format msgid "%qE attribute requires prototypes with named arguments" msgstr "" -#: c-common.c:6956 +#: c-common.c:6930 ada/gcc-interface/utils.c:5312 #, gcc-internal-format msgid "%qE attribute only applies to variadic functions" msgstr "" -#: c-common.c:6968 +#: c-common.c:6942 ada/gcc-interface/utils.c:5323 #, gcc-internal-format msgid "requested position is not an integer constant" msgstr "" -#: c-common.c:6976 +#: c-common.c:6950 ada/gcc-interface/utils.c:5330 #, gcc-internal-format msgid "requested position is less than zero" msgstr "" -#: c-common.c:7100 +#: c-common.c:7074 #, gcc-internal-format msgid "Bad option %s to optimize attribute." msgstr "" -#: c-common.c:7103 +#: c-common.c:7077 #, gcc-internal-format msgid "Bad option %s to pragma attribute" msgstr "" -#: c-common.c:7296 +#: c-common.c:7270 #, gcc-internal-format msgid "not enough arguments to function %qE" msgstr "" -#: c-common.c:7301 c-typeck.c:2558 +#: c-common.c:7275 c-typeck.c:2558 #, gcc-internal-format msgid "too many arguments to function %qE" msgstr "" -#: c-common.c:7331 c-common.c:7377 +#: c-common.c:7305 c-common.c:7351 #, gcc-internal-format msgid "non-floating-point argument in call to function %qE" msgstr "" -#: c-common.c:7354 +#: c-common.c:7328 #, gcc-internal-format msgid "non-floating-point arguments in call to function %qE" msgstr "" -#: c-common.c:7370 +#: c-common.c:7344 #, gcc-internal-format msgid "non-const integer argument %u in call to function %qE" msgstr "" -#: c-common.c:7596 +#: c-common.c:7570 #, gcc-internal-format msgid "" "%Hignoring return value of %qD, declared with attribute warn_unused_result" msgstr "" -#: c-common.c:7600 +#: c-common.c:7574 #, gcc-internal-format msgid "" "%Hignoring return value of function declared with attribute " "warn_unused_result" msgstr "" -#: c-common.c:7654 +#: c-common.c:7628 #, gcc-internal-format msgid "cannot apply % to static data member %qD" msgstr "" -#: c-common.c:7659 +#: c-common.c:7633 #, gcc-internal-format msgid "cannot apply % when % is overloaded" msgstr "" -#: c-common.c:7680 cp/typeck.c:4685 +#: c-common.c:7654 cp/typeck.c:4685 #, gcc-internal-format msgid "attempt to take address of bit-field structure member %qD" msgstr "" -#: c-common.c:7733 +#: c-common.c:7707 #, gcc-internal-format msgid "lvalue required as left operand of assignment" msgstr "" -#: c-common.c:7736 +#: c-common.c:7710 #, gcc-internal-format msgid "lvalue required as increment operand" msgstr "" -#: c-common.c:7739 +#: c-common.c:7713 #, gcc-internal-format msgid "lvalue required as decrement operand" msgstr "" -#: c-common.c:7742 +#: c-common.c:7716 #, gcc-internal-format msgid "lvalue required as unary %<&%> operand" msgstr "" -#: c-common.c:7745 +#: c-common.c:7719 #, gcc-internal-format msgid "lvalue required in asm statement" msgstr "" -#: c-common.c:7874 +#: c-common.c:7848 #, gcc-internal-format msgid "size of array is too large" msgstr "" -#: c-common.c:7910 c-common.c:7959 c-typeck.c:2748 +#: c-common.c:7884 c-common.c:7933 c-typeck.c:2748 #, gcc-internal-format msgid "too few arguments to function %qE" msgstr "" -#: c-common.c:7927 c-typeck.c:4461 +#: c-common.c:7901 c-typeck.c:4465 #, gcc-internal-format msgid "incompatible type for argument %d of %qE" msgstr "" -#: c-common.c:8119 +#: c-common.c:8093 #, gcc-internal-format msgid "array subscript has type %" msgstr "" -#: c-common.c:8154 +#: c-common.c:8128 #, gcc-internal-format msgid "suggest parentheses around %<+%> inside %<<<%>" msgstr "" -#: c-common.c:8157 +#: c-common.c:8131 #, gcc-internal-format msgid "suggest parentheses around %<-%> inside %<<<%>" msgstr "" -#: c-common.c:8163 +#: c-common.c:8137 #, gcc-internal-format msgid "suggest parentheses around %<+%> inside %<>>%>" msgstr "" -#: c-common.c:8166 +#: c-common.c:8140 #, gcc-internal-format msgid "suggest parentheses around %<-%> inside %<>>%>" msgstr "" -#: c-common.c:8172 +#: c-common.c:8146 #, gcc-internal-format msgid "suggest parentheses around %<&&%> within %<||%>" msgstr "" -#: c-common.c:8181 +#: c-common.c:8155 #, gcc-internal-format msgid "suggest parentheses around arithmetic in operand of %<|%>" msgstr "" -#: c-common.c:8186 +#: c-common.c:8160 #, gcc-internal-format msgid "suggest parentheses around comparison in operand of %<|%>" msgstr "" -#: c-common.c:8190 +#: c-common.c:8164 #, gcc-internal-format msgid "" "suggest parentheses around operand of % or change %<|%> to %<||%> or % to %<~%>" msgstr "" -#: c-common.c:8200 +#: c-common.c:8174 #, gcc-internal-format msgid "suggest parentheses around arithmetic in operand of %<^%>" msgstr "" -#: c-common.c:8205 +#: c-common.c:8179 #, gcc-internal-format msgid "suggest parentheses around comparison in operand of %<^%>" msgstr "" -#: c-common.c:8211 +#: c-common.c:8185 #, gcc-internal-format msgid "suggest parentheses around %<+%> in operand of %<&%>" msgstr "" -#: c-common.c:8214 +#: c-common.c:8188 #, gcc-internal-format msgid "suggest parentheses around %<-%> in operand of %<&%>" msgstr "" -#: c-common.c:8219 +#: c-common.c:8193 #, gcc-internal-format msgid "suggest parentheses around comparison in operand of %<&%>" msgstr "" -#: c-common.c:8223 +#: c-common.c:8197 #, gcc-internal-format msgid "" "suggest parentheses around operand of % or change %<&%> to %<&&%> or % to %<~%>" msgstr "" -#: c-common.c:8231 +#: c-common.c:8205 #, gcc-internal-format msgid "suggest parentheses around comparison in operand of %<==%>" msgstr "" -#: c-common.c:8237 +#: c-common.c:8211 #, gcc-internal-format msgid "suggest parentheses around comparison in operand of %" msgstr "" -#: c-common.c:8248 +#: c-common.c:8222 #, gcc-internal-format msgid "comparisons like % do not have their mathematical meaning" msgstr "" -#: c-common.c:8263 +#: c-common.c:8237 #, gcc-internal-format msgid "label %q+D defined but not used" msgstr "" -#: c-common.c:8265 +#: c-common.c:8239 #, gcc-internal-format msgid "label %q+D declared but not defined" msgstr "" -#: c-common.c:8285 +#: c-common.c:8259 #, gcc-internal-format msgid "division by zero" msgstr "" -#: c-common.c:8317 +#: c-common.c:8291 #, gcc-internal-format msgid "comparison between types %qT and %qT" msgstr "" -#: c-common.c:8368 +#: c-common.c:8342 #, gcc-internal-format msgid "comparison between signed and unsigned integer expressions" msgstr "" -#: c-common.c:8419 +#: c-common.c:8393 #, gcc-internal-format msgid "promoted ~unsigned is always non-zero" msgstr "" -#: c-common.c:8422 +#: c-common.c:8396 #, gcc-internal-format msgid "comparison of promoted ~unsigned with constant" msgstr "" -#: c-common.c:8432 +#: c-common.c:8406 #, gcc-internal-format msgid "comparison of promoted ~unsigned with unsigned" msgstr "" @@ -18591,7 +18593,7 @@ #. an unprototyped function, it is compile-time undefined; #. making it a constraint in that case was rejected in #. DR#252. -#: c-convert.c:95 c-typeck.c:1796 c-typeck.c:4096 cp/typeck.c:1619 +#: c-convert.c:95 c-typeck.c:1796 c-typeck.c:4100 cp/typeck.c:1619 #: cp/typeck.c:5936 cp/typeck.c:6546 fortran/convert.c:88 #, gcc-internal-format msgid "void value not ignored as it ought to be" @@ -18831,8 +18833,8 @@ msgid "declaration of %q+D shadows a previous local" msgstr "" -#: c-decl.c:1972 cp/name-lookup.c:1041 cp/name-lookup.c:1072 -#: cp/name-lookup.c:1080 +#: c-decl.c:1972 cp/name-lookup.c:1043 cp/name-lookup.c:1074 +#: cp/name-lookup.c:1082 #, gcc-internal-format msgid "%Jshadowed declaration is here" msgstr "" @@ -19015,7 +19017,7 @@ msgid "variable %qD has initializer but incomplete type" msgstr "" -#: c-decl.c:3319 c-decl.c:6138 cp/decl.c:4114 cp/decl.c:11484 +#: c-decl.c:3319 c-decl.c:6138 cp/decl.c:4117 cp/decl.c:11498 #, gcc-internal-format msgid "inline function %q+D given attribute noinline" msgstr "" @@ -19135,7 +19137,7 @@ msgid "variable length array %qs is used" msgstr "" -#: c-decl.c:3932 cp/decl.c:7274 +#: c-decl.c:3932 cp/decl.c:7277 #, gcc-internal-format msgid "variable length array is used" msgstr "" @@ -19190,22 +19192,22 @@ msgid "storage class specified for structure field %qs" msgstr "" -#: c-decl.c:4150 cp/decl.c:8169 +#: c-decl.c:4150 cp/decl.c:8175 #, gcc-internal-format msgid "storage class specified for parameter %qs" msgstr "" -#: c-decl.c:4153 cp/decl.c:8171 +#: c-decl.c:4153 cp/decl.c:8177 #, gcc-internal-format msgid "storage class specified for typename" msgstr "" -#: c-decl.c:4170 cp/decl.c:9450 +#: c-decl.c:4170 cp/decl.c:9464 #, gcc-internal-format msgid "%qs initialized and declared %" msgstr "" -#: c-decl.c:4173 cp/decl.c:9454 +#: c-decl.c:4173 cp/decl.c:9468 #, gcc-internal-format msgid "%qs has both % and initializer" msgstr "" @@ -19220,12 +19222,12 @@ msgid "file-scope declaration of %qs specifies %" msgstr "" -#: c-decl.c:4186 cp/decl.c:8182 +#: c-decl.c:4186 cp/decl.c:8188 #, gcc-internal-format msgid "nested function %qs declared %" msgstr "" -#: c-decl.c:4189 cp/decl.c:8192 +#: c-decl.c:4189 cp/decl.c:8198 #, gcc-internal-format msgid "function-scope %qs implicitly auto and declared %<__thread%>" msgstr "" @@ -19268,7 +19270,7 @@ msgid "size of array %qs is negative" msgstr "" -#: c-decl.c:4382 c-decl.c:4655 cp/decl.c:8694 +#: c-decl.c:4382 c-decl.c:4655 cp/decl.c:8706 #, gcc-internal-format msgid "size of array %qs is too large" msgstr "" @@ -19289,12 +19291,12 @@ msgid "array type has incomplete element type" msgstr "" -#: c-decl.c:4526 cp/decl.c:8288 +#: c-decl.c:4526 cp/decl.c:8294 #, gcc-internal-format msgid "%qs declared as function returning a function" msgstr "" -#: c-decl.c:4531 cp/decl.c:8293 +#: c-decl.c:4531 cp/decl.c:8299 #, gcc-internal-format msgid "%qs declared as function returning an array" msgstr "" @@ -19304,7 +19306,7 @@ msgid "function definition has qualified void return type" msgstr "" -#: c-decl.c:4557 cp/decl.c:8277 +#: c-decl.c:4557 cp/decl.c:8283 #, gcc-internal-format msgid "type qualifiers ignored on function return type" msgstr "" @@ -19585,7 +19587,7 @@ msgid "%q+D was used with no prototype before its definition" msgstr "" -#: c-decl.c:6254 cp/decl.c:11625 +#: c-decl.c:6254 cp/decl.c:11639 #, gcc-internal-format msgid "no previous declaration for %q+D" msgstr "" @@ -19700,7 +19702,7 @@ msgid "argument %qD doesn%'t match prototype" msgstr "" -#: c-decl.c:6782 cp/decl.c:12329 +#: c-decl.c:6782 cp/decl.c:12343 #, gcc-internal-format msgid "no return statement in function returning non-void" msgstr "" @@ -20074,7 +20076,7 @@ msgid "ISO C does not support decimal floating point" msgstr "" -#: c-decl.c:7613 c-decl.c:7792 c-parser.c:5101 +#: c-decl.c:7613 c-decl.c:7792 c-parser.c:5107 #, gcc-internal-format msgid "fixed-point types not supported for this target" msgstr "" @@ -20762,12 +20764,12 @@ msgid "ISO C forbids an empty translation unit" msgstr "" -#: c-parser.c:1056 c-parser.c:6109 +#: c-parser.c:1056 c-parser.c:6113 #, gcc-internal-format msgid "ISO C does not allow extra %<;%> outside of a function" msgstr "" -#: c-parser.c:1158 c-parser.c:6667 +#: c-parser.c:1158 c-parser.c:6671 #, gcc-internal-format msgid "expected declaration specifiers" msgstr "" @@ -20796,16 +20798,16 @@ msgstr "" #: c-parser.c:1641 c-parser.c:2454 c-parser.c:3094 c-parser.c:3352 -#: c-parser.c:4286 c-parser.c:4886 c-parser.c:5308 c-parser.c:5329 -#: c-parser.c:5446 c-parser.c:5598 c-parser.c:5615 c-parser.c:5751 -#: c-parser.c:5763 c-parser.c:5788 c-parser.c:5922 c-parser.c:5951 -#: c-parser.c:5959 c-parser.c:5987 c-parser.c:6001 c-parser.c:6217 -#: c-parser.c:6316 c-parser.c:6837 c-parser.c:7538 +#: c-parser.c:4292 c-parser.c:4892 c-parser.c:5314 c-parser.c:5335 +#: c-parser.c:5452 c-parser.c:5602 c-parser.c:5619 c-parser.c:5755 +#: c-parser.c:5767 c-parser.c:5792 c-parser.c:5926 c-parser.c:5955 +#: c-parser.c:5963 c-parser.c:5991 c-parser.c:6005 c-parser.c:6221 +#: c-parser.c:6320 c-parser.c:6841 c-parser.c:7542 #, gcc-internal-format msgid "expected identifier" msgstr "" -#: c-parser.c:1674 cp/parser.c:11972 +#: c-parser.c:1674 cp/parser.c:11977 #, gcc-internal-format msgid "comma at end of enumerator list" msgstr "" @@ -20815,7 +20817,7 @@ msgid "expected %<,%> or %<}%>" msgstr "" -#: c-parser.c:1694 c-parser.c:1877 c-parser.c:6076 +#: c-parser.c:1694 c-parser.c:1877 c-parser.c:6080 #, gcc-internal-format msgid "expected %<{%>" msgstr "" @@ -20830,7 +20832,7 @@ msgid "expected class name" msgstr "" -#: c-parser.c:1831 c-parser.c:5855 +#: c-parser.c:1831 c-parser.c:5859 #, gcc-internal-format msgid "extra semicolon in struct or union specified" msgstr "" @@ -20890,7 +20892,7 @@ msgid "wide string literal in %" msgstr "" -#: c-parser.c:2689 c-parser.c:6722 +#: c-parser.c:2689 c-parser.c:6726 #, gcc-internal-format msgid "expected string literal" msgstr "" @@ -20980,12 +20982,12 @@ msgid "expected statement" msgstr "" -#: c-parser.c:3872 cp/parser.c:7296 +#: c-parser.c:3872 cp/parser.c:7301 #, gcc-internal-format msgid "suggest braces around empty body in an % statement" msgstr "" -#: c-parser.c:3898 cp/parser.c:7317 +#: c-parser.c:3898 cp/parser.c:7322 #, gcc-internal-format msgid "suggest braces around empty body in an % statement" msgstr "" @@ -21000,199 +21002,199 @@ msgid "%E qualifier ignored on asm" msgstr "" -#: c-parser.c:4459 +#: c-parser.c:4465 #, gcc-internal-format msgid "ISO C forbids omitting the middle term of a ?: expression" msgstr "" -#: c-parser.c:4855 +#: c-parser.c:4861 #, gcc-internal-format msgid "traditional C rejects the unary plus operator" msgstr "" -#: c-parser.c:4972 +#: c-parser.c:4978 #, gcc-internal-format msgid "% applied to a bit-field" msgstr "" -#: c-parser.c:5131 c-parser.c:5488 c-parser.c:5510 +#: c-parser.c:5137 c-parser.c:5494 c-parser.c:5516 #, gcc-internal-format msgid "expected expression" msgstr "" -#: c-parser.c:5158 +#: c-parser.c:5164 #, gcc-internal-format msgid "braced-group within expression allowed only inside a function" msgstr "" -#: c-parser.c:5172 +#: c-parser.c:5178 #, gcc-internal-format msgid "ISO C forbids braced-groups within expressions" msgstr "" -#: c-parser.c:5370 +#: c-parser.c:5376 #, gcc-internal-format msgid "first argument to %<__builtin_choose_expr%> not a constant" msgstr "" -#: c-parser.c:5539 +#: c-parser.c:5545 #, gcc-internal-format msgid "compound literal has variable size" msgstr "" -#: c-parser.c:5547 +#: c-parser.c:5553 #, gcc-internal-format msgid "ISO C90 forbids compound literals" msgstr "" -#: c-parser.c:6072 +#: c-parser.c:6076 #, gcc-internal-format msgid "extra semicolon in method definition specified" msgstr "" -#: c-parser.c:6616 +#: c-parser.c:6620 #, gcc-internal-format msgid "%<#pragma omp barrier%> may only be used in compound statements" msgstr "" -#: c-parser.c:6627 +#: c-parser.c:6631 #, gcc-internal-format msgid "%<#pragma omp flush%> may only be used in compound statements" msgstr "" -#: c-parser.c:6638 +#: c-parser.c:6642 #, gcc-internal-format msgid "%<#pragma omp taskwait%> may only be used in compound statements" msgstr "" -#: c-parser.c:6651 +#: c-parser.c:6655 #, gcc-internal-format msgid "" "%<#pragma omp section%> may only be used in %<#pragma omp sections%> " "construct" msgstr "" -#: c-parser.c:6657 +#: c-parser.c:6661 #, gcc-internal-format msgid "%<#pragma GCC pch_preprocess%> must be first" msgstr "" -#: c-parser.c:6815 +#: c-parser.c:6819 #, gcc-internal-format msgid "too many %qs clauses" msgstr "" -#: c-parser.c:6911 +#: c-parser.c:6915 #, gcc-internal-format msgid "collapse argument needs positive constant integer expression" msgstr "" -#: c-parser.c:6976 +#: c-parser.c:6980 #, gcc-internal-format msgid "expected % or %" msgstr "" -#: c-parser.c:7019 +#: c-parser.c:7023 #, gcc-internal-format msgid "expected %<(%>" msgstr "" -#: c-parser.c:7063 c-parser.c:7247 +#: c-parser.c:7067 c-parser.c:7251 #, gcc-internal-format msgid "expected integer expression" msgstr "" -#: c-parser.c:7073 +#: c-parser.c:7077 #, gcc-internal-format msgid "% value must be positive" msgstr "" -#: c-parser.c:7153 +#: c-parser.c:7157 #, gcc-internal-format msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>" msgstr "" -#: c-parser.c:7238 +#: c-parser.c:7242 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" -#: c-parser.c:7242 +#: c-parser.c:7246 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" -#: c-parser.c:7260 +#: c-parser.c:7264 #, gcc-internal-format msgid "invalid schedule kind" msgstr "" -#: c-parser.c:7378 +#: c-parser.c:7382 #, gcc-internal-format msgid "expected %<#pragma omp%> clause" msgstr "" -#: c-parser.c:7387 +#: c-parser.c:7391 #, gcc-internal-format msgid "%qs is not valid for %qs" msgstr "" -#: c-parser.c:7488 +#: c-parser.c:7492 #, gcc-internal-format msgid "invalid operator for %<#pragma omp atomic%>" msgstr "" -#: c-parser.c:7541 c-parser.c:7561 +#: c-parser.c:7545 c-parser.c:7565 #, gcc-internal-format msgid "expected %<(%> or end of line" msgstr "" -#: c-parser.c:7593 +#: c-parser.c:7597 #, gcc-internal-format msgid "for statement expected" msgstr "" -#: c-parser.c:7643 +#: c-parser.c:7647 #, gcc-internal-format msgid "expected iteration declaration or initialization" msgstr "" -#: c-parser.c:7722 +#: c-parser.c:7726 #, gcc-internal-format msgid "not enough perfectly nested loops" msgstr "" -#: c-parser.c:7770 +#: c-parser.c:7774 #, gcc-internal-format msgid "collapsed loops not perfectly nested" msgstr "" -#: c-parser.c:7807 cp/pt.c:10533 +#: c-parser.c:7811 cp/pt.c:10534 #, gcc-internal-format msgid "iteration variable %qD should not be firstprivate" msgstr "" -#: c-parser.c:7957 +#: c-parser.c:7961 #, gcc-internal-format msgid "expected %<#pragma omp section%> or %<}%>" msgstr "" -#: c-parser.c:8227 +#: c-parser.c:8231 #, gcc-internal-format msgid "%qD is not a variable" msgstr "" -#: c-parser.c:8229 cp/semantics.c:3802 +#: c-parser.c:8233 cp/semantics.c:3804 #, gcc-internal-format msgid "%qE declared % after first use" msgstr "" -#: c-parser.c:8231 cp/semantics.c:3804 +#: c-parser.c:8235 cp/semantics.c:3806 #, gcc-internal-format msgid "automatic variable %qE cannot be %" msgstr "" -#: c-parser.c:8235 cp/semantics.c:3806 +#: c-parser.c:8239 cp/semantics.c:3808 #, gcc-internal-format msgid "% %qE has incomplete type" msgstr "" @@ -21930,109 +21932,109 @@ msgid "address of register variable %qD requested" msgstr "" -#: c-typeck.c:3462 +#: c-typeck.c:3463 #, gcc-internal-format msgid "non-lvalue array in conditional expression" msgstr "" -#: c-typeck.c:3510 +#: c-typeck.c:3513 #, gcc-internal-format msgid "signed and unsigned type in conditional expression" msgstr "" -#: c-typeck.c:3518 +#: c-typeck.c:3521 #, gcc-internal-format msgid "ISO C forbids conditional expr with only one void side" msgstr "" -#: c-typeck.c:3533 c-typeck.c:3542 +#: c-typeck.c:3536 c-typeck.c:3545 #, gcc-internal-format msgid "ISO C forbids conditional expr between % and function pointer" msgstr "" -#: c-typeck.c:3550 +#: c-typeck.c:3554 #, gcc-internal-format msgid "pointer type mismatch in conditional expression" msgstr "" -#: c-typeck.c:3558 c-typeck.c:3569 +#: c-typeck.c:3562 c-typeck.c:3573 #, gcc-internal-format msgid "pointer/integer type mismatch in conditional expression" msgstr "" -#: c-typeck.c:3583 +#: c-typeck.c:3587 #, gcc-internal-format msgid "type mismatch in conditional expression" msgstr "" -#: c-typeck.c:3624 +#: c-typeck.c:3628 #, gcc-internal-format msgid "left-hand operand of comma expression has no effect" msgstr "" -#: c-typeck.c:3661 +#: c-typeck.c:3665 #, gcc-internal-format msgid "cast specifies array type" msgstr "" -#: c-typeck.c:3667 +#: c-typeck.c:3671 #, gcc-internal-format msgid "cast specifies function type" msgstr "" -#: c-typeck.c:3683 +#: c-typeck.c:3687 #, gcc-internal-format msgid "ISO C forbids casting nonscalar to the same type" msgstr "" -#: c-typeck.c:3700 +#: c-typeck.c:3704 #, gcc-internal-format msgid "ISO C forbids casts to union type" msgstr "" -#: c-typeck.c:3707 +#: c-typeck.c:3711 #, gcc-internal-format msgid "cast to union type from type not present in union" msgstr "" -#: c-typeck.c:3753 +#: c-typeck.c:3757 #, gcc-internal-format msgid "cast adds new qualifiers to function type" msgstr "" #. There are qualifiers present in IN_OTYPE that are not #. present in IN_TYPE. -#: c-typeck.c:3758 +#: c-typeck.c:3762 #, gcc-internal-format msgid "cast discards qualifiers from pointer target type" msgstr "" -#: c-typeck.c:3774 +#: c-typeck.c:3778 #, gcc-internal-format msgid "cast increases required alignment of target type" msgstr "" -#: c-typeck.c:3785 +#: c-typeck.c:3789 #, gcc-internal-format msgid "cast from pointer to integer of different size" msgstr "" -#: c-typeck.c:3789 +#: c-typeck.c:3793 #, gcc-internal-format msgid "cast from function call of type %qT to non-matching type %qT" msgstr "" -#: c-typeck.c:3797 +#: c-typeck.c:3801 #, gcc-internal-format msgid "cast to pointer from integer of different size" msgstr "" -#: c-typeck.c:3811 +#: c-typeck.c:3815 #, gcc-internal-format msgid "ISO C forbids conversion of function pointer to object pointer type" msgstr "" -#: c-typeck.c:3820 +#: c-typeck.c:3824 #, gcc-internal-format msgid "ISO C forbids conversion of object pointer to function pointer type" msgstr "" @@ -22040,458 +22042,458 @@ #. This macro is used to emit diagnostics to ensure that all format #. strings are complete sentences, visible to gettext and checked at #. compile time. -#: c-typeck.c:4031 c-typeck.c:4464 +#: c-typeck.c:4035 c-typeck.c:4468 #, gcc-internal-format msgid "expected %qT but argument is of type %qT" msgstr "" -#: c-typeck.c:4110 +#: c-typeck.c:4114 #, gcc-internal-format msgid "cannot pass rvalue to reference parameter" msgstr "" -#: c-typeck.c:4224 c-typeck.c:4393 +#: c-typeck.c:4228 c-typeck.c:4397 #, gcc-internal-format msgid "" "passing argument %d of %qE makes qualified function pointer from unqualified" msgstr "" -#: c-typeck.c:4227 c-typeck.c:4396 +#: c-typeck.c:4231 c-typeck.c:4400 #, gcc-internal-format msgid "assignment makes qualified function pointer from unqualified" msgstr "" -#: c-typeck.c:4230 c-typeck.c:4398 +#: c-typeck.c:4234 c-typeck.c:4402 #, gcc-internal-format msgid "initialization makes qualified function pointer from unqualified" msgstr "" -#: c-typeck.c:4233 c-typeck.c:4400 +#: c-typeck.c:4237 c-typeck.c:4404 #, gcc-internal-format msgid "return makes qualified function pointer from unqualified" msgstr "" -#: c-typeck.c:4238 c-typeck.c:4358 +#: c-typeck.c:4242 c-typeck.c:4362 #, gcc-internal-format msgid "passing argument %d of %qE discards qualifiers from pointer target type" msgstr "" -#: c-typeck.c:4240 c-typeck.c:4360 +#: c-typeck.c:4244 c-typeck.c:4364 #, gcc-internal-format msgid "assignment discards qualifiers from pointer target type" msgstr "" -#: c-typeck.c:4242 c-typeck.c:4362 +#: c-typeck.c:4246 c-typeck.c:4366 #, gcc-internal-format msgid "initialization discards qualifiers from pointer target type" msgstr "" -#: c-typeck.c:4244 c-typeck.c:4364 +#: c-typeck.c:4248 c-typeck.c:4368 #, gcc-internal-format msgid "return discards qualifiers from pointer target type" msgstr "" -#: c-typeck.c:4252 +#: c-typeck.c:4256 #, gcc-internal-format msgid "ISO C prohibits argument conversion to union type" msgstr "" -#: c-typeck.c:4285 +#: c-typeck.c:4289 #, gcc-internal-format msgid "request for implicit conversion from %qT to %qT not permitted in C++" msgstr "" -#: c-typeck.c:4297 +#: c-typeck.c:4301 #, gcc-internal-format msgid "argument %d of %qE might be a candidate for a format attribute" msgstr "" -#: c-typeck.c:4303 +#: c-typeck.c:4307 #, gcc-internal-format msgid "assignment left-hand side might be a candidate for a format attribute" msgstr "" -#: c-typeck.c:4308 +#: c-typeck.c:4312 #, gcc-internal-format msgid "" "initialization left-hand side might be a candidate for a format attribute" msgstr "" -#: c-typeck.c:4313 +#: c-typeck.c:4317 #, gcc-internal-format msgid "return type might be a candidate for a format attribute" msgstr "" -#: c-typeck.c:4337 +#: c-typeck.c:4341 #, gcc-internal-format msgid "" "ISO C forbids passing argument %d of %qE between function pointer and %" msgstr "" -#: c-typeck.c:4340 +#: c-typeck.c:4344 #, gcc-internal-format msgid "ISO C forbids assignment between function pointer and %" msgstr "" -#: c-typeck.c:4342 +#: c-typeck.c:4346 #, gcc-internal-format msgid "ISO C forbids initialization between function pointer and %" msgstr "" -#: c-typeck.c:4344 +#: c-typeck.c:4348 #, gcc-internal-format msgid "ISO C forbids return between function pointer and %" msgstr "" -#: c-typeck.c:4375 +#: c-typeck.c:4379 #, gcc-internal-format msgid "pointer targets in passing argument %d of %qE differ in signedness" msgstr "" -#: c-typeck.c:4377 +#: c-typeck.c:4381 #, gcc-internal-format msgid "pointer targets in assignment differ in signedness" msgstr "" -#: c-typeck.c:4379 +#: c-typeck.c:4383 #, gcc-internal-format msgid "pointer targets in initialization differ in signedness" msgstr "" -#: c-typeck.c:4381 +#: c-typeck.c:4385 #, gcc-internal-format msgid "pointer targets in return differ in signedness" msgstr "" -#: c-typeck.c:4408 +#: c-typeck.c:4412 #, gcc-internal-format msgid "passing argument %d of %qE from incompatible pointer type" msgstr "" -#: c-typeck.c:4410 +#: c-typeck.c:4414 #, gcc-internal-format msgid "assignment from incompatible pointer type" msgstr "" -#: c-typeck.c:4411 +#: c-typeck.c:4415 #, gcc-internal-format msgid "initialization from incompatible pointer type" msgstr "" -#: c-typeck.c:4413 +#: c-typeck.c:4417 #, gcc-internal-format msgid "return from incompatible pointer type" msgstr "" -#: c-typeck.c:4431 +#: c-typeck.c:4435 #, gcc-internal-format msgid "passing argument %d of %qE makes pointer from integer without a cast" msgstr "" -#: c-typeck.c:4433 +#: c-typeck.c:4437 #, gcc-internal-format msgid "assignment makes pointer from integer without a cast" msgstr "" -#: c-typeck.c:4435 +#: c-typeck.c:4439 #, gcc-internal-format msgid "initialization makes pointer from integer without a cast" msgstr "" -#: c-typeck.c:4437 +#: c-typeck.c:4441 #, gcc-internal-format msgid "return makes pointer from integer without a cast" msgstr "" -#: c-typeck.c:4445 +#: c-typeck.c:4449 #, gcc-internal-format msgid "passing argument %d of %qE makes integer from pointer without a cast" msgstr "" -#: c-typeck.c:4447 +#: c-typeck.c:4451 #, gcc-internal-format msgid "assignment makes integer from pointer without a cast" msgstr "" -#: c-typeck.c:4449 +#: c-typeck.c:4453 #, gcc-internal-format msgid "initialization makes integer from pointer without a cast" msgstr "" -#: c-typeck.c:4451 +#: c-typeck.c:4455 #, gcc-internal-format msgid "return makes integer from pointer without a cast" msgstr "" -#: c-typeck.c:4467 +#: c-typeck.c:4471 #, gcc-internal-format msgid "incompatible types when assigning to type %qT from type %qT" msgstr "" -#: c-typeck.c:4471 +#: c-typeck.c:4475 #, gcc-internal-format msgid "incompatible types when initializing type %qT using type %qT" msgstr "" -#: c-typeck.c:4475 +#: c-typeck.c:4479 #, gcc-internal-format msgid "incompatible types when returning type %qT but %qT was expected" msgstr "" -#: c-typeck.c:4532 +#: c-typeck.c:4536 #, gcc-internal-format msgid "traditional C rejects automatic aggregate initialization" msgstr "" -#: c-typeck.c:4703 c-typeck.c:4719 c-typeck.c:4736 +#: c-typeck.c:4707 c-typeck.c:4723 c-typeck.c:4740 #, gcc-internal-format msgid "(near initialization for %qs)" msgstr "" -#: c-typeck.c:5291 cp/decl.c:5158 +#: c-typeck.c:5295 cp/decl.c:5161 #, gcc-internal-format msgid "opaque vector types cannot be initialized" msgstr "" -#: c-typeck.c:5916 +#: c-typeck.c:5920 #, gcc-internal-format msgid "unknown field %qE specified in initializer" msgstr "" -#: c-typeck.c:6836 +#: c-typeck.c:6840 #, gcc-internal-format msgid "traditional C rejects initialization of unions" msgstr "" -#: c-typeck.c:7147 +#: c-typeck.c:7151 #, gcc-internal-format msgid "jump into statement expression" msgstr "" -#: c-typeck.c:7153 +#: c-typeck.c:7157 #, gcc-internal-format msgid "jump into scope of identifier with variably modified type" msgstr "" -#: c-typeck.c:7189 +#: c-typeck.c:7193 #, gcc-internal-format msgid "ISO C forbids %" msgstr "" -#: c-typeck.c:7204 cp/typeck.c:6820 +#: c-typeck.c:7208 cp/typeck.c:6820 #, gcc-internal-format msgid "function declared % has a % statement" msgstr "" -#: c-typeck.c:7213 +#: c-typeck.c:7217 #, gcc-internal-format msgid "% with no value, in function returning non-void" msgstr "" -#: c-typeck.c:7223 +#: c-typeck.c:7227 #, gcc-internal-format msgid "% with a value, in function returning void" msgstr "" -#: c-typeck.c:7225 +#: c-typeck.c:7229 #, gcc-internal-format msgid "ISO C forbids % with expression, in function returning void" msgstr "" -#: c-typeck.c:7284 +#: c-typeck.c:7288 #, gcc-internal-format msgid "function returns address of local variable" msgstr "" -#: c-typeck.c:7359 cp/semantics.c:952 +#: c-typeck.c:7363 cp/semantics.c:952 #, gcc-internal-format msgid "switch quantity not an integer" msgstr "" -#: c-typeck.c:7371 +#: c-typeck.c:7375 #, gcc-internal-format msgid "% switch expression not converted to % in ISO C" msgstr "" -#: c-typeck.c:7414 +#: c-typeck.c:7418 #, gcc-internal-format msgid "" "case label in statement expression not containing enclosing switch statement" msgstr "" -#: c-typeck.c:7417 +#: c-typeck.c:7421 #, gcc-internal-format msgid "" "% label in statement expression not containing enclosing switch " "statement" msgstr "" -#: c-typeck.c:7423 +#: c-typeck.c:7427 #, gcc-internal-format msgid "" "case label in scope of identifier with variably modified type not containing " "enclosing switch statement" msgstr "" -#: c-typeck.c:7426 +#: c-typeck.c:7430 #, gcc-internal-format msgid "" "% label in scope of identifier with variably modified type not " "containing enclosing switch statement" msgstr "" -#: c-typeck.c:7430 +#: c-typeck.c:7434 #, gcc-internal-format msgid "case label not within a switch statement" msgstr "" -#: c-typeck.c:7432 +#: c-typeck.c:7436 #, gcc-internal-format msgid "% label not within a switch statement" msgstr "" -#: c-typeck.c:7509 +#: c-typeck.c:7513 #, gcc-internal-format msgid "%Hsuggest explicit braces to avoid ambiguous %" msgstr "" -#: c-typeck.c:7618 cp/cp-gimplify.c:92 +#: c-typeck.c:7622 cp/cp-gimplify.c:92 #, gcc-internal-format msgid "break statement not within loop or switch" msgstr "" -#: c-typeck.c:7620 +#: c-typeck.c:7624 #, gcc-internal-format msgid "continue statement not within a loop" msgstr "" -#: c-typeck.c:7625 +#: c-typeck.c:7629 #, gcc-internal-format msgid "break statement used with OpenMP for loop" msgstr "" -#: c-typeck.c:7651 +#: c-typeck.c:7655 #, gcc-internal-format msgid "%Hstatement with no effect" msgstr "" -#: c-typeck.c:7673 +#: c-typeck.c:7677 #, gcc-internal-format msgid "expression statement has incomplete type" msgstr "" -#: c-typeck.c:8245 cp/typeck.c:3506 +#: c-typeck.c:8249 cp/typeck.c:3506 #, gcc-internal-format msgid "right shift count is negative" msgstr "" -#: c-typeck.c:8252 cp/typeck.c:3512 +#: c-typeck.c:8256 cp/typeck.c:3512 #, gcc-internal-format msgid "right shift count >= width of type" msgstr "" -#: c-typeck.c:8274 cp/typeck.c:3533 +#: c-typeck.c:8278 cp/typeck.c:3533 #, gcc-internal-format msgid "left shift count is negative" msgstr "" -#: c-typeck.c:8277 cp/typeck.c:3538 +#: c-typeck.c:8281 cp/typeck.c:3538 #, gcc-internal-format msgid "left shift count >= width of type" msgstr "" -#: c-typeck.c:8296 cp/typeck.c:3584 +#: c-typeck.c:8300 cp/typeck.c:3584 #, gcc-internal-format msgid "comparing floating point with == or != is unsafe" msgstr "" -#: c-typeck.c:8320 c-typeck.c:8327 +#: c-typeck.c:8324 c-typeck.c:8331 #, gcc-internal-format msgid "ISO C forbids comparison of % with function pointer" msgstr "" -#: c-typeck.c:8334 c-typeck.c:8396 +#: c-typeck.c:8338 c-typeck.c:8400 #, gcc-internal-format msgid "comparison of distinct pointer types lacks a cast" msgstr "" -#: c-typeck.c:8344 c-typeck.c:8353 cp/typeck.c:3607 cp/typeck.c:3619 +#: c-typeck.c:8348 c-typeck.c:8357 cp/typeck.c:3607 cp/typeck.c:3619 #, gcc-internal-format msgid "the address of %qD will never be NULL" msgstr "" -#: c-typeck.c:8360 c-typeck.c:8365 c-typeck.c:8418 c-typeck.c:8423 +#: c-typeck.c:8364 c-typeck.c:8369 c-typeck.c:8422 c-typeck.c:8427 #, gcc-internal-format msgid "comparison between pointer and integer" msgstr "" -#: c-typeck.c:8387 +#: c-typeck.c:8391 #, gcc-internal-format msgid "comparison of complete and incomplete pointers" msgstr "" -#: c-typeck.c:8389 +#: c-typeck.c:8393 #, gcc-internal-format msgid "ISO C forbids ordered comparisons of pointers to functions" msgstr "" -#: c-typeck.c:8404 c-typeck.c:8407 c-typeck.c:8413 +#: c-typeck.c:8408 c-typeck.c:8411 c-typeck.c:8417 #, gcc-internal-format msgid "ordered comparison of pointer with integer zero" msgstr "" -#: c-typeck.c:8591 +#: c-typeck.c:8595 #, gcc-internal-format msgid "used array that cannot be converted to pointer where scalar is required" msgstr "" -#: c-typeck.c:8595 +#: c-typeck.c:8599 #, gcc-internal-format msgid "used struct type value where scalar is required" msgstr "" -#: c-typeck.c:8599 +#: c-typeck.c:8603 #, gcc-internal-format msgid "used union type value where scalar is required" msgstr "" -#: c-typeck.c:8735 cp/semantics.c:3685 +#: c-typeck.c:8739 cp/semantics.c:3687 #, gcc-internal-format msgid "%qE has invalid type for %" msgstr "" -#: c-typeck.c:8769 cp/semantics.c:3698 +#: c-typeck.c:8773 cp/semantics.c:3700 #, gcc-internal-format msgid "%qE has invalid type for %" msgstr "" -#: c-typeck.c:8785 cp/semantics.c:3708 +#: c-typeck.c:8789 cp/semantics.c:3710 #, gcc-internal-format msgid "%qE must be % for %" msgstr "" -#: c-typeck.c:8794 cp/semantics.c:3505 +#: c-typeck.c:8798 cp/semantics.c:3507 #, gcc-internal-format msgid "%qE is not a variable in clause %qs" msgstr "" -#: c-typeck.c:8801 c-typeck.c:8821 c-typeck.c:8841 +#: c-typeck.c:8805 c-typeck.c:8825 c-typeck.c:8845 #, gcc-internal-format msgid "%qE appears more than once in data clauses" msgstr "" -#: c-typeck.c:8815 cp/semantics.c:3528 +#: c-typeck.c:8819 cp/semantics.c:3530 #, gcc-internal-format msgid "%qE is not a variable in clause %" msgstr "" -#: c-typeck.c:8835 cp/semantics.c:3550 +#: c-typeck.c:8839 cp/semantics.c:3552 #, gcc-internal-format msgid "%qE is not a variable in clause %" msgstr "" -#: c-typeck.c:8895 cp/semantics.c:3749 +#: c-typeck.c:8899 cp/semantics.c:3751 #, gcc-internal-format msgid "%qE is predetermined %qs for %qs" msgstr "" @@ -23629,18 +23631,18 @@ "critical region may not be nested inside a critical region with the same name" msgstr "" -#: omp-low.c:6629 cp/decl.c:2680 +#: omp-low.c:6682 cp/decl.c:2680 #, gcc-internal-format msgid "invalid exit from OpenMP structured block" msgstr "" -#: omp-low.c:6631 omp-low.c:6636 +#: omp-low.c:6684 omp-low.c:6689 #, gcc-internal-format msgid "invalid entry to OpenMP structured block" msgstr "" #. Otherwise, be vague and lazy, but efficient. -#: omp-low.c:6639 +#: omp-low.c:6692 #, gcc-internal-format msgid "invalid branch to/from an OpenMP structured block" msgstr "" @@ -23663,142 +23665,137 @@ msgstr "" #. Eventually this should become a hard error IMO. -#: opts.c:448 +#: opts.c:442 #, gcc-internal-format msgid "command line option \"%s\" is valid for %s but not for %s" msgstr "" -#: opts.c:479 opts.c:807 +#: opts.c:473 opts.c:769 #, gcc-internal-format msgid "unrecognized command line option \"%s\"" msgstr "" -#: opts.c:540 +#: opts.c:534 #, gcc-internal-format msgid "command line option %qs is not supported by this configuration" msgstr "" -#: opts.c:593 +#: opts.c:587 #, gcc-internal-format msgid "missing argument to \"%s\"" msgstr "" -#: opts.c:603 +#: opts.c:597 #, gcc-internal-format msgid "argument to \"%s\" should be a non-negative integer" msgstr "" -#: opts.c:769 -#, gcc-internal-format -msgid "disallowed call to %qs" -msgstr "" - -#: opts.c:1031 +#: opts.c:993 #, gcc-internal-format msgid "Section anchors must be disabled when unit-at-a-time is disabled." msgstr "" -#: opts.c:1035 +#: opts.c:997 #, gcc-internal-format msgid "Toplevel reorder must be disabled when unit-at-a-time is disabled." msgstr "" -#: opts.c:1050 +#: opts.c:1012 #, gcc-internal-format msgid "section anchors must be disabled when toplevel reorder is disabled" msgstr "" -#: opts.c:1080 +#: opts.c:1042 #, gcc-internal-format msgid "-freorder-blocks-and-partition does not work with exceptions" msgstr "" -#: opts.c:1091 +#: opts.c:1053 #, gcc-internal-format msgid "-freorder-blocks-and-partition does not support unwind info" msgstr "" -#: opts.c:1105 +#: opts.c:1067 #, gcc-internal-format msgid "-freorder-blocks-and-partition does not work on this architecture" msgstr "" -#: opts.c:1119 +#: opts.c:1081 #, gcc-internal-format msgid "-fira-algorithm=CB does not work on this architecture" msgstr "" -#: opts.c:1428 +#: opts.c:1390 #, gcc-internal-format msgid "unrecognized include_flags 0x%x passed to print_specific_help" msgstr "" -#: opts.c:1809 +#: opts.c:1765 #, gcc-internal-format msgid "structure alignment must be a small power of two, not %d" msgstr "" -#: opts.c:1896 +#: opts.c:1852 #, gcc-internal-format msgid "unrecognized visibility value \"%s\"" msgstr "" -#: opts.c:1954 +#: opts.c:1910 #, gcc-internal-format msgid "unknown stack check parameter \"%s\"" msgstr "" -#: opts.c:1980 +#: opts.c:1936 #, gcc-internal-format msgid "unrecognized register name \"%s\"" msgstr "" -#: opts.c:2004 +#: opts.c:1960 #, gcc-internal-format msgid "unknown tls-model \"%s\"" msgstr "" -#: opts.c:2013 +#: opts.c:1969 #, gcc-internal-format msgid "unknown ira algorithm \"%s\"" msgstr "" -#: opts.c:2024 +#: opts.c:1980 #, gcc-internal-format msgid "unknown ira region \"%s\"" msgstr "" -#: opts.c:2127 +#: opts.c:2083 #, gcc-internal-format msgid "%s: --param arguments should be of the form NAME=VALUE" msgstr "" -#: opts.c:2132 +#: opts.c:2088 #, gcc-internal-format msgid "invalid --param value %qs" msgstr "" -#: opts.c:2250 +#: opts.c:2206 #, gcc-internal-format msgid "target system does not support debug output" msgstr "" -#: opts.c:2257 +#: opts.c:2213 #, gcc-internal-format msgid "debug format \"%s\" conflicts with prior selection" msgstr "" -#: opts.c:2273 +#: opts.c:2229 #, gcc-internal-format msgid "unrecognised debug output level \"%s\"" msgstr "" -#: opts.c:2275 +#: opts.c:2231 #, gcc-internal-format msgid "debug output level %s is too high" msgstr "" -#: opts.c:2357 +#: opts.c:2313 #, gcc-internal-format msgid "-Werror=%s: No option -%s" msgstr "" @@ -25319,9 +25316,9 @@ msgstr "" #: tree.c:4076 tree.c:4088 tree.c:4098 config/darwin.c:1437 -#: config/arm/arm.c:3294 config/arm/arm.c:3322 config/avr/avr.c:4791 +#: config/arm/arm.c:3294 config/arm/arm.c:3322 config/avr/avr.c:4804 #: config/h8300/h8300.c:5283 config/h8300/h8300.c:5307 config/i386/i386.c:4179 -#: config/i386/i386.c:26410 config/ia64/ia64.c:621 +#: config/i386/i386.c:26447 config/ia64/ia64.c:621 #: config/m68hc11/m68hc11.c:1118 config/rs6000/rs6000.c:20739 #: config/sh/symbian.c:408 config/sh/symbian.c:415 #, gcc-internal-format @@ -25768,7 +25765,7 @@ #. coalesced sections. Weak aliases (or any other kind of aliases) are #. not supported. Weak symbols that aren't visible outside the .s file #. are not supported. -#: config/darwin.h:452 +#: config/darwin.h:456 #, gcc-internal-format msgid "alias definitions not supported in Mach-O; ignored" msgstr "" @@ -26020,9 +26017,9 @@ msgid "unable to use '%s' for PIC register" msgstr "" -#: config/arm/arm.c:3262 config/arm/arm.c:3280 config/avr/avr.c:4811 -#: config/avr/avr.c:4827 config/bfin/bfin.c:5228 config/h8300/h8300.c:5259 -#: config/i386/i386.c:4141 config/i386/i386.c:26355 +#: config/arm/arm.c:3262 config/arm/arm.c:3280 config/avr/avr.c:4824 +#: config/avr/avr.c:4840 config/bfin/bfin.c:5228 config/h8300/h8300.c:5259 +#: config/i386/i386.c:4141 config/i386/i386.c:26392 #: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:783 #: config/mcore/mcore.c:3034 config/mips/mips.c:1223 config/mips/mips.c:1225 #: config/rs6000/rs6000.c:20665 config/sh/sh.c:8129 config/sh/sh.c:8147 @@ -26079,27 +26076,42 @@ msgid "static variable %q+D is marked dllimport" msgstr "" -#: config/avr/avr.c:4613 +#: config/avr/avr.c:399 +#, gcc-internal-format +msgid "the -mno-tablejump switch is deprecated" +msgstr "" + +#: config/avr/avr.c:400 +#, gcc-internal-format +msgid "GCC 4.4 is the last release with this switch" +msgstr "" + +#: config/avr/avr.c:401 +#, gcc-internal-format +msgid "use the -fno-jump-tables switch instead" +msgstr "" + +#: config/avr/avr.c:4626 #, gcc-internal-format msgid "%qs appears to be a misspelled interrupt handler" msgstr "" -#: config/avr/avr.c:4622 +#: config/avr/avr.c:4635 #, gcc-internal-format msgid "%qs appears to be a misspelled signal handler" msgstr "" -#: config/avr/avr.c:4784 +#: config/avr/avr.c:4797 #, gcc-internal-format msgid "only initialized variables can be placed into program memory area" msgstr "" -#: config/avr/avr.c:4918 +#: config/avr/avr.c:4931 #, gcc-internal-format msgid "only uninitialized variables can be placed in the .noinit section" msgstr "" -#: config/avr/avr.c:4932 +#: config/avr/avr.c:4945 #, gcc-internal-format msgid "MCU %qs supported for assembler only" msgstr "" @@ -26649,127 +26661,139 @@ msgid "AVX vector argument without AVX enabled changes the ABI" msgstr "" -#: config/i386/i386.c:5039 +#: config/i386/i386.c:4942 +#, gcc-internal-format +msgid "" +"The ABI of passing struct with a flexible array member has changed in GCC 4.4" +msgstr "" + +#: config/i386/i386.c:5061 #, gcc-internal-format msgid "The ABI of passing union with long double has changed in GCC 4.4" msgstr "" -#: config/i386/i386.c:5284 +#: config/i386/i386.c:5176 +#, gcc-internal-format +msgid "" +"The ABI of passing structure with complex float member has changed in GCC 4.4" +msgstr "" + +#: config/i386/i386.c:5321 #, gcc-internal-format msgid "SSE register return with SSE disabled" msgstr "" -#: config/i386/i386.c:5290 +#: config/i386/i386.c:5327 #, gcc-internal-format msgid "SSE register argument with SSE disabled" msgstr "" -#: config/i386/i386.c:5306 +#: config/i386/i386.c:5343 #, gcc-internal-format msgid "x87 register return with x87 disabled" msgstr "" -#: config/i386/i386.c:5672 +#: config/i386/i386.c:5709 #, gcc-internal-format msgid "SSE vector argument without SSE enabled changes the ABI" msgstr "" -#: config/i386/i386.c:5709 +#: config/i386/i386.c:5746 #, gcc-internal-format msgid "MMX vector argument without MMX enabled changes the ABI" msgstr "" -#: config/i386/i386.c:6310 +#: config/i386/i386.c:6347 #, gcc-internal-format msgid "SSE vector return without SSE enabled changes the ABI" msgstr "" -#: config/i386/i386.c:6320 +#: config/i386/i386.c:6357 #, gcc-internal-format msgid "MMX vector return without MMX enabled changes the ABI" msgstr "" -#: config/i386/i386.c:10587 +#: config/i386/i386.c:10624 #, gcc-internal-format msgid "extended registers have no high halves" msgstr "" -#: config/i386/i386.c:10602 +#: config/i386/i386.c:10639 #, gcc-internal-format msgid "unsupported operand size for extended register" msgstr "" -#: config/i386/i386.c:23572 +#: config/i386/i386.c:23609 #, gcc-internal-format msgid "last argument must be an immediate" msgstr "" -#: config/i386/i386.c:23865 +#: config/i386/i386.c:23902 #, gcc-internal-format msgid "the fifth argument must be a 8-bit immediate" msgstr "" -#: config/i386/i386.c:23960 +#: config/i386/i386.c:23997 #, gcc-internal-format msgid "the third argument must be a 8-bit immediate" msgstr "" -#: config/i386/i386.c:24300 +#: config/i386/i386.c:24337 #, gcc-internal-format msgid "the last argument must be a 4-bit immediate" msgstr "" -#: config/i386/i386.c:24305 +#: config/i386/i386.c:24342 #, gcc-internal-format msgid "the last argument must be a 2-bit immediate" msgstr "" -#: config/i386/i386.c:24314 +#: config/i386/i386.c:24351 #, gcc-internal-format msgid "the last argument must be a 1-bit immediate" msgstr "" -#: config/i386/i386.c:24323 +#: config/i386/i386.c:24360 #, gcc-internal-format msgid "the last argument must be a 5-bit immediate" msgstr "" -#: config/i386/i386.c:24332 +#: config/i386/i386.c:24369 #, gcc-internal-format msgid "the next to last argument must be an 8-bit immediate" msgstr "" -#: config/i386/i386.c:24336 config/i386/i386.c:24514 +#: config/i386/i386.c:24373 config/i386/i386.c:24551 #, gcc-internal-format msgid "the last argument must be an 8-bit immediate" msgstr "" -#: config/i386/i386.c:24572 config/rs6000/rs6000.c:8540 +#: config/i386/i386.c:24609 config/rs6000/rs6000.c:8540 #, gcc-internal-format msgid "selector must be an integer constant in the range 0..%wi" msgstr "" -#: config/i386/i386.c:24715 +#: config/i386/i386.c:24752 #, gcc-internal-format msgid "%qE needs unknown isa option" msgstr "" -#: config/i386/i386.c:24719 +#: config/i386/i386.c:24756 #, gcc-internal-format msgid "%qE needs isa option %s" msgstr "" -#: config/i386/i386.c:26362 +#: config/i386/i386.c:26399 #, gcc-internal-format msgid "%qs attribute only available for 64-bit" msgstr "" -#: config/i386/i386.c:26373 config/i386/i386.c:26382 +#: config/i386/i386.c:26410 config/i386/i386.c:26419 #, gcc-internal-format msgid "ms_abi and sysv_abi attributes are not compatible" msgstr "" -#: config/i386/i386.c:26420 config/rs6000/rs6000.c:20748 +#: config/i386/i386.c:26457 config/rs6000/rs6000.c:20748 #, gcc-internal-format msgid "%qs incompatible attribute ignored" msgstr "" @@ -26857,22 +26881,32 @@ msgid "%s-%s is an empty range" msgstr "" -#: config/ia64/ia64.c:5223 +#: config/ia64/ia64.c:5225 #, gcc-internal-format msgid "bad value %<%s%> for -mtls-size= switch" msgstr "" -#: config/ia64/ia64.c:5251 +#: config/ia64/ia64.c:5254 +#, gcc-internal-format +msgid "value %<%s%> for -mtune= switch is deprecated" +msgstr "" + +#: config/ia64/ia64.c:5256 +#, gcc-internal-format +msgid "GCC 4.4 is the last release with Itanium1 tuning support" +msgstr "" + +#: config/ia64/ia64.c:5263 #, gcc-internal-format msgid "bad value %<%s%> for -mtune= switch" msgstr "" -#: config/ia64/ia64.c:5270 +#: config/ia64/ia64.c:5282 #, gcc-internal-format msgid "not yet implemented: latency-optimized inline square root" msgstr "" -#: config/ia64/ia64.c:10535 +#: config/ia64/ia64.c:10547 #, gcc-internal-format msgid "version attribute is not a string" msgstr "" @@ -27373,37 +27407,37 @@ msgid "junk at end of #pragma longcall" msgstr "" -#: config/rs6000/rs6000-c.c:2989 +#: config/rs6000/rs6000-c.c:3001 #, gcc-internal-format msgid "%s only accepts %d arguments" msgstr "" -#: config/rs6000/rs6000-c.c:2994 +#: config/rs6000/rs6000-c.c:3006 #, gcc-internal-format msgid "%s only accepts 1 argument" msgstr "" -#: config/rs6000/rs6000-c.c:2999 config/rs6000/rs6000-c.c:3006 +#: config/rs6000/rs6000-c.c:3011 config/rs6000/rs6000-c.c:3018 #, gcc-internal-format msgid "%s only accepts 2 arguments" msgstr "" -#: config/rs6000/rs6000-c.c:3067 +#: config/rs6000/rs6000-c.c:3079 #, gcc-internal-format msgid "vec_extract only accepts 2 arguments" msgstr "" -#: config/rs6000/rs6000-c.c:3124 +#: config/rs6000/rs6000-c.c:3136 #, gcc-internal-format msgid "vec_insert only accepts 3 arguments" msgstr "" -#: config/rs6000/rs6000-c.c:3206 +#: config/rs6000/rs6000-c.c:3218 #, gcc-internal-format msgid "passing arg %d of %qE discards qualifiers frompointer target type" msgstr "" -#: config/rs6000/rs6000-c.c:3249 +#: config/rs6000/rs6000-c.c:3261 #, gcc-internal-format msgid "invalid parameter combination for AltiVec intrinsic" msgstr "" @@ -27714,7 +27748,7 @@ msgid "-m64 not supported in this configuration" msgstr "" -#: config/rs6000/linux64.h:108 +#: config/rs6000/linux64.h:113 #, gcc-internal-format msgid "-m64 requires a PowerPC64 cpu" msgstr "" @@ -27731,7 +27765,7 @@ #. Number of bytes into the frame return addresses can be found. See #. rs6000_stack_info in rs6000.c for more information on how the different #. abi's store the return address. -#: config/rs6000/rs6000.h:1643 +#: config/rs6000/rs6000.h:1648 #, gcc-internal-format msgid "RETURN_ADDRESS_OFFSET not supported" msgstr "" @@ -27744,57 +27778,57 @@ #. #. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to #. get control. -#: config/rs6000/sysv4.h:129 +#: config/rs6000/sysv4.h:134 #, gcc-internal-format msgid "bad value for -mcall-%s" msgstr "" -#: config/rs6000/sysv4.h:145 +#: config/rs6000/sysv4.h:150 #, gcc-internal-format msgid "bad value for -msdata=%s" msgstr "" -#: config/rs6000/sysv4.h:162 +#: config/rs6000/sysv4.h:167 #, gcc-internal-format msgid "-mrelocatable and -msdata=%s are incompatible" msgstr "" -#: config/rs6000/sysv4.h:171 +#: config/rs6000/sysv4.h:176 #, gcc-internal-format msgid "-f%s and -msdata=%s are incompatible" msgstr "" -#: config/rs6000/sysv4.h:180 +#: config/rs6000/sysv4.h:185 #, gcc-internal-format msgid "-msdata=%s and -mcall-%s are incompatible" msgstr "" -#: config/rs6000/sysv4.h:189 +#: config/rs6000/sysv4.h:194 #, gcc-internal-format msgid "-mrelocatable and -mno-minimal-toc are incompatible" msgstr "" -#: config/rs6000/sysv4.h:195 +#: config/rs6000/sysv4.h:200 #, gcc-internal-format msgid "-mrelocatable and -mcall-%s are incompatible" msgstr "" -#: config/rs6000/sysv4.h:202 +#: config/rs6000/sysv4.h:207 #, gcc-internal-format msgid "-fPIC and -mcall-%s are incompatible" msgstr "" -#: config/rs6000/sysv4.h:209 +#: config/rs6000/sysv4.h:214 #, gcc-internal-format msgid "-mcall-aixdesc must be big endian" msgstr "" -#: config/rs6000/sysv4.h:214 +#: config/rs6000/sysv4.h:219 #, gcc-internal-format msgid "-msecure-plt not supported by your assembler" msgstr "" -#: config/rs6000/sysv4.h:232 +#: config/rs6000/sysv4.h:237 #, gcc-internal-format msgid "-m%s not supported in this configuration" msgstr "" @@ -27966,7 +28000,7 @@ msgid "%s %q+D %s after being referenced with dllimport linkage" msgstr "" -#: config/sh/symbian.c:891 cp/tree.c:2843 +#: config/sh/symbian.c:891 cp/tree.c:2842 #, gcc-internal-format msgid "lang_* check: failed in %s, at %s:%d" msgstr "" @@ -28493,76 +28527,91 @@ msgid "%qT is not an accessible base of %qT" msgstr "" -#: cp/call.c:5522 +#: cp/call.c:5538 #, gcc-internal-format msgid "could not find class$ field in java interface type %qT" msgstr "" -#: cp/call.c:5765 +#: cp/call.c:5781 #, gcc-internal-format msgid "call to non-function %qD" msgstr "" -#: cp/call.c:5904 +#: cp/call.c:5920 #, gcc-internal-format msgid "no matching function for call to %<%T::%s(%A)%#V%>" msgstr "" -#: cp/call.c:5925 +#: cp/call.c:5941 #, gcc-internal-format msgid "call of overloaded %<%s(%A)%> is ambiguous" msgstr "" -#: cp/call.c:5954 +#: cp/call.c:5970 #, gcc-internal-format msgid "cannot call member function %qD without object" msgstr "" -#: cp/call.c:6642 +#: cp/call.c:6658 #, gcc-internal-format msgid "passing %qT chooses %qT over %qT" msgstr "" -#: cp/call.c:6644 cp/name-lookup.c:4468 cp/name-lookup.c:4913 +#: cp/call.c:6660 cp/name-lookup.c:4469 cp/name-lookup.c:4914 #, gcc-internal-format msgid " in call to %qD" msgstr "" -#: cp/call.c:6701 +#: cp/call.c:6717 #, gcc-internal-format msgid "choosing %qD over %qD" msgstr "" -#: cp/call.c:6702 +#: cp/call.c:6718 #, gcc-internal-format msgid " for conversion from %qT to %qT" msgstr "" -#: cp/call.c:6705 +#: cp/call.c:6721 #, gcc-internal-format msgid " because conversion sequence for the argument is better" msgstr "" -#: cp/call.c:6821 +#: cp/call.c:6839 +#, gcc-internal-format +msgid "default argument mismatch in overload resolution" +msgstr "" + +#: cp/call.c:6842 +#, gcc-internal-format +msgid " candidate 1: %q+#F" +msgstr "" + +#: cp/call.c:6844 +#, gcc-internal-format +msgid " candidate 2: %q+#F" +msgstr "" + +#: cp/call.c:6882 #, gcc-internal-format msgid "" "ISO C++ says that these are ambiguous, even though the worst conversion for " "the first is better than the worst conversion for the second:" msgstr "" -#: cp/call.c:6965 +#: cp/call.c:7026 #, gcc-internal-format msgid "could not convert %qE to %qT" msgstr "" -#: cp/call.c:7171 +#: cp/call.c:7232 #, gcc-internal-format msgid "" "invalid initialization of non-const reference of type %qT from a temporary " "of type %qT" msgstr "" -#: cp/call.c:7175 +#: cp/call.c:7236 #, gcc-internal-format msgid "" "invalid initialization of reference of type %qT from expression of type %qT" @@ -28903,27 +28952,27 @@ msgid "no matches converting function %qD to type %q#T" msgstr "" -#: cp/class.c:6161 +#: cp/class.c:6168 #, gcc-internal-format msgid "converting overloaded function %qD to type %q#T is ambiguous" msgstr "" -#: cp/class.c:6187 +#: cp/class.c:6195 #, gcc-internal-format msgid "assuming pointer to member %qD" msgstr "" -#: cp/class.c:6190 +#: cp/class.c:6198 #, gcc-internal-format msgid "(a pointer to member can only be formed with %<&%E%>)" msgstr "" -#: cp/class.c:6252 cp/class.c:6286 +#: cp/class.c:6260 cp/class.c:6294 #, gcc-internal-format msgid "not enough type information" msgstr "" -#: cp/class.c:6269 +#: cp/class.c:6277 #, gcc-internal-format msgid "argument of type %qT does not match %qT" msgstr "" @@ -28933,12 +28982,12 @@ #. A name N used in a class S shall refer to the same declaration #. in its context and when re-evaluated in the completed scope of #. S. -#: cp/class.c:6587 cp/decl.c:1193 cp/name-lookup.c:526 +#: cp/class.c:6595 cp/decl.c:1193 cp/name-lookup.c:526 #, gcc-internal-format msgid "declaration of %q#D" msgstr "" -#: cp/class.c:6588 +#: cp/class.c:6596 #, gcc-internal-format msgid "changes meaning of %qD from %q+#D" msgstr "" @@ -29473,117 +29522,117 @@ msgid "attribute for %q+#T must follow the %qs keyword" msgstr "" -#: cp/decl.c:3980 +#: cp/decl.c:3983 #, gcc-internal-format msgid "ignoring attributes applied to class type %qT outside of definition" msgstr "" #. A template type parameter or other dependent type. -#: cp/decl.c:3984 +#: cp/decl.c:3987 #, gcc-internal-format msgid "" "ignoring attributes applied to dependent type %qT without an associated " "declaration" msgstr "" -#: cp/decl.c:4060 +#: cp/decl.c:4063 #, gcc-internal-format msgid "typedef %qD is initialized (use decltype instead)" msgstr "" -#: cp/decl.c:4078 +#: cp/decl.c:4081 #, gcc-internal-format msgid "declaration of %q#D has % and is initialized" msgstr "" -#: cp/decl.c:4103 +#: cp/decl.c:4106 #, gcc-internal-format msgid "definition of %q#D is marked %" msgstr "" -#: cp/decl.c:4122 +#: cp/decl.c:4125 #, gcc-internal-format msgid "%q#D is not a static member of %q#T" msgstr "" -#: cp/decl.c:4128 +#: cp/decl.c:4131 #, gcc-internal-format msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" msgstr "" -#: cp/decl.c:4137 +#: cp/decl.c:4140 #, gcc-internal-format msgid "" "template header not allowed in member definition of explicitly specialized " "class" msgstr "" -#: cp/decl.c:4145 +#: cp/decl.c:4148 #, gcc-internal-format msgid "duplicate initialization of %qD" msgstr "" -#: cp/decl.c:4184 +#: cp/decl.c:4187 #, gcc-internal-format msgid "declaration of %q#D outside of class is not definition" msgstr "" -#: cp/decl.c:4279 +#: cp/decl.c:4282 #, gcc-internal-format msgid "variable %q#D has initializer but incomplete type" msgstr "" -#: cp/decl.c:4285 cp/decl.c:5033 +#: cp/decl.c:4288 cp/decl.c:5036 #, gcc-internal-format msgid "elements of array %q#D have incomplete type" msgstr "" -#: cp/decl.c:4292 cp/decl.c:5529 +#: cp/decl.c:4295 cp/decl.c:5532 #, gcc-internal-format msgid "declaration of %q#D has no initializer" msgstr "" -#: cp/decl.c:4294 +#: cp/decl.c:4297 #, gcc-internal-format msgid "aggregate %q#D has incomplete type and cannot be defined" msgstr "" -#: cp/decl.c:4330 +#: cp/decl.c:4333 #, gcc-internal-format msgid "%qD declared as reference but not initialized" msgstr "" -#: cp/decl.c:4336 +#: cp/decl.c:4339 #, gcc-internal-format msgid "ISO C++ forbids use of initializer list to initialize reference %qD" msgstr "" -#: cp/decl.c:4362 +#: cp/decl.c:4365 #, gcc-internal-format msgid "cannot initialize %qT from %qT" msgstr "" -#: cp/decl.c:4423 +#: cp/decl.c:4426 #, gcc-internal-format msgid "name used in a GNU-style designated initializer for an array" msgstr "" -#: cp/decl.c:4428 +#: cp/decl.c:4431 #, gcc-internal-format msgid "name %qD used in a GNU-style designated initializer for an array" msgstr "" -#: cp/decl.c:4478 +#: cp/decl.c:4481 #, gcc-internal-format msgid "initializer fails to determine size of %qD" msgstr "" -#: cp/decl.c:4485 +#: cp/decl.c:4488 #, gcc-internal-format msgid "array size missing in %qD" msgstr "" -#: cp/decl.c:4497 +#: cp/decl.c:4500 #, gcc-internal-format msgid "zero-size array %qD" msgstr "" @@ -29591,273 +29640,273 @@ #. An automatic variable with an incomplete type: that is an error. #. Don't talk about array types here, since we took care of that #. message in grokdeclarator. -#: cp/decl.c:4540 +#: cp/decl.c:4543 #, gcc-internal-format msgid "storage size of %qD isn't known" msgstr "" -#: cp/decl.c:4563 +#: cp/decl.c:4566 #, gcc-internal-format msgid "storage size of %qD isn't constant" msgstr "" -#: cp/decl.c:4614 +#: cp/decl.c:4617 #, gcc-internal-format msgid "" "sorry: semantics of inline function static data %q+#D are wrong (you'll wind " "up with multiple copies)" msgstr "" -#: cp/decl.c:4617 +#: cp/decl.c:4620 #, gcc-internal-format msgid "%J you can work around this by removing the initializer" msgstr "" -#: cp/decl.c:4644 +#: cp/decl.c:4647 #, gcc-internal-format msgid "uninitialized const %qD" msgstr "" -#: cp/decl.c:4756 +#: cp/decl.c:4759 #, gcc-internal-format msgid "invalid type %qT as initializer for a vector of type %qT" msgstr "" -#: cp/decl.c:4798 +#: cp/decl.c:4801 #, gcc-internal-format msgid "initializer for %qT must be brace-enclosed" msgstr "" -#: cp/decl.c:4816 +#: cp/decl.c:4819 #, gcc-internal-format msgid "%qT has no non-static data member named %qD" msgstr "" -#: cp/decl.c:4872 +#: cp/decl.c:4875 #, gcc-internal-format msgid "braces around scalar initializer for type %qT" msgstr "" -#: cp/decl.c:4958 +#: cp/decl.c:4961 #, gcc-internal-format msgid "missing braces around initializer for %qT" msgstr "" -#: cp/decl.c:5015 cp/typeck2.c:1087 cp/typeck2.c:1110 cp/typeck2.c:1153 +#: cp/decl.c:5018 cp/typeck2.c:1087 cp/typeck2.c:1110 cp/typeck2.c:1153 #, gcc-internal-format msgid "too many initializers for %qT" msgstr "" -#: cp/decl.c:5035 +#: cp/decl.c:5038 #, gcc-internal-format msgid "elements of array %q#T have incomplete type" msgstr "" -#: cp/decl.c:5044 +#: cp/decl.c:5047 #, gcc-internal-format msgid "variable-sized object %qD may not be initialized" msgstr "" -#: cp/decl.c:5046 +#: cp/decl.c:5049 #, gcc-internal-format msgid "variable-sized compound literal" msgstr "" -#: cp/decl.c:5100 +#: cp/decl.c:5103 #, gcc-internal-format msgid "%qD has incomplete type" msgstr "" -#: cp/decl.c:5120 +#: cp/decl.c:5123 #, gcc-internal-format msgid "scalar object %qD requires one element in initializer" msgstr "" -#: cp/decl.c:5151 +#: cp/decl.c:5154 #, gcc-internal-format msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" msgstr "" -#: cp/decl.c:5183 +#: cp/decl.c:5186 #, gcc-internal-format msgid "array %qD initialized by parenthesized string literal %qE" msgstr "" -#: cp/decl.c:5197 +#: cp/decl.c:5200 #, gcc-internal-format msgid "structure %qD with uninitialized const members" msgstr "" -#: cp/decl.c:5199 +#: cp/decl.c:5202 #, gcc-internal-format msgid "structure %qD with uninitialized reference members" msgstr "" -#: cp/decl.c:5496 +#: cp/decl.c:5499 #, gcc-internal-format msgid "assignment (not initialization) in declaration" msgstr "" -#: cp/decl.c:5555 cp/decl2.c:850 +#: cp/decl.c:5558 cp/decl2.c:850 #, gcc-internal-format msgid "%qD cannot be defaulted" msgstr "" -#: cp/decl.c:5631 +#: cp/decl.c:5634 #, gcc-internal-format msgid "shadowing previous type declaration of %q#D" msgstr "" -#: cp/decl.c:5661 +#: cp/decl.c:5664 #, gcc-internal-format msgid "%qD cannot be thread-local because it has non-POD type %qT" msgstr "" -#: cp/decl.c:5693 +#: cp/decl.c:5696 #, gcc-internal-format msgid "Java object %qD not allocated with %" msgstr "" -#: cp/decl.c:5710 +#: cp/decl.c:5713 #, gcc-internal-format msgid "%qD is thread-local and so cannot be dynamically initialized" msgstr "" -#: cp/decl.c:5728 +#: cp/decl.c:5731 #, gcc-internal-format msgid "" "%qD cannot be initialized by a non-constant expression when being declared" msgstr "" -#: cp/decl.c:5768 +#: cp/decl.c:5771 #, gcc-internal-format msgid "non-static data member %qD has Java class type" msgstr "" -#: cp/decl.c:5832 +#: cp/decl.c:5835 #, gcc-internal-format msgid "function %q#D is initialized like a variable" msgstr "" -#: cp/decl.c:6420 +#: cp/decl.c:6423 #, gcc-internal-format msgid "destructor for alien class %qT cannot be a member" msgstr "" -#: cp/decl.c:6422 +#: cp/decl.c:6425 #, gcc-internal-format msgid "constructor for alien class %qT cannot be a member" msgstr "" -#: cp/decl.c:6443 +#: cp/decl.c:6446 #, gcc-internal-format msgid "%qD declared as a % %s" msgstr "" -#: cp/decl.c:6445 +#: cp/decl.c:6448 #, gcc-internal-format msgid "%qD declared as an % %s" msgstr "" -#: cp/decl.c:6447 +#: cp/decl.c:6450 #, gcc-internal-format msgid "" "% and % function specifiers on %qD invalid in %s " "declaration" msgstr "" -#: cp/decl.c:6451 +#: cp/decl.c:6454 #, gcc-internal-format msgid "%q+D declared as a friend" msgstr "" -#: cp/decl.c:6457 +#: cp/decl.c:6460 #, gcc-internal-format msgid "%q+D declared with an exception specification" msgstr "" -#: cp/decl.c:6491 +#: cp/decl.c:6494 #, gcc-internal-format msgid "definition of %qD is not in namespace enclosing %qT" msgstr "" -#: cp/decl.c:6611 +#: cp/decl.c:6614 #, gcc-internal-format msgid "defining explicit specialization %qD in friend declaration" msgstr "" #. Something like `template friend void f()'. -#: cp/decl.c:6621 +#: cp/decl.c:6624 #, gcc-internal-format msgid "invalid use of template-id %qD in declaration of primary template" msgstr "" -#: cp/decl.c:6651 +#: cp/decl.c:6654 #, gcc-internal-format msgid "" "default arguments are not allowed in declaration of friend template " "specialization %qD" msgstr "" -#: cp/decl.c:6659 +#: cp/decl.c:6662 #, gcc-internal-format msgid "" "% is not allowed in declaration of friend template specialization %" "qD" msgstr "" -#: cp/decl.c:6702 +#: cp/decl.c:6705 #, gcc-internal-format msgid "cannot declare %<::main%> to be a template" msgstr "" -#: cp/decl.c:6704 +#: cp/decl.c:6707 #, gcc-internal-format msgid "cannot declare %<::main%> to be inline" msgstr "" -#: cp/decl.c:6706 +#: cp/decl.c:6709 #, gcc-internal-format msgid "cannot declare %<::main%> to be static" msgstr "" -#: cp/decl.c:6734 +#: cp/decl.c:6737 #, gcc-internal-format msgid "non-local function %q#D uses anonymous type" msgstr "" -#: cp/decl.c:6737 cp/decl.c:7013 +#: cp/decl.c:6740 cp/decl.c:7016 #, gcc-internal-format msgid "" "%q+#D does not refer to the unqualified type, so it is not used for linkage" msgstr "" -#: cp/decl.c:6743 +#: cp/decl.c:6746 #, gcc-internal-format msgid "non-local function %q#D uses local type %qT" msgstr "" -#: cp/decl.c:6762 +#: cp/decl.c:6765 #, gcc-internal-format msgid "static member function %qD cannot have cv-qualifier" msgstr "" -#: cp/decl.c:6763 +#: cp/decl.c:6766 #, gcc-internal-format msgid "non-member function %qD cannot have cv-qualifier" msgstr "" -#: cp/decl.c:6811 +#: cp/decl.c:6814 #, gcc-internal-format msgid "%<::main%> must return %" msgstr "" -#: cp/decl.c:6851 +#: cp/decl.c:6854 #, gcc-internal-format msgid "definition of implicitly-declared %qD" msgstr "" -#: cp/decl.c:6868 cp/decl2.c:685 +#: cp/decl.c:6871 cp/decl2.c:685 #, gcc-internal-format msgid "no %q#D member function declared in class %qT" msgstr "" @@ -29866,589 +29915,594 @@ #. no linkage can only be used to declare extern "C" #. entities. Since it's not always an error in the #. ISO C++ 90 Standard, we only issue a warning. -#: cp/decl.c:7010 +#: cp/decl.c:7013 #, gcc-internal-format msgid "non-local variable %q#D uses anonymous type" msgstr "" -#: cp/decl.c:7019 +#: cp/decl.c:7022 #, gcc-internal-format msgid "non-local variable %q#D uses local type %qT" msgstr "" -#: cp/decl.c:7142 +#: cp/decl.c:7145 #, gcc-internal-format msgid "" "invalid in-class initialization of static data member of non-integral type %" "qT" msgstr "" -#: cp/decl.c:7152 +#: cp/decl.c:7155 #, gcc-internal-format msgid "ISO C++ forbids in-class initialization of non-const static member %qD" msgstr "" -#: cp/decl.c:7156 +#: cp/decl.c:7159 #, gcc-internal-format msgid "" "ISO C++ forbids initialization of member constant %qD of non-integral type %" "qT" msgstr "" -#: cp/decl.c:7181 +#: cp/decl.c:7184 #, gcc-internal-format msgid "size of array %qD has non-integral type %qT" msgstr "" -#: cp/decl.c:7183 +#: cp/decl.c:7186 #, gcc-internal-format msgid "size of array has non-integral type %qT" msgstr "" -#: cp/decl.c:7235 +#: cp/decl.c:7238 #, gcc-internal-format msgid "size of array %qD is negative" msgstr "" -#: cp/decl.c:7237 +#: cp/decl.c:7240 #, gcc-internal-format msgid "size of array is negative" msgstr "" -#: cp/decl.c:7245 +#: cp/decl.c:7248 #, gcc-internal-format msgid "ISO C++ forbids zero-size array %qD" msgstr "" -#: cp/decl.c:7247 +#: cp/decl.c:7250 #, gcc-internal-format msgid "ISO C++ forbids zero-size array" msgstr "" -#: cp/decl.c:7254 +#: cp/decl.c:7257 #, gcc-internal-format msgid "size of array %qD is not an integral constant-expression" msgstr "" -#: cp/decl.c:7257 +#: cp/decl.c:7260 #, gcc-internal-format msgid "size of array is not an integral constant-expression" msgstr "" -#: cp/decl.c:7263 +#: cp/decl.c:7266 #, gcc-internal-format msgid "ISO C++ forbids variable length array %qD" msgstr "" -#: cp/decl.c:7265 +#: cp/decl.c:7268 #, gcc-internal-format msgid "ISO C++ forbids variable length array" msgstr "" -#: cp/decl.c:7271 +#: cp/decl.c:7274 #, gcc-internal-format msgid "variable length array %qD is used" msgstr "" -#: cp/decl.c:7307 +#: cp/decl.c:7310 #, gcc-internal-format msgid "overflow in array dimension" msgstr "" -#: cp/decl.c:7388 +#: cp/decl.c:7391 #, gcc-internal-format msgid "declaration of %qD as %s" msgstr "" -#: cp/decl.c:7390 +#: cp/decl.c:7393 #, gcc-internal-format msgid "creating %s" msgstr "" -#: cp/decl.c:7402 +#: cp/decl.c:7405 #, gcc-internal-format msgid "" "declaration of %qD as multidimensional array must have bounds for all " "dimensions except the first" msgstr "" -#: cp/decl.c:7406 +#: cp/decl.c:7409 #, gcc-internal-format msgid "" "multidimensional array must have bounds for all dimensions except the first" msgstr "" -#: cp/decl.c:7441 +#: cp/decl.c:7444 #, gcc-internal-format msgid "return type specification for constructor invalid" msgstr "" -#: cp/decl.c:7451 +#: cp/decl.c:7454 #, gcc-internal-format msgid "return type specification for destructor invalid" msgstr "" -#: cp/decl.c:7464 +#: cp/decl.c:7467 #, gcc-internal-format msgid "return type specified for %" msgstr "" -#: cp/decl.c:7486 +#: cp/decl.c:7489 #, gcc-internal-format msgid "unnamed variable or field declared void" msgstr "" -#: cp/decl.c:7490 +#: cp/decl.c:7493 #, gcc-internal-format msgid "variable or field %qE declared void" msgstr "" -#: cp/decl.c:7493 +#: cp/decl.c:7496 #, gcc-internal-format msgid "variable or field declared void" msgstr "" -#: cp/decl.c:7663 +#: cp/decl.c:7669 #, gcc-internal-format msgid "invalid use of qualified-name %<::%D%>" msgstr "" -#: cp/decl.c:7666 +#: cp/decl.c:7672 #, gcc-internal-format msgid "invalid use of qualified-name %<%T::%D%>" msgstr "" -#: cp/decl.c:7669 +#: cp/decl.c:7675 #, gcc-internal-format msgid "invalid use of qualified-name %<%D::%D%>" msgstr "" -#: cp/decl.c:7681 +#: cp/decl.c:7687 #, gcc-internal-format msgid "type %qT is not derived from type %qT" msgstr "" -#: cp/decl.c:7697 cp/decl.c:7789 cp/decl.c:8979 +#: cp/decl.c:7703 cp/decl.c:7795 cp/decl.c:8993 #, gcc-internal-format msgid "declaration of %qD as non-function" msgstr "" -#: cp/decl.c:7703 +#: cp/decl.c:7709 #, gcc-internal-format msgid "declaration of %qD as non-member" msgstr "" -#: cp/decl.c:7734 +#: cp/decl.c:7740 #, gcc-internal-format msgid "declarator-id missing; using reserved word %qD" msgstr "" -#: cp/decl.c:7781 +#: cp/decl.c:7787 #, gcc-internal-format msgid "function definition does not declare parameters" msgstr "" -#: cp/decl.c:7823 +#: cp/decl.c:7829 #, gcc-internal-format msgid "two or more data types in declaration of %qs" msgstr "" -#: cp/decl.c:7829 +#: cp/decl.c:7835 #, gcc-internal-format msgid "conflicting specifiers in declaration of %qs" msgstr "" -#: cp/decl.c:7900 cp/decl.c:7903 cp/decl.c:7906 +#: cp/decl.c:7906 cp/decl.c:7909 cp/decl.c:7912 #, gcc-internal-format msgid "ISO C++ forbids declaration of %qs with no type" msgstr "" -#: cp/decl.c:7931 cp/decl.c:7949 +#: cp/decl.c:7937 cp/decl.c:7955 #, gcc-internal-format msgid "% or % invalid for %qs" msgstr "" -#: cp/decl.c:7933 +#: cp/decl.c:7939 #, gcc-internal-format msgid "% and % specified together for %qs" msgstr "" -#: cp/decl.c:7935 +#: cp/decl.c:7941 #, gcc-internal-format msgid "% invalid for %qs" msgstr "" -#: cp/decl.c:7937 +#: cp/decl.c:7943 #, gcc-internal-format msgid "% invalid for %qs" msgstr "" -#: cp/decl.c:7939 +#: cp/decl.c:7945 #, gcc-internal-format msgid "% invalid for %qs" msgstr "" -#: cp/decl.c:7941 +#: cp/decl.c:7947 #, gcc-internal-format msgid "% or % invalid for %qs" msgstr "" -#: cp/decl.c:7943 +#: cp/decl.c:7949 #, gcc-internal-format msgid "% or % specified with char for %qs" msgstr "" -#: cp/decl.c:7945 +#: cp/decl.c:7951 #, gcc-internal-format msgid "% and % specified together for %qs" msgstr "" -#: cp/decl.c:7951 +#: cp/decl.c:7957 #, gcc-internal-format msgid "% or % invalid for %qs" msgstr "" -#: cp/decl.c:7959 +#: cp/decl.c:7965 #, gcc-internal-format msgid "long, short, signed or unsigned used invalidly for %qs" msgstr "" -#: cp/decl.c:8023 +#: cp/decl.c:8029 #, gcc-internal-format msgid "complex invalid for %qs" msgstr "" -#: cp/decl.c:8052 +#: cp/decl.c:8058 #, gcc-internal-format msgid "qualifiers are not allowed on declaration of %" msgstr "" -#: cp/decl.c:8065 cp/typeck.c:7252 +#: cp/decl.c:8071 cp/typeck.c:7255 #, gcc-internal-format msgid "ignoring %qV qualifiers added to function type %qT" msgstr "" -#: cp/decl.c:8088 +#: cp/decl.c:8094 #, gcc-internal-format msgid "member %qD cannot be declared both virtual and static" msgstr "" -#: cp/decl.c:8096 +#: cp/decl.c:8102 #, gcc-internal-format msgid "%<%T::%D%> is not a valid declarator" msgstr "" -#: cp/decl.c:8105 +#: cp/decl.c:8111 #, gcc-internal-format msgid "typedef declaration invalid in parameter declaration" msgstr "" -#: cp/decl.c:8111 +#: cp/decl.c:8117 #, gcc-internal-format msgid "storage class specifiers invalid in parameter declarations" msgstr "" -#: cp/decl.c:8115 +#: cp/decl.c:8121 #, gcc-internal-format msgid "parameter declared %" msgstr "" -#: cp/decl.c:8124 +#: cp/decl.c:8130 #, gcc-internal-format msgid "% outside class declaration" msgstr "" -#: cp/decl.c:8142 +#: cp/decl.c:8148 #, gcc-internal-format msgid "multiple storage classes in declaration of %qs" msgstr "" -#: cp/decl.c:8165 +#: cp/decl.c:8171 #, gcc-internal-format msgid "storage class specified for %qs" msgstr "" -#: cp/decl.c:8186 +#: cp/decl.c:8192 #, gcc-internal-format msgid "top-level declaration of %qs specifies %" msgstr "" -#: cp/decl.c:8199 +#: cp/decl.c:8205 #, gcc-internal-format msgid "storage class specifiers invalid in friend function declarations" msgstr "" -#: cp/decl.c:8314 +#: cp/decl.c:8320 #, gcc-internal-format msgid "%qs function uses % type specifier without late return type" msgstr "" -#: cp/decl.c:8320 +#: cp/decl.c:8326 #, gcc-internal-format msgid "" "%qs function with late return type has %qT as its type rather than plain %" "" msgstr "" -#: cp/decl.c:8328 +#: cp/decl.c:8334 #, gcc-internal-format msgid "" "%qs function with late return type not declared with % type specifier" msgstr "" -#: cp/decl.c:8361 +#: cp/decl.c:8367 #, gcc-internal-format msgid "destructor cannot be static member function" msgstr "" -#: cp/decl.c:8366 +#: cp/decl.c:8372 #, gcc-internal-format msgid "destructors may not be cv-qualified" msgstr "" -#: cp/decl.c:8384 +#: cp/decl.c:8390 #, gcc-internal-format msgid "constructors cannot be declared virtual" msgstr "" -#: cp/decl.c:8397 +#: cp/decl.c:8403 #, gcc-internal-format msgid "can't initialize friend function %qs" msgstr "" #. Cannot be both friend and virtual. -#: cp/decl.c:8401 +#: cp/decl.c:8407 #, gcc-internal-format msgid "virtual functions cannot be friends" msgstr "" -#: cp/decl.c:8405 +#: cp/decl.c:8411 #, gcc-internal-format msgid "friend declaration not in class definition" msgstr "" -#: cp/decl.c:8407 +#: cp/decl.c:8413 #, gcc-internal-format msgid "can't define friend function %qs in a local class definition" msgstr "" -#: cp/decl.c:8420 +#: cp/decl.c:8426 #, gcc-internal-format msgid "destructors may not have parameters" msgstr "" -#: cp/decl.c:8439 +#: cp/decl.c:8445 #, gcc-internal-format msgid "cannot declare pointer to %q#T" msgstr "" -#: cp/decl.c:8452 cp/decl.c:8459 +#: cp/decl.c:8458 cp/decl.c:8465 #, gcc-internal-format msgid "cannot declare reference to %q#T" msgstr "" -#: cp/decl.c:8461 +#: cp/decl.c:8467 #, gcc-internal-format msgid "cannot declare pointer to %q#T member" msgstr "" -#: cp/decl.c:8512 +#: cp/decl.c:8487 +#, gcc-internal-format +msgid "cannot declare %s to qualified function type %qT" +msgstr "" + +#: cp/decl.c:8524 #, gcc-internal-format msgid "" "cannot declare reference to %q#T, which is not a typedef or a template type " "argument" msgstr "" -#: cp/decl.c:8556 +#: cp/decl.c:8568 #, gcc-internal-format msgid "template-id %qD used as a declarator" msgstr "" -#: cp/decl.c:8607 +#: cp/decl.c:8619 #, gcc-internal-format msgid "member functions are implicitly friends of their class" msgstr "" -#: cp/decl.c:8612 +#: cp/decl.c:8624 #, gcc-internal-format msgid "extra qualification %<%T::%> on member %qs" msgstr "" -#: cp/decl.c:8644 +#: cp/decl.c:8656 #, gcc-internal-format msgid "cannot define member function %<%T::%s%> within %<%T%>" msgstr "" -#: cp/decl.c:8661 +#: cp/decl.c:8673 #, gcc-internal-format msgid "cannot declare member %<%T::%s%> within %qT" msgstr "" -#: cp/decl.c:8684 +#: cp/decl.c:8696 #, gcc-internal-format msgid "non-parameter %qs cannot be a parameter pack" msgstr "" -#: cp/decl.c:8705 +#: cp/decl.c:8717 #, gcc-internal-format msgid "data member may not have variably modified type %qT" msgstr "" -#: cp/decl.c:8707 +#: cp/decl.c:8719 #, gcc-internal-format msgid "parameter may not have variably modified type %qT" msgstr "" #. [dcl.fct.spec] The explicit specifier shall only be used in #. declarations of constructors within a class definition. -#: cp/decl.c:8715 +#: cp/decl.c:8727 #, gcc-internal-format msgid "only declarations of constructors can be %" msgstr "" -#: cp/decl.c:8723 +#: cp/decl.c:8735 #, gcc-internal-format msgid "non-member %qs cannot be declared %" msgstr "" -#: cp/decl.c:8728 +#: cp/decl.c:8740 #, gcc-internal-format msgid "non-object member %qs cannot be declared %" msgstr "" -#: cp/decl.c:8734 +#: cp/decl.c:8746 #, gcc-internal-format msgid "function %qs cannot be declared %" msgstr "" -#: cp/decl.c:8739 +#: cp/decl.c:8751 #, gcc-internal-format msgid "static %qs cannot be declared %" msgstr "" -#: cp/decl.c:8744 +#: cp/decl.c:8756 #, gcc-internal-format msgid "const %qs cannot be declared %" msgstr "" -#: cp/decl.c:8781 +#: cp/decl.c:8793 #, gcc-internal-format msgid "%Jtypedef name may not be a nested-name-specifier" msgstr "" -#: cp/decl.c:8799 +#: cp/decl.c:8811 #, gcc-internal-format msgid "ISO C++ forbids nested type %qD with same name as enclosing class" msgstr "" -#: cp/decl.c:8883 +#: cp/decl.c:8895 #, gcc-internal-format msgid "" "qualified function types cannot be used to declare static member functions" msgstr "" -#: cp/decl.c:8885 +#: cp/decl.c:8897 #, gcc-internal-format msgid "qualified function types cannot be used to declare free functions" msgstr "" -#: cp/decl.c:8911 +#: cp/decl.c:8923 #, gcc-internal-format msgid "type qualifiers specified for friend class declaration" msgstr "" -#: cp/decl.c:8916 +#: cp/decl.c:8928 #, gcc-internal-format msgid "% specified for friend class declaration" msgstr "" -#: cp/decl.c:8924 +#: cp/decl.c:8936 #, gcc-internal-format msgid "template parameters cannot be friends" msgstr "" -#: cp/decl.c:8926 +#: cp/decl.c:8938 #, gcc-internal-format msgid "friend declaration requires class-key, i.e. %" msgstr "" -#: cp/decl.c:8930 +#: cp/decl.c:8942 #, gcc-internal-format msgid "friend declaration requires class-key, i.e. %" msgstr "" -#: cp/decl.c:8943 +#: cp/decl.c:8955 #, gcc-internal-format msgid "trying to make class %qT a friend of global scope" msgstr "" -#: cp/decl.c:8954 +#: cp/decl.c:8973 #, gcc-internal-format msgid "invalid qualifiers on non-member function type" msgstr "" -#: cp/decl.c:8969 +#: cp/decl.c:8983 #, gcc-internal-format msgid "abstract declarator %qT used as declaration" msgstr "" -#: cp/decl.c:8998 +#: cp/decl.c:9012 #, gcc-internal-format msgid "cannot use %<::%> in parameter declaration" msgstr "" #. Something like struct S { int N::j; }; -#: cp/decl.c:9044 +#: cp/decl.c:9058 #, gcc-internal-format msgid "invalid use of %<::%>" msgstr "" -#: cp/decl.c:9059 +#: cp/decl.c:9073 #, gcc-internal-format msgid "can't make %qD into a method -- not in a class" msgstr "" -#: cp/decl.c:9068 +#: cp/decl.c:9082 #, gcc-internal-format msgid "function %qD declared virtual inside a union" msgstr "" -#: cp/decl.c:9077 +#: cp/decl.c:9091 #, gcc-internal-format msgid "%qD cannot be declared virtual, since it is always static" msgstr "" -#: cp/decl.c:9095 +#: cp/decl.c:9109 #, gcc-internal-format msgid "expected qualified name in friend declaration for destructor %qD" msgstr "" -#: cp/decl.c:9102 +#: cp/decl.c:9116 #, gcc-internal-format msgid "declaration of %qD as member of %qT" msgstr "" -#: cp/decl.c:9109 +#: cp/decl.c:9123 #, gcc-internal-format msgid "expected qualified name in friend declaration for constructor %qD" msgstr "" -#: cp/decl.c:9172 +#: cp/decl.c:9186 #, gcc-internal-format msgid "field %qD has incomplete type" msgstr "" -#: cp/decl.c:9174 +#: cp/decl.c:9188 #, gcc-internal-format msgid "name %qT has incomplete type" msgstr "" -#: cp/decl.c:9183 +#: cp/decl.c:9197 #, gcc-internal-format msgid " in instantiation of template %qT" msgstr "" -#: cp/decl.c:9192 +#: cp/decl.c:9206 #, gcc-internal-format msgid "%qE is neither function nor member function; cannot be declared friend" msgstr "" @@ -30465,117 +30519,117 @@ #. the rest of the compiler does not correctly #. handle the initialization unless the member is #. static so we make it static below. -#: cp/decl.c:9244 +#: cp/decl.c:9258 #, gcc-internal-format msgid "ISO C++ forbids initialization of member %qD" msgstr "" -#: cp/decl.c:9246 +#: cp/decl.c:9260 #, gcc-internal-format msgid "making %qD static" msgstr "" -#: cp/decl.c:9311 +#: cp/decl.c:9325 #, gcc-internal-format msgid "storage class % invalid for function %qs" msgstr "" -#: cp/decl.c:9313 +#: cp/decl.c:9327 #, gcc-internal-format msgid "storage class % invalid for function %qs" msgstr "" -#: cp/decl.c:9315 +#: cp/decl.c:9329 #, gcc-internal-format msgid "storage class %<__thread%> invalid for function %qs" msgstr "" -#: cp/decl.c:9327 +#: cp/decl.c:9341 #, gcc-internal-format msgid "" "% specified invalid for function %qs declared out of global scope" msgstr "" -#: cp/decl.c:9331 +#: cp/decl.c:9345 #, gcc-internal-format msgid "" "% specifier invalid for function %qs declared out of global scope" msgstr "" -#: cp/decl.c:9338 +#: cp/decl.c:9352 #, gcc-internal-format msgid "%q#T is not a class or a namespace" msgstr "" -#: cp/decl.c:9346 +#: cp/decl.c:9360 #, gcc-internal-format msgid "virtual non-class function %qs" msgstr "" -#: cp/decl.c:9353 +#: cp/decl.c:9367 #, gcc-internal-format msgid "%qs defined in a non-class scope" msgstr "" -#: cp/decl.c:9386 +#: cp/decl.c:9400 #, gcc-internal-format msgid "cannot declare member function %qD to have static linkage" msgstr "" #. FIXME need arm citation -#: cp/decl.c:9393 +#: cp/decl.c:9407 #, gcc-internal-format msgid "cannot declare static function inside another function" msgstr "" -#: cp/decl.c:9423 +#: cp/decl.c:9437 #, gcc-internal-format msgid "" "% may not be used when defining (as opposed to declaring) a static " "data member" msgstr "" -#: cp/decl.c:9430 +#: cp/decl.c:9444 #, gcc-internal-format msgid "static member %qD declared %" msgstr "" -#: cp/decl.c:9436 +#: cp/decl.c:9450 #, gcc-internal-format msgid "cannot explicitly declare member %q#D to have extern linkage" msgstr "" -#: cp/decl.c:9580 +#: cp/decl.c:9594 #, gcc-internal-format msgid "default argument for %q#D has type %qT" msgstr "" -#: cp/decl.c:9583 +#: cp/decl.c:9597 #, gcc-internal-format msgid "default argument for parameter of type %qT has type %qT" msgstr "" -#: cp/decl.c:9599 +#: cp/decl.c:9613 #, gcc-internal-format msgid "default argument %qE uses local variable %qD" msgstr "" -#: cp/decl.c:9682 +#: cp/decl.c:9696 #, gcc-internal-format msgid "parameter %qD has Java class type" msgstr "" -#: cp/decl.c:9702 +#: cp/decl.c:9716 #, gcc-internal-format msgid "parameter %qD invalidly declared method type" msgstr "" -#: cp/decl.c:9726 +#: cp/decl.c:9740 #, gcc-internal-format msgid "parameter %qD includes %s to array of unknown bound %qT" msgstr "" -#: cp/decl.c:9741 +#: cp/decl.c:9755 #, gcc-internal-format msgid "parameter packs must be at the end of the parameter list" msgstr "" @@ -30595,139 +30649,139 @@ #. or implicitly defined), there's no need to worry about their #. existence. Theoretically, they should never even be #. instantiated, but that's hard to forestall. -#: cp/decl.c:9964 +#: cp/decl.c:9978 #, gcc-internal-format msgid "invalid constructor; you probably meant %<%T (const %T&)%>" msgstr "" -#: cp/decl.c:10086 +#: cp/decl.c:10100 #, gcc-internal-format msgid "%qD may not be declared within a namespace" msgstr "" -#: cp/decl.c:10091 +#: cp/decl.c:10105 #, gcc-internal-format msgid "%qD may not be declared as static" msgstr "" -#: cp/decl.c:10117 +#: cp/decl.c:10131 #, gcc-internal-format msgid "%qD must be a nonstatic member function" msgstr "" -#: cp/decl.c:10126 +#: cp/decl.c:10140 #, gcc-internal-format msgid "" "%qD must be either a non-static member function or a non-member function" msgstr "" -#: cp/decl.c:10148 +#: cp/decl.c:10162 #, gcc-internal-format msgid "%qD must have an argument of class or enumerated type" msgstr "" -#: cp/decl.c:10189 +#: cp/decl.c:10203 #, gcc-internal-format msgid "conversion to %s%s will never use a type conversion operator" msgstr "" #. 13.4.0.3 -#: cp/decl.c:10197 +#: cp/decl.c:10211 #, gcc-internal-format msgid "ISO C++ prohibits overloading operator ?:" msgstr "" -#: cp/decl.c:10202 +#: cp/decl.c:10216 #, gcc-internal-format msgid "%qD must not have variable number of arguments" msgstr "" -#: cp/decl.c:10253 +#: cp/decl.c:10267 #, gcc-internal-format msgid "postfix %qD must take % as its argument" msgstr "" -#: cp/decl.c:10256 +#: cp/decl.c:10270 #, gcc-internal-format msgid "postfix %qD must take % as its second argument" msgstr "" -#: cp/decl.c:10264 +#: cp/decl.c:10278 #, gcc-internal-format msgid "%qD must take either zero or one argument" msgstr "" -#: cp/decl.c:10266 +#: cp/decl.c:10280 #, gcc-internal-format msgid "%qD must take either one or two arguments" msgstr "" -#: cp/decl.c:10288 +#: cp/decl.c:10302 #, gcc-internal-format msgid "prefix %qD should return %qT" msgstr "" -#: cp/decl.c:10294 +#: cp/decl.c:10308 #, gcc-internal-format msgid "postfix %qD should return %qT" msgstr "" -#: cp/decl.c:10303 +#: cp/decl.c:10317 #, gcc-internal-format msgid "%qD must take %" msgstr "" -#: cp/decl.c:10305 cp/decl.c:10314 +#: cp/decl.c:10319 cp/decl.c:10328 #, gcc-internal-format msgid "%qD must take exactly one argument" msgstr "" -#: cp/decl.c:10316 +#: cp/decl.c:10330 #, gcc-internal-format msgid "%qD must take exactly two arguments" msgstr "" -#: cp/decl.c:10325 +#: cp/decl.c:10339 #, gcc-internal-format msgid "user-defined %qD always evaluates both arguments" msgstr "" -#: cp/decl.c:10339 +#: cp/decl.c:10353 #, gcc-internal-format msgid "%qD should return by value" msgstr "" -#: cp/decl.c:10350 cp/decl.c:10355 +#: cp/decl.c:10364 cp/decl.c:10369 #, gcc-internal-format msgid "%qD cannot have default arguments" msgstr "" -#: cp/decl.c:10413 +#: cp/decl.c:10427 #, gcc-internal-format msgid "using template type parameter %qT after %qs" msgstr "" -#: cp/decl.c:10428 +#: cp/decl.c:10442 #, gcc-internal-format msgid "using typedef-name %qD after %qs" msgstr "" -#: cp/decl.c:10429 +#: cp/decl.c:10443 #, gcc-internal-format msgid "%q+D has a previous declaration here" msgstr "" -#: cp/decl.c:10437 +#: cp/decl.c:10451 #, gcc-internal-format msgid "%qT referred to as %qs" msgstr "" -#: cp/decl.c:10438 cp/decl.c:10445 +#: cp/decl.c:10452 cp/decl.c:10459 #, gcc-internal-format msgid "%q+T has a previous declaration here" msgstr "" -#: cp/decl.c:10444 +#: cp/decl.c:10458 #, gcc-internal-format msgid "%qT referred to as enum" msgstr "" @@ -30739,77 +30793,77 @@ #. void f(class C); // No template header here #. #. then the required template argument is missing. -#: cp/decl.c:10459 +#: cp/decl.c:10473 #, gcc-internal-format msgid "template argument required for %<%s %T%>" msgstr "" -#: cp/decl.c:10507 cp/name-lookup.c:2800 +#: cp/decl.c:10521 cp/name-lookup.c:2802 #, gcc-internal-format msgid "%qD has the same name as the class in which it is declared" msgstr "" -#: cp/decl.c:10537 cp/name-lookup.c:2308 +#: cp/decl.c:10551 cp/name-lookup.c:2310 #, gcc-internal-format msgid "reference to %qD is ambiguous" msgstr "" -#: cp/decl.c:10651 +#: cp/decl.c:10665 #, gcc-internal-format msgid "use of enum %q#D without previous declaration" msgstr "" -#: cp/decl.c:10672 +#: cp/decl.c:10686 #, gcc-internal-format msgid "redeclaration of %qT as a non-template" msgstr "" -#: cp/decl.c:10673 +#: cp/decl.c:10687 #, gcc-internal-format msgid "previous declaration %q+D" msgstr "" -#: cp/decl.c:10784 +#: cp/decl.c:10798 #, gcc-internal-format msgid "derived union %qT invalid" msgstr "" -#: cp/decl.c:10793 +#: cp/decl.c:10807 #, gcc-internal-format msgid "Java class %qT cannot have multiple bases" msgstr "" -#: cp/decl.c:10804 +#: cp/decl.c:10818 #, gcc-internal-format msgid "Java class %qT cannot have virtual bases" msgstr "" -#: cp/decl.c:10824 +#: cp/decl.c:10838 #, gcc-internal-format msgid "base type %qT fails to be a struct or class type" msgstr "" -#: cp/decl.c:10857 +#: cp/decl.c:10871 #, gcc-internal-format msgid "recursive type %qT undefined" msgstr "" -#: cp/decl.c:10859 +#: cp/decl.c:10873 #, gcc-internal-format msgid "duplicate base type %qT invalid" msgstr "" -#: cp/decl.c:10943 +#: cp/decl.c:10957 #, gcc-internal-format msgid "multiple definition of %q#T" msgstr "" -#: cp/decl.c:10944 +#: cp/decl.c:10958 #, gcc-internal-format msgid "%Jprevious definition here" msgstr "" -#: cp/decl.c:10991 +#: cp/decl.c:11005 #, gcc-internal-format msgid "underlying type %<%T%> of %<%T%> must be an integral type" msgstr "" @@ -30818,62 +30872,62 @@ #. #. IF no integral type can represent all the enumerator values, the #. enumeration is ill-formed. -#: cp/decl.c:11123 +#: cp/decl.c:11137 #, gcc-internal-format msgid "no integral type can represent all of the enumerator values for %qT" msgstr "" -#: cp/decl.c:11254 +#: cp/decl.c:11268 #, gcc-internal-format msgid "enumerator value for %qD is not an integer constant" msgstr "" -#: cp/decl.c:11286 +#: cp/decl.c:11300 #, gcc-internal-format msgid "overflow in enumeration values at %qD" msgstr "" -#: cp/decl.c:11306 +#: cp/decl.c:11320 #, gcc-internal-format msgid "enumerator value %E is too large for underlying type %<%T%>" msgstr "" -#: cp/decl.c:11403 +#: cp/decl.c:11417 #, gcc-internal-format msgid "return type %q#T is incomplete" msgstr "" -#: cp/decl.c:11405 +#: cp/decl.c:11419 #, gcc-internal-format msgid "return type has Java class type %q#T" msgstr "" -#: cp/decl.c:11530 cp/typeck.c:6939 +#: cp/decl.c:11544 cp/typeck.c:6939 #, gcc-internal-format msgid "% should return a reference to %<*this%>" msgstr "" -#: cp/decl.c:11845 +#: cp/decl.c:11859 #, gcc-internal-format msgid "invalid function declaration" msgstr "" -#: cp/decl.c:11929 +#: cp/decl.c:11943 #, gcc-internal-format msgid "parameter %qD declared void" msgstr "" -#: cp/decl.c:12430 +#: cp/decl.c:12444 #, gcc-internal-format msgid "invalid member function declaration" msgstr "" -#: cp/decl.c:12445 +#: cp/decl.c:12459 #, gcc-internal-format msgid "%qD is already defined in class %qT" msgstr "" -#: cp/decl.c:12692 +#: cp/decl.c:12706 #, gcc-internal-format msgid "static member function %q#D declared with type qualifiers" msgstr "" @@ -31093,7 +31147,7 @@ #. We really want to suppress this warning in system headers, #. because libstdc++ uses variadic templates even when we aren't #. in C++0x mode. -#: cp/error.c:2710 +#: cp/error.c:2711 #, gcc-internal-format msgid "%s only available with -std=c++0x or -std=gnu++0x" msgstr "" @@ -31361,7 +31415,7 @@ msgid "bad array initializer" msgstr "" -#: cp/init.c:1441 cp/semantics.c:2496 +#: cp/init.c:1441 cp/semantics.c:2503 #, gcc-internal-format msgid "%qT is not a class type" msgstr "" @@ -31547,22 +31601,22 @@ msgid "mangling unknown fixed point type" msgstr "" -#: cp/mangle.c:2338 +#: cp/mangle.c:2332 #, gcc-internal-format msgid "mangling %C" msgstr "" -#: cp/mangle.c:2375 +#: cp/mangle.c:2387 #, gcc-internal-format msgid "mangling new-expression" msgstr "" -#: cp/mangle.c:2395 +#: cp/mangle.c:2407 #, gcc-internal-format msgid "omitted middle operand to % operand cannot be mangled" msgstr "" -#: cp/mangle.c:2710 +#: cp/mangle.c:2722 #, gcc-internal-format msgid "the mangled name of %qD will change in a future version of GCC" msgstr "" @@ -31645,220 +31699,220 @@ msgid "global declaration %q+#D" msgstr "" -#: cp/name-lookup.c:1030 cp/name-lookup.c:1040 +#: cp/name-lookup.c:1035 cp/name-lookup.c:1042 #, gcc-internal-format msgid "declaration of %q#D shadows a parameter" msgstr "" #. Location of previous decl is not useful in this case. -#: cp/name-lookup.c:1065 +#: cp/name-lookup.c:1067 #, gcc-internal-format msgid "declaration of %qD shadows a member of 'this'" msgstr "" -#: cp/name-lookup.c:1071 +#: cp/name-lookup.c:1073 #, gcc-internal-format msgid "declaration of %qD shadows a previous local" msgstr "" -#: cp/name-lookup.c:1078 +#: cp/name-lookup.c:1080 #, gcc-internal-format msgid "declaration of %qD shadows a global declaration" msgstr "" -#: cp/name-lookup.c:1201 +#: cp/name-lookup.c:1203 #, gcc-internal-format msgid "name lookup of %qD changed" msgstr "" -#: cp/name-lookup.c:1202 +#: cp/name-lookup.c:1204 #, gcc-internal-format msgid " matches this %q+D under ISO standard rules" msgstr "" -#: cp/name-lookup.c:1204 +#: cp/name-lookup.c:1206 #, gcc-internal-format msgid " matches this %q+D under old rules" msgstr "" -#: cp/name-lookup.c:1222 cp/name-lookup.c:1230 +#: cp/name-lookup.c:1224 cp/name-lookup.c:1232 #, gcc-internal-format msgid "name lookup of %qD changed for ISO % scoping" msgstr "" -#: cp/name-lookup.c:1224 +#: cp/name-lookup.c:1226 #, gcc-internal-format msgid " cannot use obsolete binding at %q+D because it has a destructor" msgstr "" -#: cp/name-lookup.c:1233 +#: cp/name-lookup.c:1235 #, gcc-internal-format msgid " using obsolete binding at %q+D" msgstr "" -#: cp/name-lookup.c:1239 cp/parser.c:10154 +#: cp/name-lookup.c:1241 cp/parser.c:10159 #, gcc-internal-format msgid "(if you use %<-fpermissive%> G++ will accept your code)" msgstr "" -#: cp/name-lookup.c:1295 +#: cp/name-lookup.c:1297 #, gcc-internal-format msgid "%s %s(%E) %p %d\n" msgstr "" -#: cp/name-lookup.c:1298 +#: cp/name-lookup.c:1300 #, gcc-internal-format msgid "%s %s %p %d\n" msgstr "" -#: cp/name-lookup.c:1426 +#: cp/name-lookup.c:1428 #, gcc-internal-format msgid "XXX is_class_level != (current_scope == class_scope)\n" msgstr "" -#: cp/name-lookup.c:2021 +#: cp/name-lookup.c:2023 #, gcc-internal-format msgid "%q#D hides constructor for %q#T" msgstr "" -#: cp/name-lookup.c:2038 +#: cp/name-lookup.c:2040 #, gcc-internal-format msgid "%q#D conflicts with previous using declaration %q#D" msgstr "" -#: cp/name-lookup.c:2061 +#: cp/name-lookup.c:2063 #, gcc-internal-format msgid "previous non-function declaration %q+#D" msgstr "" -#: cp/name-lookup.c:2062 +#: cp/name-lookup.c:2064 #, gcc-internal-format msgid "conflicts with function declaration %q#D" msgstr "" #. It's a nested name with template parameter dependent scope. #. This can only be using-declaration for class member. -#: cp/name-lookup.c:2140 cp/name-lookup.c:2165 +#: cp/name-lookup.c:2142 cp/name-lookup.c:2167 #, gcc-internal-format msgid "%qT is not a namespace" msgstr "" #. 7.3.3/5 #. A using-declaration shall not name a template-id. -#: cp/name-lookup.c:2150 +#: cp/name-lookup.c:2152 #, gcc-internal-format msgid "a using-declaration cannot specify a template-id. Try %" msgstr "" -#: cp/name-lookup.c:2157 +#: cp/name-lookup.c:2159 #, gcc-internal-format msgid "namespace %qD not allowed in using-declaration" msgstr "" -#: cp/name-lookup.c:2193 +#: cp/name-lookup.c:2195 #, gcc-internal-format msgid "%qD not declared" msgstr "" -#: cp/name-lookup.c:2229 cp/name-lookup.c:2266 cp/name-lookup.c:2300 -#: cp/name-lookup.c:2315 +#: cp/name-lookup.c:2231 cp/name-lookup.c:2268 cp/name-lookup.c:2302 +#: cp/name-lookup.c:2317 #, gcc-internal-format msgid "%qD is already declared in this scope" msgstr "" -#: cp/name-lookup.c:2919 +#: cp/name-lookup.c:2921 #, gcc-internal-format msgid "using-declaration for non-member at class scope" msgstr "" -#: cp/name-lookup.c:2926 +#: cp/name-lookup.c:2928 #, gcc-internal-format msgid "%<%T::%D%> names destructor" msgstr "" -#: cp/name-lookup.c:2931 +#: cp/name-lookup.c:2933 #, gcc-internal-format msgid "%<%T::%D%> names constructor" msgstr "" -#: cp/name-lookup.c:2936 +#: cp/name-lookup.c:2938 #, gcc-internal-format msgid "%<%T::%D%> names constructor in %qT" msgstr "" -#: cp/name-lookup.c:2986 +#: cp/name-lookup.c:2988 #, gcc-internal-format msgid "no members matching %<%T::%D%> in %q#T" msgstr "" -#: cp/name-lookup.c:3054 +#: cp/name-lookup.c:3056 #, gcc-internal-format msgid "declaration of %qD not in a namespace surrounding %qD" msgstr "" -#: cp/name-lookup.c:3062 +#: cp/name-lookup.c:3064 #, gcc-internal-format msgid "explicit qualification in declaration of %qD" msgstr "" -#: cp/name-lookup.c:3105 +#: cp/name-lookup.c:3107 #, gcc-internal-format msgid "%qD should have been declared inside %qD" msgstr "" -#: cp/name-lookup.c:3150 +#: cp/name-lookup.c:3152 #, gcc-internal-format msgid "%qD attribute requires a single NTBS argument" msgstr "" -#: cp/name-lookup.c:3157 +#: cp/name-lookup.c:3159 #, gcc-internal-format msgid "" "%qD attribute is meaningless since members of the anonymous namespace get " "local symbols" msgstr "" -#: cp/name-lookup.c:3166 cp/name-lookup.c:3536 +#: cp/name-lookup.c:3168 cp/name-lookup.c:3538 #, gcc-internal-format msgid "%qD attribute directive ignored" msgstr "" -#: cp/name-lookup.c:3211 +#: cp/name-lookup.c:3213 #, gcc-internal-format msgid "namespace alias %qD not allowed here, assuming %qD" msgstr "" -#: cp/name-lookup.c:3524 +#: cp/name-lookup.c:3526 #, gcc-internal-format msgid "strong using only meaningful at namespace scope" msgstr "" -#: cp/name-lookup.c:3528 +#: cp/name-lookup.c:3530 #, gcc-internal-format msgid "current namespace %qD does not enclose strongly used namespace %qD" msgstr "" -#: cp/name-lookup.c:4466 +#: cp/name-lookup.c:4467 #, gcc-internal-format msgid "%q+D is not a function," msgstr "" -#: cp/name-lookup.c:4467 +#: cp/name-lookup.c:4468 #, gcc-internal-format msgid " conflict with %q+D" msgstr "" -#: cp/name-lookup.c:4912 +#: cp/name-lookup.c:4913 #, gcc-internal-format msgid "argument dependent lookup finds %q+D" msgstr "" -#: cp/name-lookup.c:5353 +#: cp/name-lookup.c:5354 #, gcc-internal-format msgid "XXX entering pop_everything ()\n" msgstr "" -#: cp/name-lookup.c:5362 +#: cp/name-lookup.c:5363 #, gcc-internal-format msgid "XXX leaving pop_everything ()\n" msgstr "" @@ -31868,334 +31922,334 @@ msgid "identifier %<%s%> will become a keyword in C++0x" msgstr "" -#: cp/parser.c:2080 +#: cp/parser.c:2084 #, gcc-internal-format msgid "%H%<#pragma%> is not allowed here" msgstr "" -#: cp/parser.c:2111 +#: cp/parser.c:2115 #, gcc-internal-format msgid "%H%<%E::%E%> has not been declared" msgstr "" -#: cp/parser.c:2114 +#: cp/parser.c:2118 #, gcc-internal-format msgid "%H%<::%E%> has not been declared" msgstr "" -#: cp/parser.c:2117 +#: cp/parser.c:2121 #, gcc-internal-format msgid "%Hrequest for member %qE in non-class type %qT" msgstr "" -#: cp/parser.c:2120 +#: cp/parser.c:2124 #, gcc-internal-format msgid "%H%<%T::%E%> has not been declared" msgstr "" -#: cp/parser.c:2123 +#: cp/parser.c:2127 #, gcc-internal-format msgid "%H%qE has not been declared" msgstr "" -#: cp/parser.c:2126 +#: cp/parser.c:2130 #, gcc-internal-format msgid "%H%<%E::%E%> %s" msgstr "" -#: cp/parser.c:2128 +#: cp/parser.c:2132 #, gcc-internal-format msgid "%H%<::%E%> %s" msgstr "" -#: cp/parser.c:2130 +#: cp/parser.c:2134 #, gcc-internal-format msgid "%H%qE %s" msgstr "" -#: cp/parser.c:2165 +#: cp/parser.c:2169 #, gcc-internal-format msgid "%H% is too long for GCC" msgstr "" -#: cp/parser.c:2169 +#: cp/parser.c:2173 #, gcc-internal-format msgid "ISO C++ 1998 does not support %" msgstr "" -#: cp/parser.c:2189 +#: cp/parser.c:2193 #, gcc-internal-format msgid "%Hduplicate %qs" msgstr "" -#: cp/parser.c:2233 +#: cp/parser.c:2237 #, gcc-internal-format msgid "%Hnew types may not be defined in a return type" msgstr "" -#: cp/parser.c:2235 +#: cp/parser.c:2239 #, gcc-internal-format msgid "(perhaps a semicolon is missing after the definition of %qT)" msgstr "" -#: cp/parser.c:2255 +#: cp/parser.c:2259 #, gcc-internal-format msgid "%H%qT is not a template" msgstr "" -#: cp/parser.c:2257 +#: cp/parser.c:2261 #, gcc-internal-format msgid "%H%qE is not a template" msgstr "" -#: cp/parser.c:2259 +#: cp/parser.c:2263 #, gcc-internal-format msgid "%Hinvalid template-id" msgstr "" -#: cp/parser.c:2321 +#: cp/parser.c:2325 #, gcc-internal-format msgid "%Hinvalid use of template-name %qE without an argument list" msgstr "" -#: cp/parser.c:2324 +#: cp/parser.c:2328 #, gcc-internal-format msgid "%Hinvalid use of destructor %qD as a type" msgstr "" #. Something like 'unsigned A a;' -#: cp/parser.c:2327 +#: cp/parser.c:2331 #, gcc-internal-format msgid "%Hinvalid combination of multiple type-specifiers" msgstr "" #. Issue an error message. -#: cp/parser.c:2332 +#: cp/parser.c:2336 #, gcc-internal-format msgid "%H%qE does not name a type" msgstr "" -#: cp/parser.c:2365 +#: cp/parser.c:2369 #, gcc-internal-format msgid "(perhaps % was intended)" msgstr "" -#: cp/parser.c:2380 +#: cp/parser.c:2384 #, gcc-internal-format msgid "%H%qE in namespace %qE does not name a type" msgstr "" -#: cp/parser.c:2383 +#: cp/parser.c:2387 #, gcc-internal-format msgid "%H%qE in class %qT does not name a type" msgstr "" -#: cp/parser.c:2945 +#: cp/parser.c:2951 #, gcc-internal-format msgid "%Hunsupported non-standard concatenation of string literals" msgstr "" -#: cp/parser.c:3148 +#: cp/parser.c:3154 #, gcc-internal-format msgid "%Hfixed-point types not supported in C++" msgstr "" -#: cp/parser.c:3229 +#: cp/parser.c:3235 #, gcc-internal-format msgid "ISO C++ forbids braced-groups within expressions" msgstr "" -#: cp/parser.c:3240 +#: cp/parser.c:3246 #, gcc-internal-format msgid "" "%Hstatement-expressions are not allowed outside functions nor in template-" "argument lists" msgstr "" -#: cp/parser.c:3299 +#: cp/parser.c:3305 #, gcc-internal-format msgid "%H% may not be used in this context" msgstr "" -#: cp/parser.c:3508 +#: cp/parser.c:3514 #, gcc-internal-format msgid "%Hlocal variable %qD may not appear in this context" msgstr "" -#: cp/parser.c:3808 +#: cp/parser.c:3814 #, gcc-internal-format msgid "%Hscope %qT before %<~%> is not a class-name" msgstr "" -#: cp/parser.c:3922 +#: cp/parser.c:3928 #, gcc-internal-format msgid "%Hdeclaration of %<~%T%> as member of %qT" msgstr "" -#: cp/parser.c:3936 +#: cp/parser.c:3942 #, gcc-internal-format msgid "%Htypedef-name %qD used as destructor declarator" msgstr "" -#: cp/parser.c:4150 +#: cp/parser.c:4156 #, gcc-internal-format msgid "%H%qD used without template parameters" msgstr "" -#: cp/parser.c:4154 cp/parser.c:14857 cp/parser.c:17154 +#: cp/parser.c:4160 cp/parser.c:14878 cp/parser.c:17175 #, gcc-internal-format msgid "%Hreference to %qD is ambiguous" msgstr "" -#: cp/parser.c:4200 cp/pt.c:5659 +#: cp/parser.c:4206 cp/pt.c:5659 #, gcc-internal-format msgid "%qT is not a template" msgstr "" #. Warn the user that a compound literal is not #. allowed in standard C++. -#: cp/parser.c:4624 +#: cp/parser.c:4630 #, gcc-internal-format msgid "ISO C++ forbids compound-literals" msgstr "" -#: cp/parser.c:4998 +#: cp/parser.c:5003 #, gcc-internal-format msgid "%H%qE does not have class type" msgstr "" -#: cp/parser.c:5082 +#: cp/parser.c:5087 #, gcc-internal-format msgid "%Hinvalid use of %qD" msgstr "" -#: cp/parser.c:5661 +#: cp/parser.c:5666 #, gcc-internal-format msgid "%Harray bound forbidden after parenthesized type-id" msgstr "" -#: cp/parser.c:5664 +#: cp/parser.c:5669 #, gcc-internal-format msgid "try removing the parentheses around the type-id" msgstr "" -#: cp/parser.c:5857 +#: cp/parser.c:5862 #, gcc-internal-format msgid "%Hexpression in new-declarator must have integral or enumeration type" msgstr "" -#: cp/parser.c:6113 +#: cp/parser.c:6118 #, gcc-internal-format msgid "use of old-style cast" msgstr "" -#: cp/parser.c:6244 +#: cp/parser.c:6249 #, gcc-internal-format msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x" msgstr "" -#: cp/parser.c:6247 +#: cp/parser.c:6252 #, gcc-internal-format msgid "suggest parentheses around %<>>%> expression" msgstr "" -#: cp/parser.c:7084 +#: cp/parser.c:7089 #, gcc-internal-format msgid "%Hcase label %qE not within a switch statement" msgstr "" -#: cp/parser.c:7096 +#: cp/parser.c:7101 #, gcc-internal-format msgid "%Hcase label not within a switch statement" msgstr "" -#: cp/parser.c:7214 +#: cp/parser.c:7219 #, gcc-internal-format msgid "%H% without a previous %" msgstr "" -#: cp/parser.c:7693 +#: cp/parser.c:7698 #, gcc-internal-format msgid "%Hbreak statement not within loop or switch" msgstr "" -#: cp/parser.c:7701 cp/parser.c:7721 +#: cp/parser.c:7706 cp/parser.c:7726 #, gcc-internal-format msgid "%Hinvalid exit from OpenMP structured block" msgstr "" -#: cp/parser.c:7704 +#: cp/parser.c:7709 #, gcc-internal-format msgid "%Hbreak statement used with OpenMP for loop" msgstr "" -#: cp/parser.c:7714 +#: cp/parser.c:7719 #, gcc-internal-format msgid "%Hcontinue statement not within a loop" msgstr "" #. Issue a warning about this use of a GNU extension. -#: cp/parser.c:7757 +#: cp/parser.c:7762 #, gcc-internal-format msgid "ISO C++ forbids computed gotos" msgstr "" -#: cp/parser.c:7901 cp/parser.c:15736 +#: cp/parser.c:7906 cp/parser.c:15757 #, gcc-internal-format msgid "extra %<;%>" msgstr "" -#: cp/parser.c:8122 +#: cp/parser.c:8127 #, gcc-internal-format msgid "%H%<__label__%> not at the beginning of a block" msgstr "" -#: cp/parser.c:8259 +#: cp/parser.c:8264 #, gcc-internal-format msgid "%Hmixing declarations and function-definitions is forbidden" msgstr "" -#: cp/parser.c:8399 +#: cp/parser.c:8404 #, gcc-internal-format msgid "%H% used outside of class" msgstr "" -#: cp/parser.c:8455 +#: cp/parser.c:8460 #, gcc-internal-format msgid "%H% will change meaning in C++0x; please remove it" msgstr "" -#: cp/parser.c:8574 +#: cp/parser.c:8579 #, gcc-internal-format msgid "%Hclass definition may not be declared a friend" msgstr "" -#: cp/parser.c:8644 cp/parser.c:16058 +#: cp/parser.c:8649 cp/parser.c:16079 #, gcc-internal-format msgid "%Htemplates may not be %" msgstr "" -#: cp/parser.c:9047 +#: cp/parser.c:9052 #, gcc-internal-format msgid "invalid use of % in conversion operator" msgstr "" -#: cp/parser.c:9131 +#: cp/parser.c:9136 #, gcc-internal-format msgid "%Honly constructors take base initializers" msgstr "" -#: cp/parser.c:9153 +#: cp/parser.c:9158 #, gcc-internal-format msgid "%Hcannot expand initializer for member %<%D%>" msgstr "" -#: cp/parser.c:9208 +#: cp/parser.c:9213 #, gcc-internal-format msgid "anachronistic old-style base class initializer" msgstr "" -#: cp/parser.c:9268 +#: cp/parser.c:9273 #, gcc-internal-format msgid "" "%Hkeyword % not allowed in this context (a qualified member " @@ -32203,92 +32257,92 @@ msgstr "" #. Warn that we do not support `export'. -#: cp/parser.c:9614 +#: cp/parser.c:9619 #, gcc-internal-format msgid "keyword % not implemented, and will be ignored" msgstr "" -#: cp/parser.c:9796 cp/parser.c:9894 cp/parser.c:10000 +#: cp/parser.c:9801 cp/parser.c:9899 cp/parser.c:10005 #, gcc-internal-format msgid "%Htemplate parameter pack %qD cannot have a default argument" msgstr "" -#: cp/parser.c:9799 +#: cp/parser.c:9804 #, gcc-internal-format msgid "%Htemplate parameter pack cannot have a default argument" msgstr "" -#: cp/parser.c:9897 cp/parser.c:10004 +#: cp/parser.c:9902 cp/parser.c:10009 #, gcc-internal-format msgid "%Htemplate parameter packs cannot have default arguments" msgstr "" -#: cp/parser.c:10146 +#: cp/parser.c:10151 #, gcc-internal-format msgid "%<<::%> cannot begin a template-argument list" msgstr "" -#: cp/parser.c:10150 +#: cp/parser.c:10155 #, gcc-internal-format msgid "" "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> " "and %<::%>" msgstr "" -#: cp/parser.c:10228 +#: cp/parser.c:10233 #, gcc-internal-format msgid "%Hparse error in template argument list" msgstr "" #. Explain what went wrong. -#: cp/parser.c:10343 +#: cp/parser.c:10348 #, gcc-internal-format msgid "%Hnon-template %qD used as template" msgstr "" -#: cp/parser.c:10345 +#: cp/parser.c:10350 #, gcc-internal-format msgid "use %<%T::template %D%> to indicate that it is a template" msgstr "" -#: cp/parser.c:10882 +#: cp/parser.c:10887 #, gcc-internal-format msgid "%Htemplate specialization with C linkage" msgstr "" -#: cp/parser.c:11527 +#: cp/parser.c:11532 #, gcc-internal-format msgid "using % outside of template" msgstr "" -#: cp/parser.c:11695 +#: cp/parser.c:11700 #, gcc-internal-format msgid "declaration %qD does not declare anything" msgstr "" -#: cp/parser.c:11780 +#: cp/parser.c:11785 #, gcc-internal-format msgid "attributes ignored on uninstantiated type" msgstr "" -#: cp/parser.c:11784 +#: cp/parser.c:11789 #, gcc-internal-format msgid "attributes ignored on template instantiation" msgstr "" -#: cp/parser.c:11789 +#: cp/parser.c:11794 #, gcc-internal-format msgid "" "attributes ignored on elaborated-type-specifier that is not a forward " "declaration" msgstr "" -#: cp/parser.c:12067 +#: cp/parser.c:12077 #, gcc-internal-format msgid "%H%qD is not a namespace-name" msgstr "" -#: cp/parser.c:12194 +#: cp/parser.c:12204 #, gcc-internal-format msgid "%H% definition is not allowed here" msgstr "" @@ -32296,166 +32350,166 @@ #. [namespace.udecl] #. #. A using declaration shall not name a template-id. -#: cp/parser.c:12334 +#: cp/parser.c:12344 #, gcc-internal-format msgid "%Ha template-id may not appear in a using-declaration" msgstr "" -#: cp/parser.c:12711 +#: cp/parser.c:12721 #, gcc-internal-format msgid "%Han asm-specification is not allowed on a function-definition" msgstr "" -#: cp/parser.c:12715 +#: cp/parser.c:12725 #, gcc-internal-format msgid "%Hattributes are not allowed on a function-definition" msgstr "" -#: cp/parser.c:12868 +#: cp/parser.c:12878 #, gcc-internal-format msgid "%Hinitializer provided for function" msgstr "" -#: cp/parser.c:12890 +#: cp/parser.c:12900 #, gcc-internal-format msgid "attributes after parenthesized initializer ignored" msgstr "" -#: cp/parser.c:13295 +#: cp/parser.c:13305 #, gcc-internal-format msgid "%Harray bound is not an integer constant" msgstr "" -#: cp/parser.c:13407 +#: cp/parser.c:13417 #, gcc-internal-format msgid "%H%<%T::%E%> is not a type" msgstr "" -#: cp/parser.c:13434 +#: cp/parser.c:13444 #, gcc-internal-format msgid "%Hinvalid use of constructor as a template" msgstr "" -#: cp/parser.c:13436 +#: cp/parser.c:13446 #, gcc-internal-format msgid "" "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified " "name" msgstr "" -#: cp/parser.c:13609 +#: cp/parser.c:13619 #, gcc-internal-format msgid "%H%qD is a namespace" msgstr "" -#: cp/parser.c:13684 +#: cp/parser.c:13694 #, gcc-internal-format msgid "%Hduplicate cv-qualifier" msgstr "" -#: cp/parser.c:13796 +#: cp/parser.c:13806 #, gcc-internal-format msgid "invalid use of %" msgstr "" -#: cp/parser.c:14370 +#: cp/parser.c:14391 #, gcc-internal-format msgid "%Hfile ends in default argument" msgstr "" -#: cp/parser.c:14416 +#: cp/parser.c:14437 #, gcc-internal-format msgid "deprecated use of default argument for parameter of non-function" msgstr "" -#: cp/parser.c:14419 +#: cp/parser.c:14440 #, gcc-internal-format msgid "%Hdefault arguments are only permitted for function parameters" msgstr "" -#: cp/parser.c:14437 +#: cp/parser.c:14458 #, gcc-internal-format msgid "%H%sparameter pack %qD cannot have a default argument" msgstr "" -#: cp/parser.c:14441 +#: cp/parser.c:14462 #, gcc-internal-format msgid "%H%sparameter pack cannot have a default argument" msgstr "" -#: cp/parser.c:14704 +#: cp/parser.c:14725 #, gcc-internal-format msgid "ISO C++ does not allow designated initializers" msgstr "" -#: cp/parser.c:15329 +#: cp/parser.c:15350 #, gcc-internal-format msgid "%Hinvalid class name in declaration of %qD" msgstr "" -#: cp/parser.c:15342 +#: cp/parser.c:15363 #, gcc-internal-format msgid "%Hdeclaration of %qD in namespace %qD which does not enclose %qD" msgstr "" -#: cp/parser.c:15347 +#: cp/parser.c:15368 #, gcc-internal-format msgid "%Hdeclaration of %qD in %qD which does not enclose %qD" msgstr "" -#: cp/parser.c:15361 +#: cp/parser.c:15382 #, gcc-internal-format msgid "%Hextra qualification not allowed" msgstr "" -#: cp/parser.c:15373 +#: cp/parser.c:15394 #, gcc-internal-format msgid "%Han explicit specialization must be preceded by %