--- gcc-7-7.1.0.orig/debian/NEWS.gcc +++ gcc-7-7.1.0/debian/NEWS.gcc @@ -0,0 +1,865 @@ +This file contains information about GCC releases which has been generated +automatically from the online release notes. It covers releases of GCC +(and the former EGCS project) since EGCS 1.0, on the line of development +that led to GCC 3. For information on GCC 2.8.1 and older releases of GCC 2, +see ONEWS. + +====================================================================== +http://gcc.gnu.org/gcc-7/index.html + + GCC 7 Release Series + Changes, New Features, and Fixes + + This page is a brief summary of some of the huge number of improvements + in GCC 7. For more information, see the "Porting to GCC 7" page and the + full GCC documentation. + +Caveats + + * GCC now uses LRA (a new local register allocator) by default for new + targets. + * The non-standard C++0x type traits has_trivial_default_constructor, + has_trivial_copy_constructor and has_trivial_copy_assign have been + removed. + * The libstdc++ Profile Mode has been deprecated and will be removed in a + future version. + * The Cilk+ extensions to the C and C++ languages have been deprecated. + +General Optimizer Improvements + + * GCC 7 can determine the return value or range of return values of some + calls to the sprintf family of functions and make it available to other + optimization passes. Some calls to the snprintf function with a zero size + argument can be folded into constants. This optimization is included in + -O1 and can be selectively controlled by the -fprintf-return-value option. + * A new store merging pass has been added. It merges constant stores to + adjacent memory locations into fewer, wider, stores. It is enabled by the + -fstore-merging option and at the -O2 optimization level or higher (and + -Os). + * A new code hoisting optimization has been added to the partial redundancy + elimination pass. It attempts to move evaluation of expressions executed + on all paths to the function exit as early as possible, which helps + primarily for code size, but can be useful for speed of generated code as + well. It is enabled by the -fcode-hoisting option and at the -O2 + optimization level or higher (and -Os). + * A new interprocedural bitwise constant propagation optimization has been + added, which propagates knowledge about which bits of variables are known + to be zero (including pointer alignment information) across the call + graph. It is enabled by the -fipa-bit-cp option if -fipa-cp is enabled as + well, and is enabled at the -O2 optimization level and higher (and -Os). + This optimization supersedes interprocedural alignment propagation of GCC + 6, and therefore the option -fipa-cp-alignment is now deprecated and + ignored. + * A new interprocedural value range propagation optimization has been + added, which propagates integral ranges that variable values can be + proven to be within across the call graph. It is enabled by the -fipa-vrp + option and at the -O2 optimization level and higher (and -Os). + * A new loop splitting optimization pass has been added. It splits certain + loops if they contain a condition that is always true on one side of the + iteration space and always false on the other into two loops where each + of the new two loops iterates just on one of the sides of the iteration + space and the condition does not need to be checked inside of the loop. + It is enabled by the -fsplit-loops option and at the -O3 optimization + level or higher. + * The shrink-wrapping optimization can now separate portions of prologues + and epilogues to improve performance if some of the work done + traditionally by prologues and epilogues is not needed on certain paths. + This is controlled by the -fshrink-wrap-separate option, enabled by + default. It requires target support, which is currently only implemented + in the PowerPC and AArch64 ports. + * AddressSanitizer gained a new sanitization option, -fsanitize-address- + use-after-scope, which enables sanitization of variables whose address is + taken and used after a scope where the variable is defined: + + int + main (int argc, char **argv) + { + char *ptr; + { + char my_char; + ptr = &my_char; + } + + *ptr = 123; + return *ptr; + } + + ==28882==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7fffb8dba990 at pc 0x0000004006d5 bp 0x7fffb8dba960 sp 0x7fffb8dba958 + WRITE of size 1 at 0x7fffb8dba990 thread T0 + #0 0x4006d4 in main /tmp/use-after-scope-1.c:10 + #1 0x7f9c71943290 in __libc_start_main (/lib64/libc.so.6+0x20290) + #2 0x400739 in _start (/tmp/a.out+0x400739) + + Address 0x7fffb8dba990 is located in stack of thread T0 at offset 32 in frame + #0 0x40067f in main /tmp/use-after-scope-1.c:3 + + This frame has 1 object(s): + [32, 33) 'my_char' <== Memory access at offset 32 is inside this variable + + The option is enabled by default with -fsanitize=address and disabled by + default with -fsanitize=kernel-address. Compared to the LLVM compiler, + where the option already exists, the implementation in the GCC compiler + has couple of improvements and advantages: + o A complex usage of gotos and case labels are properly handled and + should not report any false positive or false negatives. + o C++ temporaries are sanitized. + o Sanitization can handle invalid memory stores that are optimized + out by the LLVM compiler when using an optimization level. + * The -fsanitize=signed-integer-overflow suboption of the UndefinedBehavior + Sanitizer now diagnoses arithmetic overflows even on arithmetic + operations with generic vectors. + * Version 5 of the DWARF debugging information standard is supported + through the -gdwarf-5 option. The DWARF version 4 debugging information + remains the default until debugging information consumers are adjusted. + +New Languages and Language specific improvements + + OpenACC support in C, C++, and Fortran continues to be maintained and +improved. See the OpenACC and Offloading wiki pages for further information. + +Ada + * On mainstream native platforms, Ada programs no longer require the stack + to be made executable in order to run properly. + +BRIG (HSAIL) + +Support for processing BRIG 1.0 files was added in this release. BRIG is a +binary format for HSAIL (Heterogeneous System Architecture Intermediate +Language). The BRIG frontend can be used for implementing HSAIL "finalizers" +(compilation of HSAIL to a native ISA) for gcc-supported targets. An +implementation of an HSAIL runtime library, libhsail-rt is also included. + +C family + + * New command-line options have been added for the C and C++ compilers: + o -Wimplicit-fallthrough warns when a switch case falls through. This + warning has five different levels. The compiler is able to parse a + wide range of fallthrough comments, depending on the level. It also + handles control-flow statements, such as ifs. It's possible to + suppres the warning by either adding a fallthrough comment, or by + using a null statement: __attribute__ ((fallthrough)); (C, C++), or + [[fallthrough]]; (C++17), or [[gnu::fallthrough]]; (C++11/C++14). + This warning is enabled by -Wextra. + o -Wpointer-compare warns when a pointer is compared with a zero + character constant. Such code is now invalid in C++11 and GCC + rejects it. This warning is enabled by default. + o -Wduplicated-branches warns when an if-else has identical branches. + o -Wrestrict warns when an argument passed to a restrict-qualified + parameter aliases with another argument. + o -Wmemset-elt-size warns for memset calls, when the first argument + references an array, and the third argument is a number equal to + the number of elements of the array, but not the size of the array. + This warning is enabled by -Wall. + o -Wint-in-bool-context warns about suspicious uses of integer values + where boolean values are expected. This warning is enabled by - + Wall. + o -Wswitch-unreachable warns when a switch statement has statements + between the controlling expression and the first case label which + will never be executed. This warning is enabled by default. + o -Wexpansion-to-defined warns when defined is used outside #if. This + warning is enabled by -Wextra or -Wpedantic. + o -Wregister warns about uses of the register storage specifier. In + C++17 this keyword has been removed and for C++17 this is a + pedantic warning enabled by default. The warning is not emitted for + the GNU Explicit Register Variables extension. + o -Wvla-larger-than=N warns about unbounded uses of variable-length + arrays, and about bounded uses of variable-length arrays whose + bound can be larger than N bytes. + o -Wduplicate-decl-specifier warns when a declaration has duplicate + const, volatile, restrict or _Atomic specifier. This warning is + enabled by -Wall. + * GCC 6's C and C++ frontends were able to offer suggestions for misspelled + field names: + spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'? + return ptr->colour; + ^~~~~~ + GCC 7 greatly expands the scope of these suggestions. Firstly, it adds + fix-it hints to such suggestions: + spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'? + return ptr->colour; + ^~~~~~ + color + The suggestions now cover many other things, such as misspelled function + names: + spellcheck-identifiers.c:11:3: warning: implicit declaration of function 'gtk_widget_showall'; did you mean + 'gtk_widget_show_all'? [-Wimplicit-function-declaration] + gtk_widget_showall (w); + ^~~~~~~~~~~~~~~~~~ + gtk_widget_show_all + misspelled macro names and enum values: + spellcheck-identifiers.cc:85:11: error: 'MAX_ITEM' undeclared here (not in a function); did you mean 'MAX_ITEMS'? + int array[MAX_ITEM]; + ^~~~~~~~ + MAX_ITEMS + misspelled type names: + spellcheck-typenames.c:7:14: error: unknown type name 'singed'; did you mean 'signed'? + void test (singed char e); + ^~~~~~ + signed + and, in the C frontend, named initializers: + test.c:7:20: error: 'struct s' has no member named 'colour'; did you mean 'color'? + struct s test = { .colour = 3 }; + ^~~~~~ + color + * The preprocessor can now offer suggestions for misspelled directives, + e.g.: + test.c:5:2: error:invalid preprocessing directive #endfi; did you mean #endif? + #endfi + ^~~~~ + endif + * Warnings about format strings now underline the pertinent part of the + string, and can offer suggested fixes. In some cases, the pertinent + argument is underlined. + test.c:51:29: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'int' [-Wformat=] + printf ("foo: %d bar: %s baz: %d", 100, i + j, 102); + ~^ ~~~~~ + %d + * The new -Wdangling-else command-line option has been split out of + -Wparentheses and warns about dangling else. + * The -Wshadow warning has been split into three variants. -Wshadow=global + warns for any shadowing. This is the default when using -Wshadow without + any argument. -Wshadow=local only warns for a local variable shadowing + another local variable or parameter. -Wshadow=compatible-local only warns + for a local variable shadowing another local variable or parameter whose + type is compatible (in C++ compatible means that the type of the + shadowing variable can be converted to that of the shadowed variable). + The following example shows the different kinds of shadow warnings: + + enum operation { add, count }; + struct container { int nr; }; + + int + container_count (struct container c, int count) + { + int r = 0; + for (int count = 0; count > 0; count--) + { + struct container count = c; + r += count.nr; + } + return r; + } + + -Wshadow=compatible-local will warn for the parameter being shadowed with + the same type: + warn-test.c:8:12: warning: declaration of 'count' shadows a parameter [-Wshadow=compatible-local] + for (int count = 0; count > 0; count--) + ^~~~~ + warn-test.c:5:42: note: shadowed declaration is here + container_count (struct container c, int count) + ^~~~~ + -Wshadow=local will warn for the above and for the shadowed declaration + with incompatible type: + warn-test.c:10:24: warning: declaration of 'count' shadows a previous local [-Wshadow=local] + struct container count = c; + ^~~~~ + warn-test.c:8:12: note: shadowed declaration is here + for (int count = 0; count > 0; count--) + ^~~~~ + -Wshadow=global will warn for all of the above and the shadowing of the + global declaration: + warn-test.c:5:42: warning: declaration of 'count' shadows a global declaration [-Wshadow] + container_count (struct container c, int count) + ^~~~~ + warn-test.c:1:23: note: shadowed declaration is here + enum operation { add, count }; + ^~~~~ + * GCC 7 contains a number of enhancements that help detect buffer overflow + and other forms of invalid memory accesses. + o The -Walloc-size-larger-than=size option detects calls to standard + and user-defined memory allocation functions decorated with + attribute alloc_size whose argument exceeds the specified size + (PTRDIFF_MAX by default). The option also detects arithmetic + overflow in the computation of the size in two-argument allocation + functions like calloc where the total size is the product of the + two arguments. Since calls with an excessive size cannot succeed + they are typically the result of programming errors. Such bugs have + been known to be the source of security vulnerabilities and a + target of exploits. -Walloc-size-larger-than=PTRDIFF_MAX is + included in -Wall. + For example, the following call to malloc incorrectly tries to + avoid passing a negative argument to the function and instead ends + up unconditionally invoking it with an argument less than or equal + to zero. Since after conversion to the type of the argument of the + function (size_t) a negative argument results in a value in excess + of the maximum PTRDIFF_MAX the call is diagnosed. + + void* f (int n) + { + return malloc (n > 0 ? 0 : n); + } + + warning: argument 1 range [2147483648, 4294967295] exceeds maximum object size 2147483647 [-Walloc-size-larger-than=] + + o The -Walloc-zero option detects calls to standard and user-defined + memory allocation functions decorated with attribute alloc_size + with a zero argument. -Walloc-zero is not included in either -Wall + or -Wextra and must be explicitly enabled. + o The -Walloca option detects all calls to the alloca function in the + program. -Walloca is not included in either -Wall or -Wextra and + must be explicitly enabled. + o The -Walloca-larger-than=size option detects calls to the alloca + function whose argument either may exceed the specified size, or + that is not known to be sufficiently constrained to avoid exceeding + it. -Walloca-larger-than is not included in either -Wall or -Wextra + and must be explicitly enabled. + For example, compiling the following snippet with -Walloca-larger- + than=1024 results in a warning because even though the code appears + to call alloca only with sizes of 1kb and less, since n is signed, + a negative value would result in a call to the function well in + excess of the limit. + + void f (int n) + { + char *d; + if (n < 1025) + d = alloca (n); + else + d = malloc (n); + … + } + + warning: argument to 'alloca may be too large due to conversion from 'int' to 'long unsigned int' [-Walloca-larger-than=] + + In contrast, a call to alloca that isn't bounded at all such as in + the following function will elicit the warning below regardless of + the size argument to the option. + + void f (size_t n) + { + char *d = alloca (n); + ... + } + + warning: unbounded use of 'alloca' [-Walloca-larger-than=] + + o The -Wformat-overflow=level option detects certain and likely + buffer overflow in calls to the sprintf family of formatted output + functions. Although the option is enabled even without optimization + it works best with -O2 and higher. + For example, in the following snippet the call to sprintf is + diagnosed because even though its output has been constrained using + the modulo operation it could result in as many as three bytes if + mday were negative. The solution is to either allocate a larger + buffer or make sure the argument is not negative, for example by + changing mday's type to unsigned or by making the type of the + second operand of the modulo expression unsigned: 100U. + + void* f (int mday) + { + char *buf = malloc (3); + sprintf (buf, "%02i", mday % 100); + return buf; + } + + warning: 'sprintf may write a terminating nul past the end of the destination [-Wformat-overflow=] + note: 'sprintf' output between 3 and 4 bytes into a destination of size 3 + + o The -Wformat-truncation=level option detects certain and likely + output truncation in calls to the snprintf family of formatted + output functions. -Wformat-truncation=1 is included in -Wall and + enabled without optimization but works best with -O2 and higher. + For example, the following function attempts to format an integer + between 0 and 255 in hexadecimal, including the 0x prefix, into a + buffer of four charactars. But since the function must always + terminate output by the null character ('\0') such a buffer is only + big enough to fit just one digit plus the prefix. Therefore the + snprintf call is diagnosed. To avoid the warning either use a + bigger buffer or handle the function's return value which indicates + whether or not its output has been truncated. + + void f (unsigned x) + { + char d[4]; + snprintf (d, sizeof d, "%#02x", x & 0xff); + … + } + + warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=] + note: 'snprintf' output between 3 and 5 bytes into a destination of size 4 + + o The -Wnonnull option has been enhanced to detect a broader set of + cases of passing null pointers to functions that expect a non-null + argument (those decorated with attribute nonnull). By taking + advantage of optimizations the option can detect many more cases of + the problem than in prior GCC versions. + o The -Wstringop-overflow=type option detects buffer overflow in + calls to string handling functions like memcpy and strcpy. The + option relies on Object_Size_Checking and has an effect similar to + defining the _FORTIFY_SOURCE macro. -Wstringop-overflow=2 is + enabled by default. + For example, in the following snippet, because the call to strncat + specifies a maximum that allows the function to write past the end + of the destination, it is diagnosed. To correct the problem and + avoid the overflow the function should be called with a size of at + most sizeof d - strlen(d) - 1. + + void f (const char *fname) + { + char d[8]; + strncpy (d, "/tmp/", sizeof d); + strncat (d, fname, sizeof d); + ... + } + + warning: specified bound 8 equals the size of the destination [-Wstringop-overflow=] + + * The header provided by GCC defines macros such as INT_WIDTH + for the width in bits of integer types, if + __STDC_WANT_IEC_60559_BFP_EXT__ is defined before the header is included. + The header defines such macros as SIZE_WIDTH and INTMAX_WIDTH + for the width of some standard typedef names for integer types, again if + __STDC_WANT_IEC_60559_BFP_EXT__ is defined before the header is included; + note that GCC's implementation of this header is only used for + freestanding compilations, not hosted compilations, on most systems. + These macros come from ISO/IEC TS 18661-1:2014. + * The header provided by GCC defines the macro CR_DECIMAL_DIG, + from ISO/IEC TS 18661-1:2014, if __STDC_WANT_IEC_60559_BFP_EXT__ is + defined before the header is included. This represents the number of + decimal digits for which conversions between decimal character strings + and binary formats, in both directions, are correctly rounded, and + currently has the value of UINTMAX_MAX on all systems, reflecting that + GCC's compile-time conversions are correctly rounded for any number of + digits. + * New __builtin_add_overflow_p, __builtin_sub_overflow_p, + __builtin_mul_overflow_p built-in functions have been added. These work + similarly to their siblings without the _p suffix, but do not actually + store the result of the arithmetics anywhere, just return whether the + operation would overflow. Calls to these built-ins with integer constant + arguments evaluate to integer constants expressions. + For example, in the following, c is assigned the result of a * b only if + the multiplication does not overflow, otherwise it is assigned the value + zero. The multiplication is performed at compile-time and without + triggering a -Woverflow warning. + + enum { + a = 12345678, + b = 87654321, + c = __builtin_mul_overflow_p (a, b, a) ? 0 : a * b + }; + +C + + * The C front end now supports type names _FloatN for floating-point types + with IEEE interchange formats and _FloatNx for floating-point types with + IEEE extended formats. These type names come from ISO/IEC TS 18661-3: + 2015. + The set of types supported depends on the target for which GCC is + configured. Most targets support _Float32, _Float32x and _Float64. + _Float128 is supported on targets where IEEE binary128 encoding was + already supported as long double or __float128. _Float64x is supported on + targets where a type with either binary128 or Intel extended precision + format is available. + Constants with these types are supported using suffixes fN, FN, fNx and + FNx (e.g., 1.2f128 or 2.3F64x). Macros such as FLT128_MAX are defined in + if __STDC_WANT_IEC_60559_TYPES_EXT__ is defined before it is + included. + These new types are always distinct from each other and from float, + double and long double, even if they have the same encoding. Complex + types such as _Complex _Float128 are also supported. + Type-generic built-in functions such as __builtin_isinf support the new + types, and the following type-specific built-in functions have versions + (suffixed fN or fNx) for the new types: __builtin_copysign, + __builtin_fabs, __builtin_huge_val, __builtin_inf, __builtin_nan, + __builtin_nans. + * Compilation with -fopenmp is now compatible with the C11 _Atomic keyword. + +C++ + + * The C++ front end has experimental support for all of the current C++17 + draft with the -std=c++1z or -std=gnu++1z flags, including if constexpr, + class template argument deduction, auto template parameters, and + structured bindings. For a full list of new features, see the_C++_status + page. + * C++17 support for new of over-aligned types can be enabled in other modes + with the -faligned-new flag. + * The C++17 evaluation order requirements can be selected in other modes + with the -fstrong-eval-order flag, or disabled in C++17 mode with -fno- + strong-eval-order. + * The default semantics of inherited constructors has changed in all modes, + following P0136. Essentially, overload resolution happens as if calling + the inherited constructor directly, and the compiler fills in + construction of the other bases and members as needed. Most uses should + not need any changes. The old behavior can be restored with -fno-new- + inheriting-ctors, or -fabi-version less than 11. + * The resolution of DR 150 on matching of template template parameters, + allowing default template arguments to make a template match a parameter, + is currently enabled by default in C++17 mode only. The default can be + overridden with -f{no-,}new-ttp-matching. + * The C++ front end will now provide fix-it hints for some missing + semicolons, allowing for automatic fixes by IDEs: + + test.cc:4:11: error: expected ';' after class definition + class a {} + ^ + ; + * -Waligned-new has been added to the C++ front end. It warns about new of + type with extended alignment without -faligned-new. + +Runtime Library (libstdc++) + + * The type of exception thrown by iostreams, std::ios_base::failure, now + uses the cxx11_ABI. + * Experimental support for C++17, including the following new features: + o std::string_view; + o std::any, std::optional, and std::variant; + o std::invoke, std::is_invocable, std::is_nothrow_invocable, and + invoke_result; + o std::is_swappable, and std::is_nothrow_swappable; + o std::apply, and std::make_from_tuple; + o std::void_t, std::bool_constant, std::conjunction, std:: + disjunction, and std::negation; + o Variable templates for type traits; + o Mathematical Special Functions; + o std::chrono::floor, std::chrono::ceil, std::chrono::round, and + std::chrono::abs; + o std::clamp, std::gcd, std::lcm, 3-dimensional std::hypot; + o std::scoped_lock, std::shared_mutex, std::atomic:: + is_always_lock_free; + o std::sample, std::default_searcher, std::boyer_moore_searcher and + std::boyer_moore_horspool_searcher; + o Extraction and re-insertion of map and set nodes, try_emplace + members for maps, and functions for accessing containers std::size, + std::empty, and std::data; + o std::shared_ptr support for arrays, std::shared_ptr::weak_type, + std::enable_shared_from_this::weak_from_this(), and std:: + owner_less; + o std::byte; + o std::as_const, std::not_fn, std::has_unique_object_representations, + constexpr std::addressof. + Thanks to Daniel Krügler, Tim Shen, Edward Smith-Rowland, and Ville + Voutilainen for work on the C++17 support. + * A new power-of-two rehashing policy for use with the _Hashtable + internals, thanks to François Dumont. + +Fortran + + * Support for a number of extensions for compatibility with legacy code + with new flags: + o -fdec-structure Support for DEC STRUCTURE and UNION + o -fdec-intrinsic-ints Support for new integer intrinsics with B/I/J/ + K prefixes such as BABS, JIAND... + o -fdec-math Support for additional math intrinsics, including COTAN + and degree-valued trigonometric functions such as TAND, ASIND... + o -fdec Enable the -fdec-* family of extensions. + * New flag -finit-derived to allow default initialization of derived-type + variables. + * Improved DO loops with step equal to 1 or -1, generates faster code + without a loop preheader. A new warning, -Wundefined-do-loop, warns when + a loop iterates either to HUGE(i) (with step equal to 1), or to -HUGE(i) + (with step equal to -1). Invalid behavior can be caught at run time with + -fcheck=do enabled: + + program test + implicit none + integer(1) :: i + do i = -HUGE(i)+10, -HUGE(i)-1, -1 + print *, i + end do + end program test + + At line 8 of file do_check_12.f90 + Fortran runtime error: Loop iterates infinitely + + * Version 4.5 of the OpenMP_specification is now partially supported also + in the Fortran compiler; the largest missing item is structure element + mapping. + * User-defined derived-type input/output (UDTIO) is added. + * Derived type coarrays with allocable and pointer components is partially + supported. + * Non-constant stop codes and error stop codes (Fortran 2015 feature). + * Derived types with allocatable components of recursive type. + * Intrinsic assignment to polymorphic variables. + * Improved submodule support. + * Improved diagnostics (polymorphic results in pure functions). + +Go + + * GCC 7 provides a complete implementation of the Go 1.8.1 user packages. + * Compared to the Go 1.8.1 toolchain, the garbage collector is more + conservative and less concurrent. + * Escape analysis is available for experimental use via the -fgo-optimize- + allocs option. The -fgo-debug-escape prints information useful for + debugging escape analysis choices. + +Java (GCJ) + +The GCC Java frontend and associated libjava runtime library have been removed +from GCC. + +libgccjit + +The libgccjit API gained support for marking calls as requiring tail-call +optimization via a new entrypoint: gcc_jit_rvalue_set_bool_require_tail_call. +libgccjit performs numerous checks at the API boundary, but if these succeed, +it previously ignored errors and other diagnostics emitted within the core of +GCC, and treated the compile of a gcc_jit_context as having succeeded. As of +GCC 7 it now ensures that if any diagnostics are emitted, they are visible from +the libgccjit API, and that the the context is flagged as having failed. + +New Targets and Target Specific Improvements + +AArch64 + + * The ARMv8.3-A architecture is now supported. It can be used by specifying + the -march=armv8.3-a option. + * The option -msign-return-address= is supported to enable return address + protection using ARMv8.3-A Pointer Authentication Extensions. For more + information on the arguments accepted by this option, please refer to + AArch64-Options. + * The ARMv8.2-A architecture and the ARMv8.2-A 16-bit Floating-Point + Extensions are now supported. They can be used by specifying the - + march=armv8.2-a or -march=armv8.2-a+fp16 options. The 16-bit Floating- + Point Extensions introduce new half-precision data processing floating- + point instructions. + * Support has been added for the following processors (GCC identifiers in + parentheses): ARM Cortex-A73 (cortex-a73), Broadcom Vulcan (vulcan), + Cavium ThunderX CN81xx (thunderxt81), Cavium ThunderX CN83xx + (thunderxt83), Cavium ThunderX CN88xx (thunderxt88), Cavium ThunderX + CN88xx pass 1.x (thunderxt88p1), Cavium ThunderX 2 CN99xx (thunderx2t99), + Qualcomm Falkor (falkor). The GCC identifiers can be used as arguments to + the -mcpu or -mtune options, for example: -mcpu=cortex-a73 or - + mtune=vulcan or as arguments to the equivalent target attributes and + pragmas. + +ARC + + * Add support for ARC HS and ARC EM processors. + * Add support for ARC EM variation found in Intel QuarkSE SoCs. + * Add support for NPS400 ARC700 based CPUs. + * Thread Local Storage is now supported by ARC CPUs. + * Fix errors for ARC600 when using 32x16 multiplier option. + * Fix PIE for ARC CPUs. + * New CPU templates are supported via multilib. + +ARM + + * Support for the ARMv5 and ARMv5E architectures has been deprecated (which + have no known implementations) and will be removed in a future GCC + release. Note that ARMv5T, ARMv5TE and ARMv5TEJ architectures remain + supported. The values armv5 and armv5e of -march are thus deprecated. + * The ARMv8.2-A architecture and the ARMv8.2-A 16-bit Floating-Point + Extensions are now supported. They can be used by specifying the - + march=armv8.2-a or -march=armv8.2-a+fp16 options. The 16-bit Floating- + Point Extensions introduce new half-precision data processing floating- + point instructions. + * The ARMv8-M architecture is now supported in its two architecture + profiles: ARMv8-M Baseline and ARMv8-M Mainline with its DSP and + Floating-Point Extensions. They can be used by specifying the - + march=armv8-m.base, armv8-m.main or armv8-m.main+dsp options. + * Support has been added for the following processors (GCC identifiers in + parentheses): ARM Cortex-A73 (cortex-a73), ARM Cortex-M23 (cortex-m23) + and ARM Cortex-M33 (cortex-m33). The GCC identifiers can be used as + arguments to the -mcpu or -mtune options, for example: -mcpu=cortex-a73 + or -mtune=cortex-m33. + * A new command-line option -mpure-code has been added. It does not allow + constant data to be placed in code sections. This option is only + available when generating non-pic code for ARMv7-M targets. + * Support for the ACLE Coprocessor Intrinsics has been added. This enables + the generation of coprocessor instructions through the use of intrinsics + such as cdp, ldc, and others. + * The configure option --with-multilib-list now accepts the value rmprofile + to build multilib libraries for a range of embedded targets. See our + installation_instructions for details. + +AVR + + * On the reduced Tiny cores, the progmem variable_attribute is now properly + supported. Respective read-only variables are located in flash memory in + section .progmem.data. No special code is needed to access such + variables; the compiler automatically adds an offset of 0x4000 to all + addresses, which is needed to access variables in flash memory. As + opposed to ordinary cores where it is sufficient to specify the progmem + attribute with definitions, on the reduced Tiny cores the attribute also + has to be specified with (external) declarations: + + extern const int array[] __attribute__((__progmem__)); + + int get_value2 (void) + { + /* Access via addresses array + 0x4004 and array + 0x4005. */ + return array[2]; + } + + const int* get_address (unsigned idx) + { + /* Returns array + 0x4000 + 2 * idx. */ + return &array[idx]; + } + + * A new command-line option -Wmisspelled-isr has been added. It turns off — + or turns into errors — warnings that are reported for interrupt service + routines (ISRs) which don't follow AVR-LibC's naming convention of + prefixing ISR names with __vector. + * __builtin_avr_nops(n) is a new built-in_function that inserts n NOP + instructions into the instruction stream. n must be a value known at + compile time. + +IA-32/x86-64 + + * Support for the AVX-512 Fused Multiply Accumulation Packed Single + precision (4FMAPS), AVX-512 Vector Neural Network Instructions Word + variable precision (4VNNIW), AVX-512 Vector Population Count (VPOPCNTDQ) + and Software Guard Extensions (SGX) ISA extensions has been added. + +NVPTX + + * OpenMP target regions can now be offloaded to NVidia PTX GPGPUs. See the + Offloading_Wiki on how to configure it. + +PowerPC / PowerPC64 / RS6000 + + * The PowerPC port now uses LRA by default. + * GCC now diagnoses inline assembly that clobbers register r2. This has + always been invalid code, and is no longer quietly tolerated. + * The PowerPC port's support for ISA 3.0 (-mcpu=power9) has been enhanced + to generate more of the new instructions by default, and to provide more + built-in functions to generate code for other new instructions. + * The configuration option --enable-gnu-indirect-function is now enabled by + default on PowerPC GNU/Linux builds. + * The PowerPC port will now allow 64-bit and 32-bit integer types to be + allocated to the VSX vector registers (ISA 2.06 and above). In addition, + on ISA 3.0, 16-bit and 8-bit integer types can be allocated in the vector + registers. Previously, only 64-bit integer types were allowed in the + traditional floating point registers. + * New options -mstack-protector-guard=global, -mstack-protector-guard=tls, + -mstack-protector-guard-reg=, and -mstack-protector-guard-offset= change + how the stack protector gets the value to use as canary. + +RISC-V + + * Support for the RISC-V instruction set has been added. + +SPARC + + * The SPARC port now uses LRA by default. + * Support for the new Subtract-Extended-with-Carry instruction available in + SPARC M7 (Niagara 7) has been added. + +Operating Systems + +AIX + + * Visibility support has been enabled for AIX 7.1 and above. + +Fuchsia + + * Support has been added for the Fuchsia_OS. + +RTEMS + + * The ABI changes on ARM so that no short enums are used by default. + +Other significant improvements + + * -fverbose-asm previously emitted information on the meanings of assembly + expressions. This has been extended so that it now also prints comments + showing the source lines that correspond to the assembly, making it + easier to read the generated assembly (especially with larger functions). + For example, given this C source file: + + int test (int n) + { + int i; + int total = 0; + + for (i = 0; i < n; i++) + total += i * i; + return total; + } + + -fverbose-asm now gives output similar to this for the function body + (when compiling for x86_64, with -Os): + + .text + .globl test + .type test, @@function + test: + .LFB0: + .cfi_startproc + # example.c:4: int total = 0; + xorl %eax, %eax # + # example.c:6: for (i = 0; i < n; i++) + xorl %edx, %edx # i + .L2: + # example.c:6: for (i = 0; i < n; i++) + cmpl %edi, %edx # n, i + jge .L5 #, + # example.c:7: total += i * i; + movl %edx, %ecx # i, tmp92 + imull %edx, %ecx # i, tmp92 + # example.c:6: for (i = 0; i < n; i++) + incl %edx # i + # example.c:7: total += i * i; + addl %ecx, %eax # tmp92, + jmp .L2 # + .L5: + # example.c:10: } + ret + .cfi_endproc + + * Two new options have been added for printing fix-it hints: + o -fdiagnostics-parseable-fixits allows for fix-it hints to be + emitted in a machine-readable form, suitable for consumption by + IDEs. For example, given: + + spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'? + return ptr->colour; + ^~~~~~ + color + it will emit: + fix-it:"spellcheck-fields.cc":{52:13-52:19}:"color" + o -fdiagnostics-generate-patch will print a patch in "unified" format + after any diagnostics are printed, showing the result of applying + all fix-it hints. For the above example it would emit: + --- spellcheck-fields.cc + +++ spellcheck-fields.cc + @@ -49,5 +49,5 @@ + + color get_color(struct s *ptr) + { + - return ptr->colour; + + return ptr->color; + } + * The gcc and g++ driver programs will now provide suggestions for + misspelled arguments to command-line options. + $ gcc -c test.c -ftls-model=global-dinamic + gcc: error: unknown TLS model 'global-dinamic' + gcc: note: valid arguments to '-ftls-model=' are: global- + dynamic initial-exec local-dynamic local-exec; did you mean + 'global-dynamic'? + * The compiler will now provide suggestions for misspelled parameters. + $ gcc -c test.c --param max-early-inliner-iteration=3 + cc1: error: invalid --param name 'max-early-inliner-iteration'; + did you mean 'max-early-inliner-iterations'? + * Profile-guided optimization (PGO) instrumentation, as well as test + coverage (GCOV), can newly instrument constructors (functions marks with + __attribute__((constructor))), destructors and C++ constructors (and + destructors) of classes that are used as a type of a global variable. + * A new option -fprofile-update=atomic prevents creation of corrupted + profiles created during instrumentation run (-fprofile=generate) of an + application. Downside of the option is a speed penalty. Providing - + pthread on command line would result in selection of atomic profile + updating (when supports by a target). + * GCC's already extensive testsuite has gained some new capabilities, to + further improve the reliability of the compiler: + o GCC now has has an internal unit testing API and a suite of tests + for programmatic self-testing of subsystems. + o GCC's C frontend has been extended so that it can parse dumps of + GCC's internal representations, allowing for DejaGnu tests that + more directly exercise specific optimization passes. This covers + both the GIMPLE_representation (for testing higher-level + optimizations) and the RTL_representation, allowing for more direct + testing of lower-level details, such as register allocation and + instruction selection. + + For questions related to the use of GCC, please consult these web + pages and the GCC_manuals. If that fails, the gcc-help@gcc.gnu.org + mailing list might help. Comments on these web pages and the + development of GCC are welcome on our developer list at + gcc@gcc.gnu.org. All of our_lists have public archives. + +Copyright (C) Free Software Foundation, Inc. Verbatim copying and +distribution of this entire article is permitted in any medium, +provided this notice is preserved. These pages are maintained by the +GCC team. Last modified 2017-05-01. --- gcc-7-7.1.0.orig/debian/NEWS.html +++ gcc-7-7.1.0/debian/NEWS.html @@ -0,0 +1,1286 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +GCC 7 Release Series — Changes, New Features, and Fixes +- GNU Project - Free Software Foundation (FSF) + + + + + + + + + +

GCC 7 Release Series
Changes, New Features, and Fixes

+ +

+This page is a brief summary of some of the huge number of improvements in GCC 7. +For more information, see the +Porting to GCC 7 page and the +full GCC documentation. +

+ + +

Disclaimer: GCC 7 has not been released yet, so this document is +a work-in-progress.

+ + +

Caveats

+
    +
  • GCC now uses LRA (a + new local register allocator) by default for new targets.
  • + +
  • The non-standard C++0x type traits + has_trivial_default_constructor, + has_trivial_copy_constructor and + has_trivial_copy_assign have been removed.
  • +
  • The libstdc++ + Profile + Mode has been deprecated and will be removed in a future version. +
  • + +
  • The Cilk+ extensions to the C and C++ languages have been deprecated.
  • +
+ + +

General Optimizer Improvements

+
    +
  • GCC 7 can determine the return value or range of return values of + some calls to the sprintf family of functions and make + it available to other optimization passes. Some calls to the + snprintf function with a zero size argument can be folded + into constants. This optimization is included in -O1 + and can be selectively controlled by the + -fprintf-return-value option.
  • +
  • A new store merging pass has been added. It merges constant stores to + adjacent memory locations into fewer, wider, stores. + It is enabled by the -fstore-merging option and at the + -O2 optimization level or higher (and -Os).
  • + +
  • A new code hoisting optimization has been added to the partial + redundancy elimination pass. It attempts to move evaluation of + expressions executed on all paths to the function exit as early as + possible, which helps primarily for code size, but can be useful for + speed of generated code as well. It is enabled by the + -fcode-hoisting option and at the -O2 + optimization level or higher (and -Os).
  • + +
  • A new interprocedural bitwise constant propagation optimization + has been added, which propagates knowledge about which bits of variables + are known to be zero (including pointer alignment information) across + the call graph. It is enabled by the -fipa-bit-cp + option if -fipa-cp is enabled as well, and is enabled + at the -O2 optimization level and higher (and + -Os). This optimization supersedes interprocedural + alignment propagation of GCC 6, and therefore the + option -fipa-cp-alignment is now deprecated and + ignored.
  • + +
  • A new interprocedural value range propagation optimization has been + added, which propagates integral ranges that variable values can be proven + to be within across the call graph. It is enabled by the + -fipa-vrp option and at the -O2 optimization + level and higher (and -Os).
  • + +
  • A new loop splitting optimization pass has been added. It splits + certain loops if they contain a condition that is always true on one + side of the iteration space and always false on the other into two + loops where each of the new two loops iterates just on one of the sides + of the iteration space and the condition does not need to be checked + inside of the loop. It is enabled by the -fsplit-loops + option and at the -O3 optimization level or higher.
  • + +
  • The shrink-wrapping optimization can now separate portions of + prologues and epilogues to improve performance if some of the + work done traditionally by prologues and epilogues is not needed + on certain paths. This is controlled by the + -fshrink-wrap-separate option, enabled by default. + It requires target support, which is currently only implemented in the + PowerPC and AArch64 ports.
  • + +
  • AddressSanitizer gained a new sanitization option, -fsanitize-address-use-after-scope, + which enables sanitization of variables whose address is taken and used after a scope where the + variable is defined: +
    +int
    +main (int argc, char **argv)
    +{
    +  char *ptr;
    +    {
    +      char my_char;
    +      ptr = &my_char;
    +    }
    +
    +  *ptr = 123;
    +  return *ptr;
    +}
    +
    +==28882==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7fffb8dba990 at pc 0x0000004006d5 bp 0x7fffb8dba960 sp 0x7fffb8dba958
    +WRITE of size 1 at 0x7fffb8dba990 thread T0
    +    #0 0x4006d4 in main /tmp/use-after-scope-1.c:10
    +    #1 0x7f9c71943290 in __libc_start_main (/lib64/libc.so.6+0x20290)
    +    #2 0x400739 in _start (/tmp/a.out+0x400739)
    +
    +Address 0x7fffb8dba990 is located in stack of thread T0 at offset 32 in frame
    +    #0 0x40067f in main /tmp/use-after-scope-1.c:3
    +
    +  This frame has 1 object(s):
    +    [32, 33) 'my_char' <== Memory access at offset 32 is inside this variable
    +  
    + + The option is enabled by default with -fsanitize=address and disabled + by default with -fsanitize=kernel-address. + Compared to the LLVM compiler, where the option already exists, + the implementation in the GCC compiler has couple of improvements and advantages: +
      +
    • A complex usage of gotos and case labels are properly handled and should not + report any false positive or false negatives. +
    • +
    • C++ temporaries are sanitized.
    • +
    • Sanitization can handle invalid memory stores that are optimized out + by the LLVM compiler when using an optimization level.
    • +
    + +
  • + +
  • The -fsanitize=signed-integer-overflow suboption of the + UndefinedBehavior Sanitizer now diagnoses arithmetic overflows even on + arithmetic operations with generic vectors.
  • + +
  • Version 5 of the DWARF debugging + information standard is supported through the -gdwarf-5 + option. The DWARF version 4 debugging information remains the + default until debugging information consumers are adjusted.
  • + +
+ + +

New Languages and Language specific improvements

+ + OpenACC support in C, C++, and Fortran continues to be maintained and + improved. + See the OpenACC + and Offloading wiki pages + for further information. + + +

Ada

+
    +
  • On mainstream native platforms, Ada programs no longer require the stack + to be made executable in order to run properly.
  • +
+ +

BRIG (HSAIL)

+ +

Support for processing BRIG 1.0 files was added in this release. +BRIG is a binary format for HSAIL (Heterogeneous System Architecture +Intermediate Language). The BRIG frontend can be used for implementing +HSAIL "finalizers" (compilation of HSAIL to a native ISA) for gcc-supported +targets. An implementation of an HSAIL runtime library, libhsail-rt is +also included.

+ +

C family

+
    +
  • New command-line options have been added for the C and C++ compilers: +
      +
    • -Wimplicit-fallthrough warns when a switch case falls + through. This warning has five different levels. The compiler is + able to parse a wide range of fallthrough comments, depending on + the level. It also handles control-flow statements, such as ifs. + It's possible to suppres the warning by either adding a fallthrough + comment, or by using a null statement: __attribute__ + ((fallthrough)); (C, C++), or [[fallthrough]]; + (C++17), or [[gnu::fallthrough]]; (C++11/C++14). + This warning is enabled by -Wextra.
    • +
    • -Wpointer-compare warns when a pointer is compared with + a zero character constant. Such code is now invalid in C++11 and + GCC rejects it. This warning is enabled by default.
    • +
    • -Wduplicated-branches warns when an if-else has identical + branches.
    • +
    • -Wrestrict warns when an argument passed to a + restrict-qualified parameter aliases with another + argument.
    • +
    • -Wmemset-elt-size warns for memset calls, + when the first argument references an array, and the third argument is + a number equal to the number of elements of the array, but not the size + of the array. This warning is enabled by -Wall.
    • +
    • -Wint-in-bool-context warns about suspicious uses of + integer values where boolean values are expected. This warning is + enabled by -Wall.
    • +
    • -Wswitch-unreachable warns when a switch + statement has statements between the controlling expression and the + first case label which will never be executed. This warning is enabled + by default.
    • +
    • -Wexpansion-to-defined warns when defined is + used outside #if. This warning is enabled by + -Wextra or -Wpedantic.
    • +
    • -Wregister warns about uses of the register + storage specifier. In C++17 this keyword has been removed and for C++17 + this is a pedantic warning enabled by default. The warning is not + emitted for the GNU Explicit Register Variables extension.
    • +
    • -Wvla-larger-than=N warns about unbounded uses of + variable-length arrays, and about bounded uses of variable-length + arrays whose bound can be larger than N bytes.
    • +
    • -Wduplicate-decl-specifier warns when a declaration + has duplicate const, volatile, + restrict or _Atomic specifier. This warning + is enabled by -Wall.
    • +
    +
  • +
  • GCC 6's C and C++ frontends were able to offer suggestions for + misspelled field names: +
    +spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'?
    +   return ptr->colour;
    +               ^~~~~~
    +
    + GCC 7 greatly expands the scope of these suggestions. Firstly, it + adds fix-it hints to such suggestions: +
    +spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'?
    +   return ptr->colour;
    +               ^~~~~~
    +               color
    +
    + The suggestions now cover many other things, such as misspelled + function names: +
    +spellcheck-identifiers.c:11:3: warning: implicit declaration of function 'gtk_widget_showall'; did you mean 'gtk_widget_show_all'? [-Wimplicit-function-declaration]
    +   gtk_widget_showall (w);
    +   ^~~~~~~~~~~~~~~~~~
    +   gtk_widget_show_all
    +
    + misspelled macro names and enum values: +
    +spellcheck-identifiers.cc:85:11: error: 'MAX_ITEM' undeclared here (not in a function); did you mean 'MAX_ITEMS'?
    + int array[MAX_ITEM];
    +           ^~~~~~~~
    +           MAX_ITEMS
    +
    + misspelled type names: +
    +spellcheck-typenames.c:7:14: error: unknown type name 'singed'; did you mean 'signed'?
    + void test (singed char e);
    +            ^~~~~~
    +            signed
    +
    + and, in the C frontend, named initializers: +
    +test.c:7:20: error: 'struct s' has no member named 'colour'; did you mean 'color'?
    + struct s test = { .colour = 3 };
    +                    ^~~~~~
    +                    color
    +
  • +
  • The preprocessor can now offer suggestions for misspelled + directives, e.g.: +
    +test.c:5:2: error:invalid preprocessing directive #endfi; did you mean #endif?
    + #endfi
    +  ^~~~~
    +  endif
    +
  • +
  • Warnings about format strings now underline the pertinent part of + the string, and can offer suggested fixes. In some cases, the + pertinent argument is underlined. +
    +test.c:51:29: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'int' [-Wformat=]
    +   printf ("foo: %d  bar: %s baz: %d", 100, i + j, 102);
    +                          ~^                ~~~~~
    +                          %d
    +
  • + +
  • The new -Wdangling-else command-line option has been split +out of -Wparentheses and warns about dangling else.
  • +
  • The -Wshadow warning has been split into three +variants. -Wshadow=global warns for any shadowing. This +is the default when using -Wshadow without any +argument. -Wshadow=local only warns for a local variable +shadowing another local variable or +parameter. -Wshadow=compatible-local only warns for a +local variable shadowing another local variable or parameter whose +type is compatible (in C++ compatible means that the type of the +shadowing variable can be converted to that of the shadowed variable).

    + +

    The following example shows the different kinds of shadow +warnings:

    + +
    +enum operation { add, count };
    +struct container { int nr; };
    +
    +int
    +container_count (struct container c, int count)
    +{
    +  int r = 0;
    +  for (int count = 0; count > 0; count--)
    +    {
    +      struct container count = c;
    +      r += count.nr;
    +    }
    +  return r;
    +}
    + +

    -Wshadow=compatible-local will warn for the parameter being +shadowed with the same type:

    + +
    +warn-test.c:8:12: warning: declaration of 'count' shadows a parameter [-Wshadow=compatible-local]
    +   for (int count = 0; count > 0; count--)
    +            ^~~~~
    +warn-test.c:5:42: note: shadowed declaration is here
    + container_count (struct container c, int count)
    +                                          ^~~~~
    + +

    -Wshadow=local will warn for the above and for the shadowed +declaration with incompatible type:

    + +
    +warn-test.c:10:24: warning: declaration of 'count' shadows a previous local [-Wshadow=local]
    +       struct container count = c;
    +                        ^~~~~
    +warn-test.c:8:12: note: shadowed declaration is here
    +   for (int count = 0; count > 0; count--)
    +            ^~~~~
    + +

    -Wshadow=global will warn for all of the above and the shadowing +of the global declaration:

    + +
    +warn-test.c:5:42: warning: declaration of 'count' shadows a global declaration [-Wshadow]
    + container_count (struct container c, int count)
    +                                          ^~~~~
    +warn-test.c:1:23: note: shadowed declaration is here
    + enum operation { add, count };
    +                       ^~~~~
    +
  • +
  • GCC 7 contains a number of enhancements that help detect buffer overflow + and other forms of invalid memory accesses. +
      +
    • The -Walloc-size-larger-than=size option + detects calls to standard and user-defined memory allocation + functions decorated with attribute alloc_size whose + argument exceeds the specified size + (PTRDIFF_MAX by default). The option also detects + arithmetic overflow in the computation of the size in two-argument + allocation functions like calloc where the total size + is the product of the two arguments. Since calls with an excessive + size cannot succeed they are typically the result of programming + errors. Such bugs have been known to be the source of + security vulnerabilities and a target of exploits. + -Walloc-size-larger-than=PTRDIFF_MAX is included + in -Wall.

      +

      For example, the following call to malloc incorrectly + tries to avoid passing a negative argument to the function and + instead ends up unconditionally invoking it with an argument less + than or equal to zero. Since after conversion to the type of + the argument of the function (size_t) a negative + argument results in a value in excess of the maximum + PTRDIFF_MAX the call is diagnosed.

      +
      +void* f (int n)
      +{
      +  return malloc (n > 0 ? 0 : n);
      +}
      +
      +warning: argument 1 range [2147483648, 4294967295] exceeds maximum object size 2147483647 [-Walloc-size-larger-than=]
    • +
    • The -Walloc-zero option detects calls to standard + and user-defined memory allocation functions decorated with attribute + alloc_size with a zero argument. -Walloc-zero + is not included in either -Wall or -Wextra + and must be explicitly enabled.
    • +
    • The -Walloca option detects all calls to the + alloca function in the program. -Walloca + is not included in either -Wall or -Wextra + and must be explicitly enabled.
    • +
    • The -Walloca-larger-than=size option detects + calls to the alloca function whose argument either may + exceed the specified size, or that is not known + to be sufficiently constrained to avoid exceeding it. + -Walloca-larger-than is not included in either + -Wall or -Wextra and must be explicitly + enabled.

      +

      For example, compiling the following snippet with + -Walloca-larger-than=1024 results in a warning because + even though the code appears to call alloca only with + sizes of 1kb and less, since n is signed, a negative + value would result in a call to the function well in excess of + the limit.

      +
      +void f (int n)
      +{
      +  char *d;
      +  if (n < 1025)
      +    d = alloca (n);
      +  else
      +    d = malloc (n);
      +  …
      +}
      +
      +warning: argument to 'alloca may be too large due to conversion from 'int' to 'long unsigned int' [-Walloca-larger-than=]
      +

      In contrast, a call to alloca that isn't bounded at all + such as in the following function will elicit the warning below + regardless of the size argument to the option.

      +
      +void f (size_t n)
      +{
      +  char *d = alloca (n);
      +  …
      +}
      +
      +warning: unbounded use of 'alloca' [-Walloca-larger-than=]
    • +
    • The -Wformat-overflow=level option detects + certain and likely buffer overflow in calls to the sprintf + family of formatted output functions. Although the option is enabled + even without optimization it works best with -O2 and + higher.

      +

      For example, in the following snippet the call to + sprintf is diagnosed because even though its + output has been constrained using the modulo operation it could + result in as many as three bytes if mday were negative. + The solution is to either allocate a larger buffer or make sure + the argument is not negative, for example by changing + mday's type to unsigned or by making + the type of the second operand of the modulo expression + unsigned: 100U.

      +
      +void* f (int mday)
      +{
      +  char *buf = malloc (3);
      +  sprintf (buf, "%02i", mday % 100);
      +  return buf;
      +}
      +
      +warning: 'sprintf may write a terminating nul past the end of the destination [-Wformat-overflow=]
      +note: 'sprintf' output between 3 and 4 bytes into a destination of size 3
    • +
    • The -Wformat-truncation=level option detects + certain and likely output truncation in calls to the + snprintf family of formatted output functions. + -Wformat-truncation=1 is included in -Wall + and enabled without optimization but works best with -O2 + and higher.

      +

      For example, the following function attempts to format an integer + between 0 and 255 in hexadecimal, including the 0x + prefix, into a buffer of four charactars. But since the function + must always terminate output by the null character ('\0') + such a buffer is only big enough to fit just one digit plus the prefix. + Therefore the snprintf call is diagnosed. To avoid + the warning either use a bigger buffer or handle the function's + return value which indicates whether or not its output has + been truncated.

      +
      +void f (unsigned x)
      +{
      +  char d[4];
      +  snprintf (d, sizeof d, "%#02x", x & 0xff);
      +  …
      +}
      +
      +warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
      +note: 'snprintf' output between 3 and 5 bytes into a destination of size 4
    • +
    • The -Wnonnull option has been enhanced to detect + a broader set of cases of passing null pointers to functions that + expect a non-null argument (those decorated with attribute + nonnull). By taking advantage of optimizations the + option can detect many more cases of the problem than in prior GCC + versions.
    • +
    • The -Wstringop-overflow=type option detects + buffer overflow in calls to string handling functions like + memcpy and strcpy. The option relies on + + Object Size Checking and has an effect similar to defining + the _FORTIFY_SOURCE macro. + -Wstringop-overflow=2 is enabled by default.

      +

      For example, in the following snippet, because the call to + strncat specifies a maximum that allows the function to + write past the end of the destination, it is diagnosed. To correct + the problem and avoid the overflow the function should be called + with a size of at most sizeof d - strlen(d) - 1.

      +
      +void f (const char *fname)
      +{
      +  char d[8];
      +  strncpy (d, "/tmp/", sizeof d);
      +  strncat (d, fname, sizeof d);
      +  …
      +}
      +
      +warning: specified bound 8 equals the size of the destination [-Wstringop-overflow=]
      +
    • +
    +
  • +
  • The <limits.h> header provided by GCC defines + macros such as INT_WIDTH for the width in bits of + integer types, if __STDC_WANT_IEC_60559_BFP_EXT__ is + defined before the header is included. + The <stdint.h> header defines such macros + as SIZE_WIDTH and INTMAX_WIDTH for the + width of some standard typedef names for integer types, + again if __STDC_WANT_IEC_60559_BFP_EXT__ is defined + before the header is included; note that GCC's implementation of + this header is only used for freestanding compilations, not hosted + compilations, on most systems. These macros come from ISO/IEC TS + 18661-1:2014.
  • +
  • The <float.h> header provided by GCC defines + the macro CR_DECIMAL_DIG, from ISO/IEC TS 18661-1:2014, + if __STDC_WANT_IEC_60559_BFP_EXT__ is defined before + the header is included. This represents the number of decimal + digits for which conversions between decimal character strings and + binary formats, in both directions, are correctly rounded, and + currently has the value of UINTMAX_MAX on all systems, + reflecting that GCC's compile-time conversions are correctly rounded + for any number of digits.
  • +
  • New __builtin_add_overflow_p, + __builtin_sub_overflow_p, + __builtin_mul_overflow_p built-in functions have been added. + These work similarly to their siblings without the + _p suffix, but do not actually store the result of the + arithmetics anywhere, just return whether the operation would overflow. + Calls to these built-ins with integer constant arguments evaluate to + integer constants expressions.

    +

    For example, in the following, c is assigned the result + of a * b only if the multiplication does not overflow, + otherwise it is assigned the value zero. The multiplication is + performed at compile-time and without triggering + a -Woverflow warning.

    +
    enum {
    +  a = 12345678,
    +  b = 87654321,
    +  c = __builtin_mul_overflow_p (a, b, a) ? 0 : a * b
    +};
  • + +
+ +

C

+
    +
  • The C front end now supports type + names _FloatN for floating-point types with IEEE + interchange formats and _FloatNx for + floating-point types with IEEE extended formats. These type names + come from ISO/IEC TS 18661-3:2015.

    +

    The set of types supported depends on the target for which GCC is + configured. Most targets + support _Float32, _Float32x + and _Float64. _Float128 is supported on + targets where IEEE binary128 encoding was already supported + as long double + or __float128. _Float64x is supported on + targets where a type with either binary128 or Intel extended + precision format is available.

    +

    Constants with these types are supported using + suffixes fN, FN, + fNx and FNx + (e.g., 1.2f128 or 2.3F64x). Macros such + as FLT128_MAX are defined + in <float.h> + if __STDC_WANT_IEC_60559_TYPES_EXT__ is defined before + it is included.

    +

    These new types are always distinct from each other and + from float, double and long + double, even if they have the same encoding. Complex types + such as _Complex _Float128 are also supported.

    +

    Type-generic built-in functions such + as __builtin_isinf support the new types, and the + following type-specific built-in functions have versions + (suffixed fN or fNx) for the + new + types: __builtin_copysign, __builtin_fabs, __builtin_huge_val, __builtin_inf, __builtin_nan, __builtin_nans.

  • +
  • Compilation with -fopenmp is now compatible with the + C11 _Atomic keyword.
  • +
+ +

C++

+
    +
  • The C++ front end has experimental support for all of the current C++17 + draft with the -std=c++1z or -std=gnu++1z flags, + including if constexpr, class template argument + deduction, auto template parameters, and structured bindings. + For a full list of new features, + see the C++ + status page.
  • +
  • C++17 support for new of over-aligned types can be enabled + in other modes with the -faligned-new flag.
  • +
  • The C++17 evaluation order requirements can be selected in other modes + with the -fstrong-eval-order flag, or disabled in C++17 mode + with -fno-strong-eval-order.
  • +
  • The default semantics of inherited constructors has changed in all modes, + following P0136. Essentially, + overload resolution happens as if calling the inherited constructor + directly, and the compiler fills in construction of the other bases and + members as needed. Most uses should not need any changes. The old + behavior can be restored with -fno-new-inheriting-ctors, + or -fabi-version less than 11.
  • +
  • The resolution of DR 150 on matching of template template parameters, + allowing default template arguments to make a template match a parameter, + is currently enabled by default in C++17 mode only. The default can be + overridden with -f{no-,}new-ttp-matching.
  • +
  • The C++ front end will now provide fix-it hints for some missing + semicolons, allowing for automatic fixes by IDEs: +
    +test.cc:4:11: error: expected ';' after class definition
    + class a {} 
    +           ^
    +           ;
    +
  • +
  • -Waligned-new has been added to the C++ front end. It warns + about new of type with extended alignment without + -faligned-new.
  • +
+ +

Runtime Library (libstdc++)

+
    +
  • + The type of exception thrown by iostreams, + std::ios_base::failure, now uses the + cxx11 + ABI. +
  • +
  • Experimental support for C++17, including the following new features: +
      +
    • + std::string_view; +
    • +
    • + std::any, std::optional, + and std::variant; +
    • +
    • + std::invoke, std::is_invocable, + std::is_nothrow_invocable, and invoke_result; +
    • +
    • + std::is_swappable, + and std::is_nothrow_swappable; +
    • +
    • + std::apply, + and std::make_from_tuple; +
    • +
    • + std::void_t, std::bool_constant, + std::conjunction, std::disjunction, + and std::negation; +
    • +
    • Variable templates for type traits;
    • +
    • Mathematical Special Functions;
    • +
    • + std::chrono::floor, std::chrono::ceil, + std::chrono::round, and std::chrono::abs; +
    • +
    • + std::clamp, std::gcd, std::lcm, + 3-dimensional std::hypot; +
    • +
    • + std::scoped_lock, std::shared_mutex, + std::atomic<T>::is_always_lock_free; +
    • +
    • + std::sample, std::default_searcher, + std::boyer_moore_searcher and + std::boyer_moore_horspool_searcher; +
    • +
    • + Extraction and re-insertion of map and set nodes, try_emplace + members for maps, and functions for accessing containers + std::size, std::empty, and + std::data; +
    • +
    • + std::shared_ptr support for arrays, + std::shared_ptr<T>::weak_type, + std::enable_shared_from_this<T>::weak_from_this(), + and std::owner_less<void>; +
    • +
    • std::byte;
    • +
    • std::as_const, std::not_fn, + std::has_unique_object_representations, + constexpr std::addressof. +
    • +
    + Thanks to Daniel Krügler, Tim Shen, Edward Smith-Rowland, and Ville Voutilainen for + work on the C++17 support. +
  • +
  • + A new power-of-two rehashing policy for use with the + _Hashtable internals, thanks to François Dumont. +
  • +
+ +

Fortran

+
    + +
  • + Support for a number of extensions for compatibility with legacy code + with new flags: +
      +
    • + -fdec-structure + Support for DEC STRUCTURE and UNION +
    • +
    • + -fdec-intrinsic-ints + Support for new integer intrinsics with B/I/J/K prefixes such as + BABS, JIAND... +
    • +
    • + -fdec-math + Support for additional math intrinsics, including COTAN and + degree-valued trigonometric functions such as TAND, + ASIND... +
    • +
    • + -fdec + Enable the -fdec-* family of extensions. +
    • +
    +
  • + +
  • + New flag -finit-derived to allow default initialization of + derived-type variables. +
  • + +
  • + Improved DO loops with step equal to 1 or -1, generates faster + code without a loop preheader. A new warning, -Wundefined-do-loop, + warns when a loop iterates either to HUGE(i) (with step equal + to 1), or to -HUGE(i) (with step equal to -1). Invalid behavior + can be caught at run time with -fcheck=do enabled: +
    +program test
    +  implicit none
    +  integer(1) :: i
    +  do i = -HUGE(i)+10, -HUGE(i)-1, -1
    +    print *, i
    +  end do
    +end program test
    +
    +At line 8 of file do_check_12.f90
    +Fortran runtime error: Loop iterates infinitely
    +
  • +
  • Version 4.5 of the OpenMP specification is now partially supported also in the + Fortran compiler; the largest missing item is structure element + mapping.
  • + +
  • User-defined derived-type input/output (UDTIO) is added.
  • + +
  • Derived type coarrays with allocable and pointer components + is partially supported.
  • + +
  • Non-constant stop codes and error stop codes (Fortran 2015 feature).
  • + +
  • Derived types with allocatable components of recursive type.
  • + +
  • Intrinsic assignment to polymorphic variables.
  • + +
  • Improved submodule support.
  • + +
  • Improved diagnostics (polymorphic results in pure functions).
  • +
+ +

Go

+
    +
  • GCC 7 provides a complete implementation of the Go 1.8.1 + user packages.
  • + +
  • Compared to the Go 1.8.1 toolchain, the garbage collector is more + conservative and less concurrent.
  • + +
  • Escape analysis is available for experimental use via + the -fgo-optimize-allocs option. + The -fgo-debug-escape prints information useful for + debugging escape analysis choices.
  • + +
+ +

Java (GCJ)

+ +

The GCC Java frontend and associated libjava runtime library have been +removed from GCC.

+ + +

libgccjit

+ +

The libgccjit API gained support for marking calls as requiring +tail-call optimization via a new entrypoint: +gcc_jit_rvalue_set_bool_require_tail_call.

+ +

libgccjit performs numerous checks at the API boundary, but +if these succeed, it previously ignored errors and other diagnostics emitted +within the core of GCC, and treated the compile of a gcc_jit_context +as having succeeded. As of GCC 7 it now ensures that if any diagnostics are +emitted, they are visible from the libgccjit API, and that the the context is +flagged as having failed.

+ + +

New Targets and Target Specific Improvements

+ +

AArch64

+
    +
  • + The ARMv8.3-A architecture is now supported. It can be used by + specifying the -march=armv8.3-a option. +
  • +
  • + The option -msign-return-address= is supported to enable + return address protection using ARMv8.3-A Pointer Authentication + Extensions. For more information on the arguments accepted by this + option, please refer to + + AArch64-Options. +
  • +
  • + The ARMv8.2-A architecture and the ARMv8.2-A 16-bit Floating-Point + Extensions are now supported. They can be used by specifying the + -march=armv8.2-a or -march=armv8.2-a+fp16 + options. + The 16-bit Floating-Point Extensions introduce new half-precision data + processing floating-point instructions. +
  • +
  • + Support has been added for the following processors + (GCC identifiers in parentheses): + ARM Cortex-A73 (cortex-a73), + Broadcom Vulcan (vulcan), + Cavium ThunderX CN81xx (thunderxt81), + Cavium ThunderX CN83xx (thunderxt83), + Cavium ThunderX CN88xx (thunderxt88), + Cavium ThunderX CN88xx pass 1.x (thunderxt88p1), + Cavium ThunderX 2 CN99xx (thunderx2t99), + Qualcomm Falkor (falkor). + The GCC identifiers can be used + as arguments to the -mcpu or -mtune options, + for example: -mcpu=cortex-a73 or + -mtune=vulcan or as arguments to the equivalent target + attributes and pragmas. +
  • +
+ +

ARC

+
    +
  • + Add support for ARC HS and ARC EM processors. +
  • +
  • + Add support for ARC EM variation found in Intel QuarkSE SoCs. +
  • +
  • + Add support for NPS400 ARC700 based CPUs. +
  • +
  • + Thread Local Storage is now supported by ARC CPUs. +
  • +
  • + Fix errors for ARC600 when using 32x16 multiplier option. +
  • +
  • + Fix PIE for ARC CPUs. +
  • +
  • + New CPU templates are supported via multilib. +
  • +
+ +

ARM

+
    +
  • + Support for the ARMv5 and ARMv5E architectures has been deprecated + (which have no known implementations) and will be removed in a future + GCC release. Note that ARMv5T, ARMv5TE and ARMv5TEJ architectures + remain supported. + The values armv5 and armv5e of + -march are thus deprecated. +
  • +
  • + The ARMv8.2-A architecture and the ARMv8.2-A 16-bit Floating-Point + Extensions are now supported. They can be used by specifying the + -march=armv8.2-a or -march=armv8.2-a+fp16 + options. + The 16-bit Floating-Point Extensions introduce new half-precision data + processing floating-point instructions. +
  • +
  • + The ARMv8-M architecture is now supported in its two architecture + profiles: ARMv8-M Baseline and ARMv8-M Mainline with its DSP and + Floating-Point Extensions. They can be used by specifying the + -march=armv8-m.base, armv8-m.main or + armv8-m.main+dsp options. +
  • +
  • + Support has been added for the following processors + (GCC identifiers in parentheses): ARM Cortex-A73 + (cortex-a73), ARM Cortex-M23 (cortex-m23) and + ARM Cortex-M33 (cortex-m33). + The GCC identifiers can be used + as arguments to the -mcpu or -mtune options, + for example: -mcpu=cortex-a73 or + -mtune=cortex-m33. +
  • +
  • + A new command-line option -mpure-code has been added. + It does not allow constant data to be placed in code sections. + This option is only available when generating non-pic code for ARMv7-M + targets. +
  • +
  • + Support for the ACLE Coprocessor Intrinsics has been added. This enables + the generation of coprocessor instructions through the use of intrinsics + such as cdp, ldc, and others. +
  • +
  • + The configure option --with-multilib-list now accepts the + value rmprofile to build multilib libraries for a range of + embedded targets. See our + installation + instructions for details. +
  • +
+ +

AVR

+
    +
  • On the reduced Tiny cores, the progmem + variable + attribute + is now properly supported. Respective read-only variables are located + in flash memory in section .progmem.data. No special + code is needed to access such variables; the compiler automatically + adds an offset of 0x4000 to all addresses, which is needed + to access variables in flash memory. As opposed to ordinary cores + where it is sufficient to specify the progmem attribute + with definitions, on the reduced Tiny cores the attribute also has to + be specified with (external) declarations: +
    +extern const int array[] __attribute__((__progmem__));
    +
    +int get_value2 (void)
    +{
    +  /* Access via addresses array + 0x4004 and array + 0x4005. */
    +  return array[2];
    +}
    +
    +const int* get_address (unsigned idx)
    +{
    +  /* Returns array + 0x4000 + 2 * idx. */
    +  return &array[idx];
    +}
  • +
  • A new command-line option -Wmisspelled-isr has been added. + It turns off — or turns into errors — + warnings that are reported for interrupt service routines (ISRs) + which don't follow AVR-LibC's naming convention of prefixing + ISR names with __vector.
  • +
  • __builtin_avr_nops(n) is a new + built-in + function + that inserts n NOP instructions into + the instruction stream. n must be a value known at + compile time.
  • +
+ + + +

IA-32/x86-64

+
    +
  • Support for the AVX-512 Fused Multiply Accumulation Packed Single precision + (4FMAPS), AVX-512 Vector Neural Network Instructions Word variable precision + (4VNNIW), AVX-512 Vector Population Count (VPOPCNTDQ) and Software + Guard Extensions (SGX) ISA extensions has been added.
  • +
+ + + + + + + + + +

NVPTX

+
    +
  • OpenMP target regions can now be offloaded to NVidia PTX GPGPUs. + See the Offloading Wiki + on how to configure it.
  • +
+ +

PowerPC / PowerPC64 / RS6000

+
    +
  • The PowerPC port now uses LRA by default.
  • +
  • GCC now diagnoses inline assembly that clobbers register r2. + This has always been invalid code, and is no longer quietly + tolerated.
  • +
  • The PowerPC port's support for ISA 3.0 (-mcpu=power9) + has been enhanced to generate more of the new instructions by default, and + to provide more built-in functions to generate code for other new + instructions.
  • +
  • The configuration option --enable-gnu-indirect-function + is now enabled by default on PowerPC GNU/Linux builds.
  • +
  • The PowerPC port will now allow 64-bit and 32-bit integer types to be + allocated to the VSX vector registers (ISA 2.06 and above). In addition, + on ISA 3.0, 16-bit and 8-bit integer types can be allocated in the vector + registers. Previously, only 64-bit integer types were allowed in the + traditional floating point registers.
  • +
  • New options -mstack-protector-guard=global, + -mstack-protector-guard=tls, + -mstack-protector-guard-reg=, and + -mstack-protector-guard-offset= change how the stack + protector gets the value to use as canary.
  • +
+ + + +

RISC-V

+
    +
  • Support for the RISC-V instruction set has been added.
  • +
+ + + + + +

SPARC

+
    +
  • The SPARC port now uses LRA by default.
  • +
  • Support for the new Subtract-Extended-with-Carry instruction + available in SPARC M7 (Niagara 7) has been added.
  • +
+ + +

Operating Systems

+ +

AIX

+
    +
  • Visibility support has been enabled for AIX 7.1 and above.
  • +
+ +

Fuchsia

+
    +
  • Support has been added for the + Fuchsia OS.
  • +
+ + + + + + + +

RTEMS

+
    +
  • The ABI changes on ARM so that no short enums are used by default.
  • +
+ + + + + + + + + + + +

Other significant improvements

+
    +
  • -fverbose-asm previously emitted information on the + meanings of assembly expressions. This has been extended so that + it now also prints comments showing the source lines that correspond + to the assembly, making it easier to read the generated assembly + (especially with larger functions). + For example, given this C source file: +
    +int test (int n)
    +{
    +  int i;
    +  int total = 0;
    +
    +  for (i = 0; i < n; i++)
    +    total += i * i;
    +  return total;
    +}
    +
    + -fverbose-asm now gives output similar to this for + the function body (when compiling for x86_64, with + -Os): +
    +       .text
    +       .globl  test
    +       .type   test, @@function
    +test:
    +.LFB0:
    +       .cfi_startproc
    +# example.c:4:   int total = 0;
    +       xorl    %eax, %eax      # <retval>
    +# example.c:6:   for (i = 0; i < n; i++)
    +       xorl    %edx, %edx      # i
    +.L2:
    +# example.c:6:   for (i = 0; i < n; i++)
    +       cmpl    %edi, %edx      # n, i
    +       jge     .L5     #,
    +# example.c:7:     total += i * i;
    +       movl    %edx, %ecx      # i, tmp92
    +       imull   %edx, %ecx      # i, tmp92
    +# example.c:6:   for (i = 0; i < n; i++)
    +       incl    %edx    # i
    +# example.c:7:     total += i * i;
    +       addl    %ecx, %eax      # tmp92, <retval>
    +       jmp     .L2     #
    +.L5:
    +# example.c:10: }
    +       ret
    +       .cfi_endproc
    +
  • +
  • Two new options have been added for + printing fix-it hints: +
      +
    • -fdiagnostics-parseable-fixits + allows for fix-it hints to be emitted in a machine-readable + form, suitable for consumption by IDEs. For example, given: +
      +spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'?
      +   return ptr->colour;
      +               ^~~~~~
      +               color
      +
      +it will emit: +
      +fix-it:"spellcheck-fields.cc":{52:13-52:19}:"color"
      +
    • +
    • -fdiagnostics-generate-patch will print + a patch in "unified" format after any diagnostics are printed, + showing the result of applying all fix-it hints. For the above + example it would emit: +
      +--- spellcheck-fields.cc
      ++++ spellcheck-fields.cc
      +@@ -49,5 +49,5 @@
      +
      + color get_color(struct s *ptr)
      + {
      +-  return ptr->colour;
      ++  return ptr->color;
      + }
      +
  • +
  • The gcc and g++ driver programs will now + provide suggestions for misspelled arguments to command-line options. +
    +$ gcc -c test.c -ftls-model=global-dinamic
    +gcc: error: unknown TLS model 'global-dinamic'
    +gcc: note: valid arguments to '-ftls-model=' are: global-dynamic initial-exec local-dynamic local-exec; did you mean 'global-dynamic'?
    +
  • +
  • The compiler will now provide suggestions for misspelled parameters. +
    +$ gcc -c test.c --param max-early-inliner-iteration=3 
    +cc1: error: invalid --param name 'max-early-inliner-iteration'; did you mean 'max-early-inliner-iterations'?
    +
  • + +
  • Profile-guided optimization (PGO) instrumentation, as well as test coverage (GCOV), + can newly instrument constructors (functions marks with __attribute__((constructor))), + destructors and C++ constructors (and destructors) of classes that are used + as a type of a global variable. +
  • +
  • A new option -fprofile-update=atomic prevents creation of corrupted + profiles created during instrumentation run (-fprofile=generate) + of an application. Downside of the option is a speed penalty. Providing + -pthread on command line would result in selection of atomic + profile updating (when supports by a target). +
  • +
  • +

    GCC's already extensive testsuite has gained some new + capabilities, to further improve the reliability of the compiler:

    +
      +
    • GCC now has has an internal unit testing API and a suite of tests + for programmatic self-testing of subsystems.
    • +
    • GCC's C frontend has been extended so that it can parse dumps of + GCC's internal representations, allowing for DejaGnu tests + that more directly exercise specific optimization passes. This + covers both the + + GIMPLE representation (for testing higher-level + optimizations) and the + + RTL representation, allowing for more direct testing of + lower-level details, such as register allocation and instruction + selection.
    • +
    +
  • +
+ + + + + + + + + + + + + + + + --- gcc-7-7.1.0.orig/debian/README.Bugs.m4 +++ gcc-7-7.1.0/debian/README.Bugs.m4 @@ -0,0 +1,333 @@ +Reporting Bugs in the GNU Compiler Collection for DIST +======================================================== + +Before reporting a bug, please +------------------------------ + +- Check that the behaviour really is a bug. Have a look into some + ANSI standards document. + +- Check the list of well known bugs: http://gcc.gnu.org/bugs.html#known + +- Try to reproduce the bug with a current GCC development snapshot. You + usually can get a recent development snapshot from the gcc-snapshot +ifelse(DIST,`Debian',`dnl + package in the unstable (or experimental) distribution. + + See: http://packages.debian.org/gcc-snapshot +', DIST, `Ubuntu',`dnl + package in the current development distribution. + + See: http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-snapshot/ +')dnl + +- Try to find out if the bug is a regression (an older GCC version does + not show the bug). + +- Check if the bug is already reported in the bug tracking systems. + +ifelse(DIST,`Debian',`dnl + Debian: http://bugs.debian.org/debian-gcc@lists.debian.org +', DIST, `Ubuntu',`dnl + Ubuntu: https://bugs.launchpad.net/~ubuntu-toolchain/+packagebugs + Debian: http://bugs.debian.org/debian-gcc@lists.debian.org +')dnl + Upstream: http://gcc.gnu.org/bugzilla/ + + +Where to report a bug +--------------------- + +ifelse(DIST,`Debian',`dnl +Please report bugs found in the packaging of GCC to the Debian bug tracking +system. See http://www.debian.org/Bugs/ for instructions (or use the +reportbug script). +', DIST, `Ubuntu',`dnl +Please report bugs found in the packaging of GCC to Launchpad. See below +how issues should be reported. +')dnl + +DIST's current policy is to closely follow the upstream development and +only apply a minimal set of patches (which are summarized in the README.Debian +document). + +ifelse(DIST,`Debian',`dnl +If you think you have found an upstream bug, you did check the section +above ("Before reporting a bug") and are able to provide a complete bug +report (see below "How to report a bug"), then you may help the Debian +GCC package maintainers, if you report the bug upstream and then submit +a bug report to the Debian BTS and tell us the upstream report number. +This way you are able to follow the upstream bug handling as well. If in +doubt, report the bug to the Debian BTS (but read "How to report a bug" +below). +', DIST, `Ubuntu',`dnl +If you think you have found an upstream bug, you did check the section +above ("Before reporting a bug") and are able to provide a complete bug +report (see below "How to report a bug"), then you may help the Ubuntu +GCC package maintainers, if you report the bug upstream and then submit +a bug report to Launchpad and tell us the upstream report number. +This way you are able to follow the upstream bug handling as well. If in +doubt, report the bug to Launchpad (but read "How to report a bug" below). + +Report the issue to https://bugs.launchpad.net/ubuntu/+source/SRCNAME. +')dnl + + +How to report a bug +------------------- + +There are complete instructions in the gcc info manual (found in the +gcc-doc package), section Bugs. + +The manual can be read using `M-x info' in Emacs, or if the GNU info +program is installed on your system by `info --node "(gcc)Bugs"'. Or see +the file BUGS included with the gcc source code. + +Online bug reporting instructions can be found at + + http://gcc.gnu.org/bugs.html + +[Some paragraphs taken from the above URL] + +The main purpose of a bug report is to enable us to fix the bug. The +most important prerequisite for this is that the report must be +complete and self-contained, which we explain in detail below. + +Before you report a bug, please check the list of well-known bugs and, +if possible in any way, try a current development snapshot. + +Summarized bug reporting instructions +------------------------------------- + +What we need + +Please include in your bug report all of the following items, the +first three of which can be obtained from the output of gcc -v: + + * the exact version of GCC; + * the system type; + * the options given when GCC was configured/built; + * the complete command line that triggers the bug; + * the compiler output (error messages, warnings, etc.); and + * the preprocessed file (*.i*) that triggers the bug, generated by + adding -save-temps to the complete compilation command, or, in + the case of a bug report for the GNAT front end, a complete set + of source files (see below). + +What we do not want + + * A source file that #includes header files that are left out + of the bug report (see above) + * That source file and a collection of header files. + * An attached archive (tar, zip, shar, whatever) containing all + (or some :-) of the above. + * A code snippet that won't cause the compiler to produce the + exact output mentioned in the bug report (e.g., a snippet with + just a few lines around the one that apparently triggers the + bug, with some pieces replaced with ellipses or comments for + extra obfuscation :-) + * The location (URL) of the package that failed to build (we won't + download it, anyway, since you've already given us what we need + to duplicate the bug, haven't you? :-) + * An error that occurs only some of the times a certain file is + compiled, such that retrying a sufficient number of times + results in a successful compilation; this is a symptom of a + hardware problem, not of a compiler bug (sorry) + * E-mail messages that complement previous, incomplete bug + reports. Post a new, self-contained, full bug report instead, if + possible as a follow-up to the original bug report + * Assembly files (*.s) produced by the compiler, or any binary files, + such as object files, executables, core files, or precompiled + header files + * Duplicate bug reports, or reports of bugs already fixed in the + development tree, especially those that have already been + reported as fixed last week :-) + * Bugs in the assembler, the linker or the C library. These are + separate projects, with separate mailing lists and different bug + reporting procedures + * Bugs in releases or snapshots of GCC not issued by the GNU + Project. Report them to whoever provided you with the release + * Questions about the correctness or the expected behavior of + certain constructs that are not GCC extensions. Ask them in + forums dedicated to the discussion of the programming language + + +Known Bugs and Non-Bugs +----------------------- + +[Please see /usr/share/doc/gcc/FAQ or http://gcc.gnu.org/faq.html first] + + +C++ exceptions don't work with C libraries +------------------------------------------ + +[Taken from the closed bug report #22769] C++ exceptions don't work +with C libraries, if the C code wasn't designed to be thrown through. +A solution could be to translate all C libraries with -fexceptions. +Mostly trying to throw an exception in a callback function (qsort, +Tcl command callbacks, etc ...). Example: + + #include + #include + + class A {}; + + static + int SortCondition(void const*, void const*) + { + printf("throwing 'sortcondition' exception\n"); + throw A(); + } + + int main(int argc, char *argv[]) + { + int list[2]; + + try { + SortCondition(NULL,NULL); + } catch (A) { + printf("caught test-sortcondition exception\n"); + } + try { + qsort(&list, sizeof(list)/sizeof(list[0]),sizeof(list[0]), + &SortCondition); + } catch (A) { + printf("caught real-sortcondition exception\n"); + } + return 0; +} + +Andrew Macleod responded: + +When compiled with the table driven exception handling, exception can only +be thrown through functions which have been compiled with the table driven EH. +If a function isn't compiled that way, then we do not have the frame +unwinding information required to restore the registers when unwinding. + +I believe the setjmp/longjmp mechanism will throw through things like this, +but its produces much messier code. (-fsjlj-exceptions) + +The C compiler does support exceptions, you just have to turn them on +with -fexceptions. + +Your main options are to: + a) Don't use callbacks, or at least don't throw through them. + b) Get the source and compile the library with -fexceptions (You have to + explicitly turn on exceptions in the C compiler) + c) always use -fsjlj-exceptions (boo, bad choice :-) + + +g++: "undefined reference" to static const array in class +--------------------------------------------------------- + +The following code compiles under GNU C++ 2.7.2 with correct results, +but produces the same linker error with GNU C++ 2.95.2. +Alexandre Oliva responded: + +All of them are correct. A static data member *must* be defined +outside the class body even if it is initialized within the class +body, but no diagnostic is required if the definition is missing. It +turns out that some releases do emit references to the missing symbol, +while others optimize it away. + +#include + +class Test +{ + public: + Test(const char *q); + protected: + static const unsigned char Jam_signature[4] = "JAM"; +}; + +Test::Test(const char *q) +{ + if (memcmp(q, Jam_signature, sizeof(Jam_signature)) != 0) + cerr << "Hello world!\n"; +} + +int main(void) +{ + Test::Test("JAM"); + return 0; +} + +g++: g++ causes passing non const ptr to ptr to a func with const arg + to cause an error (not a bug) +--------------------------------------------------------------------- + +Example: + +#include +void test(const char **b){ + printf ("%s\n",*b); +} +int main(void){ + char *test1="aoeu"; + test(&test1); +} + +make const +g++ const.cc -o const +const.cc: In function `int main()': +const.cc:7: passing `char **' as argument 1 of `test(const char **)' adds cv-quals without intervening `const' +make: *** [const] Error 1 + +Answer from "Martin v. Loewis" : + +> ok... maybe I missed something.. I haven't really kept up with the latest in +> C++ news. But I've never heard anything even remotly close to passing a non +> const var into a const arg being an error before. + +Thanks for your bug report. This is a not a bug in the compiler, but +in your code. The standard, in 4.4/4, puts it that way + +# A conversion can add cv-qualifiers at levels other than the first in +# multi-level pointers, subject to the following rules: +# Two pointer types T1 and T2 are similar if there exists a type T and +# integer n > 0 such that: +# T1 is cv(1,0) pointer to cv(1,1) pointer to ... cv(1,n-1) +# pointer to cv(1,n) T +# and +# T2 is cv(2,0) pointer to cv(2,1) pointer to ... cv(2,n-1) +# pointer to cv(2,n) T +# where each cv(i,j) is const, volatile, const volatile, or +# nothing. The n-tuple of cv-qualifiers after the first in a pointer +# type, e.g., cv(1,1) , cv(1,2) , ... , cv(1,n) in the pointer type +# T1, is called the cv-qualification signature of the pointer type. An +# expression of type T1 can be converted to type T2 if and only if the +# following conditions are satisfied: +# - the pointer types are similar. +# - for every j > 0, if const is in cv(1,j) then const is in cv(2,j) , +# and similarly for volatile. +# - if the cv(1,j) and cv(2,j) are different, then const is in every +# cv(2,k) for 0 < k < j. + +It is the last rule that your code violates. The standard gives then +the following example as a rationale: + +# [Note: if a program could assign a pointer of type T** to a pointer +# of type const T** (that is, if line //1 below was allowed), a +# program could inadvertently modify a const object (as it is done on +# line //2). For example, +# int main() { +# const char c = 'c'; +# char* pc; +# const char** pcc = &pc; //1: not allowed +# *pcc = &c; +# *pc = 'C'; //2: modifies a const object +# } +# - end note] + +If you question this line of reasoning, please discuss it in one of +the public C++ fora first, eg. comp.lang.c++.moderated, or +comp.std.c++. + + +cpp removes blank lines +----------------------- + +With the new cpp, you need to add -traditional to the "cpp -P" args, else +blank lines get removed. + +[EDIT ME: scan Debian bug reports and write some nice summaries ...] --- gcc-7-7.1.0.orig/debian/README.C++ +++ gcc-7-7.1.0/debian/README.C++ @@ -0,0 +1,35 @@ +libstdc++ is an implementation of the Standard C++ Library, including the +Standard Template Library (i.e. as specified by ANSI and ISO). + +Some notes on porting applications from libstdc++-2.90 (or earlier versions) +to libstdc++-v3 can be found in the libstdc++6-4.3-doc package. After the +installation of the package, look at: + + file:///usr/share/doc/gcc-4.3-base/libstdc++/html/17_intro/porting-howto.html + +On Debian GNU/Linux you find additional documentation in the +libstdc++6-4.3-doc package. After installing these packages, +point your browser to + + file:///usr/share/doc/libstdc++6-4.3-doc/libstdc++/html/index.html + +Other documentation can be found: + + http://www.sgi.com/tech/stl/ + +with a good, recent, book on C++. + +A great deal of useful C++ documentation can be found in the C++ FAQ-Lite, +maintained by Marshall Cline . It can be found at the +mirror sites linked from the following URL (this was last updated on +2010/09/11): + + http://www.parashift.com/c++-faq/ + +or use some search engin site to find it, e.g.: + + http://www.google.com/search?q=c%2B%2B+faq+lite + +Be careful not to use outdated mirors. + +Please send updates to this list as bug report for the g++ package. --- gcc-7-7.1.0.orig/debian/README.Debian +++ gcc-7-7.1.0/debian/README.Debian @@ -0,0 +1,45 @@ + The Debian GNU Compiler Collection setup + ======================================== + +Please see the README.Debian in /usr/share/doc/gcc, contained in the +gcc package for a description of the setup of the different compiler +versions. + +For general discussion about the Debian toolchain (GCC, glibc, binutils) +please use the mailing list debian-toolchain@lists.debian.org; for GCC +specific things, please use debian-gcc@lists.debian.org. When in doubt +use the debian-toolchain ML. + + +Maintainers of these packages +----------------------------- + +Matthias Klose +Ludovic Brenta (gnat) +Iain Buclaw (gdc) +Aurelien Jarno (mips*-linux) +Aurelien Jarno (s390X*-linux) + +The following ports lack maintenance in Debian: powerpc, ppc64, +sparc, sparc64 (unmentioned ports are usually handled by the Debian +porters). + +Former and/or inactive maintainers of these packages +---------------------------------------------------- + +Falk Hueffner (alpha-linux) +Ray Dassen +Jeff Bailey (hurd-i386) +Joel Baker (netbsd-i386) +Randolph Chung (ia64-linux) +Philip Blundell (arm-linux) +Ben Collins (sparc-linux) +Dan Jacobowitz (powerpc-linux) +Thiemo Seufer (mips*-linux) +Matt Taggart (hppa-linux) +Gerhard Tonn (s390-linux) +Roman Zippel (m68k-linux) +Arthur Loiret (gdc) + +=============================================================================== + --- gcc-7-7.1.0.orig/debian/README.cross +++ gcc-7-7.1.0/debian/README.cross @@ -0,0 +1,144 @@ +Building cross-compiler Debian packages +--------------------------------------- + +It is possible to build C and C++ cross compilers and support libraries +from gcc-4.0 source package. This document describes how to do so. +Cross-compiler build support is not perfect yet, please send fixes +and improvements to debian-gcc@lists.debian.org and +debian-embedded@lists.debian.org + +Before you start, you should probably check available pre-built +cross-toolchain debs. Available at http://www.emdebian.org + +Old patches could be reached at + http://zigzag.lvk.cs.msu.su/~nikita/debian/ + +If they are no longer there, you may check EmDebian web site at + http://www.emdebian.org/ +or ask debian-embedded@lists.debian.org for newer location. + +Please check http://bugs.debian.org/391445 if you are about building +gcc-4.3 or above. + +Most of them has been merged with gcc debian sources. + +0. What's wrong with toolchain-source approach + +Package toolchain-source contains sources for binutils and gcc, as well as +some support scripts to build cross-compiler packages. They seem to work. + +However, there is one fundamental problem with this approach. +Gcc package is actively maintained and frequently updated. These updates +do contain bug fixes and improvements, especially for non-x86 architectures. +Cross-compilers built using toolchain-source will not get those fixes unless +toolchain-source package is updated after each binutils and gcc update. +The later is not hapenning in real life. For example, toolchain-source +was upgraded from gcc-3.2 to gcc-3.3 half a year later than gcc-3.3 became +Debian default compiler. + +Keeping toolchain-source package up-to-date requires lots of work, and seems +to be a waste of time. It is much better to build cross-compilers directly +from gcc source package. + + +1. What is needed to build a cross-compiler from gcc-4.3 source + +1.1. dpkg-cross package + +Dpkg-cross package contains several tools to manage cross-compile environment. + +It can convert native debian library and lib-dev packages for the target +architecture to binary-all packages that keep libraries and headers under +/usr/$(TARGET)/. + +Also it contains helper tools for cross-compiling debian packages. Some of +these tools are used while building libgcc1 and libstdc++ library packages. +The resulting library packages follow the same convensions as library packages +converted by dpkg-cross. + +Currently, at least version 1.18 of dpkg-cross is needed for cross-gcc +package build. Version 1.32 of dpkg-cross is needed in order to build gcc-4.3. + +1.2. cross-binutils for the target + +You need cross-binutils for your target to build cross-compiler. +Binutils-multiarch package will not work because it does not provide cross- +assemblers. + +If you don't want to use pre-built cross-binutils packages, you may build +your own from binutils debian source package, using patches posted to +bug #231707. Please use the latest of patch versions available there. + +Alternatively, you may use toolchain-source package to build cross-binutils +(but in this case you will probably also want to use toolchain-source +to build cross-compiler itself). However, multilib'ed cross-compilers may +not build or work with these binutils. + +1.3. libc for target + +You also need libc library and development packages for the target +architecture installed. + +To get those, download linux-kernel-headers, libc6, and libc6-dev binary +debs for your target, convert those using dpkg-cross -b, and install +resulting -arch-cross debs. Consult dpkg-cross manual page for more +information. + +Building with/for alternative libc's is not supported yet (but this is in +TODO). + +Note that if you plan to use your cross-toolchain to develop kernel drivers +or similar low-level things, you will probably also need kernel headers +for the exact kernel version that your target hardware uses. + + +2. Building cross-compiler packages + +Get gcc-4.3 source package. + +Unpack it using dpkg-source -x, and cd to the package directory. + +Set GCC_TARGET environment variable to the target architectire name. Note +that currently you should use debian architecture name (i.e 'powerpc' or 'arm'), +not GNU system type (i.e. 'powerpc-linux' or 'arm-linux'). Setting GCC_TARGET +to GNU system type will cause cross-compiler build to fail. + +Instead of setting GCC_TARGET, target architecture name may be put into +debian/target file. If both GCC_TARGET is defined and debian/target file +exists, GCC_TARGET is used. + +Run debian/rules control. This will change debian/control file, +adjusting build-depends. By default, the packages will not depend on the +system -base package. A variable DEB_CROSS_INDEPENDENT has been merged with DEB_CROSS variable. + +You can then build with either + +$ GCC_TARGET=[arch] dpkg-buildpackage -rfakeroot + +3. Using crosshurd + +Jeff Bailey suggests alternate way to setup +environment to build cross-compiler, using 'crosshurd' package. +Crosshurd is like debootstrap but cross-arch, and works on the Hurd, +Linux and FreeBSD. (The name is historical). + +If you setup your environment with crosshurd, you will need to fix symlinks +in lib and usr/lib to be relative instead of absolute. For example: + +lrwxrwxrwx 1 root root 20 2004-05-06 23:02 libcom_err.so -> /lib/libcom_err.so.2 + +Needs to be changed to: + +lrwxrwxrwx 1 root root 20 2004-05-06 23:02 libcom_err.so -> ../../lib/libcom_err.so.2 + +Also, if you choose this method, set the environment variable 'with_sysroot' +to point to the ABSOLUTE PATH where the crosshurd was done. + +Note however that build-depends of cross-gcc and dependencies in generated +libgcc1 and libstdc++ packages assume that you use dpkg-cross to set up +your environment, and may be wrong or incomplete if you use alternate methods. +But probably you don't care. + +-- +Nikita V. Youshchenko - Jun 2004 +Hector Oron Martinez - Oct 2006 --- gcc-7-7.1.0.orig/debian/README.gnat +++ gcc-7-7.1.0/debian/README.gnat @@ -0,0 +1,35 @@ +If you want to develop Ada programs and libraries on Debian, please +read the Debian Policy for Ada: + +http://people.debian.org/~lbrenta/debian-ada-policy.html + +The default Ada compiler is and always will be the package `gnat'. +Debian contains many programs and libraries compiled with it, which +are all ABI-compatible. + +Starting with gnat-4.2, Debian provides both zero-cost and +setjump/longjump versions of the run-time library. The zero-cost +exception handling mechanism is the default as it provides the best +performance. The setjump/longjump exception handling mechanism is new +and only provided as a static library. It is necessary to use this +exception handling mechanism in distributed (annex E) programs. If +you wish to use the new sjlj library: + +1) call gnatmake with --RTS=sjlj +2) call gnatbind with -static + +Do NOT link your programs with libgnat-4.2.so, because it uses the ZCX +mechanism. + + +This package also includes small tools covering specific needs. + +* When linking objects compiled from both Ada and C sources, you need + to use compatible versions of the Ada and C compilers. The + /usr/bin/gnatgcc symbolic link targets a version of the C compiler + compatible with the default Ada compiler, and may differ from the + default C compiler /usr/bin/gcc. + +* When packaging Ada sources for Debian, you may want to read the + /usr/share/ada/debian_packaging.mk Makefile snippet and/or include + it from debian/rules in order to set sensible defaults. --- gcc-7-7.1.0.orig/debian/README.libstdc++-baseline.in +++ gcc-7-7.1.0/debian/README.libstdc++-baseline.in @@ -0,0 +1,2 @@ +The libstdc++ baseline file is a list of symbols exported by the +libstdc++ library. --- gcc-7-7.1.0.orig/debian/README.maintainers +++ gcc-7-7.1.0/debian/README.maintainers @@ -0,0 +1,190 @@ +-*- Outline -*- + +Read this file if you are a Debian Developer or would like to become +one, or if you would like to create your own binary packages of GCC. + +* Overview + +From the GCC sources, Debian currently builds 3 source packages and +almost 100 binary packages, using a single set of build scripts. The +3 source packages are: + +gcc-x.y: C, C++, Fortran, Objective-C and Objective-C++, plus many + common libraries like libssp and libgcc. +gnat-x.y: Ada. + +The way we do this is quite peculiar, so listen up :) + +When we build from the gcc-x.y source package, we produce, among many +others, a gcc-x.y-source binary package that contains the pristine +upstream tarball and some Debian-specific patches. Any user can then +install this package on their Debian system, and will have the full +souces in /usr/src/gcc-x.y/gcc-.tar.bz2, along with the +Makefile snippets that unpack and patch them. + +The intended use for this package is twofold: (a) allow users to build +their own cross-compilers, and (b) build the other packages like +gnat-x.y. + +- gcc-x.y requires only a C compiler to build and produces C, C++, + Fortran, Go and Objective-C compilers and libraries. It also + produces the binary package gcc-x.y-source containing all the + sources and patches in a tarball. + +- gnat-x.y build-depends on gcc-x.y-source and an Ada compiler. It + does not even have an .orig.tar.bz2 package; it is a Debian native + package. + +The benefits of this split are many: + +- bootstrapping a subset of languages is much faster than + bootstrapping all languages and libraries (which can take a full + week on slow architectures like mips or arm) + +- the language maintainers don't have to wait for each other + +- for new ports, the absence of a port of, say, gnat-x.y does not + block the porting of gcc-x.y. + +gcc-x.y-source is also intended for interested users to build +cross-compiler packages. Debian cannot provide all possible +cross-compiler packages (i.e. all possible host, target, language and +library combinations), so instead tries to facilitate building them. + +* The build sequence + +As for all other Debian packages, you build GCC by calling +debian/rules. + +The first thing debian/rules does it to look at the top-most entry in +debian/changelog: this tells it which source package it is building. +For example, if the first entry in debian/changelog reads: + +gnat-6 (6.2.0-1) unstable; urgency=low + + * Upload as gnat-6. + + -- Ludovic Brenta Tue, 26 Jun 2007 00:26:42 +0200 + +then, debian/rules will build only the gnat binary packages. + +The second step is to build debian/control from debian/control.m4 and +a complex set of rules specified in debian/rules.conf. The resulting +control file contains only the binary packages to be built. + +The third step is to select which patches to apply (this is done in +debian/rules.defs), and then to apply the selected patches (see +debian/rules.patch). The result of this step is a generated +debian/patches/series file for use by quilt. + +The fourth step is to unpack the GCC source tarball. This tarball is +either in the build directory (when building gcc-x.y), or in +/usr/src/gcc-x.y/gcc-x.y.z.tar.xz (when building the other source +packages). + +The fifth step is to apply all patches to the unpacked sources with +quilt. + +The sixth step is to create a "build" directory, cd into it, call +../src/configure, and bootstrap the compiler and libraries selected. +This is in debian/rules2. + +The seventh step is to call "make install" in the build directory: +this installs the compiler and libraries into debian/tmp +(i.e. debian/tmp/usr/bin/gcc, etc.) + +The eighth step is to run the GCC test suite. This actually takes at +least as much time as bootstrapping, and you can disable it by setting +WITHOUT_CHECK to "yes" in the environment. + +The ninth step is to build the binary packages, i.e. the .debs. This +is done by a set of language- and architecture-dependent Makefile +snippets in the debian/rules.d/ directory, which move files from the +debian/tmp tree to the debian/ trees. + +* Making your own packages + +In this example, we will build our own gnat-x.y package. + +1) Install gcc-x.y-source, which contains the real sources: + +# aptitude install gcc-x.y-source + +2) Create a build directory: + +$ mkdir gnat-x.y-x.y.z; cd gnat-x.y-x.y.z + +3) Checkout from Subversion: + +$ svn checkout svn://svn.debian.org/gcccvs/branches/sid/gcc-x.y/debian + +4) Edit the debian/changelog file, adding a new entry at the top that + starts with "gnat-x.y". + +5) Generate the debian/control file, adjusted for gnat: + +$ debian/rules control + +8) Build: + +$ dpkg-buildpackage + +* Hints + +You need a powerful machine to build GCC. The larger, the better. +The build scripts take advantage of as many CPU threads as are +available in your box (for example: 2 threads on a dual-core amd64; 4 +threads on a dual-core POWER5; 32 threads on an 8-core UltraSPARC T1, +etc.). + +If you have 2 GB or more of physical RAM, you can achieve maximum +performance by building in a tmpfs, like this: + +1) as root, create the new tmpfs: + +# mount -t tmpfs -o size=1280m none /home/lbrenta/src/debian/ram + +By default, the tmpfs will be limited to half your physical RAM. The +beauty of it is that it only consumes as much physical RAM as +necessary to hold the files in it; deleting files frees up RAM. + +2) As your regular user, create the working directory in the tmpfs + +$ cp --archive ~/src/debian/gcc-x.y-x.y.z ~/src/debian/ram + +3) Build in there. On my dual-core, 2 GHz amd64, it takes 34 minutes + to build gnat, and the tmpfs takes 992 MiB of physical RAM but + exceeds 1 GiB during the build. + +Note that the build process uses a lot of temporary files. Your $TEMP +directory should therefore also be in a ram disk. You can achieve +that either by mounting it as tmpfs, or by setting TEMP to point to +~/src/debian/ram. + +Also note that each thread in your processor(s) will run a compiler in +it and use up RAM. Therefore your physical memory should be: + +Physical_RAM >= 1.2 + 0.4 * Threads (in GiB) + +(this is an estimate; your mileage may vary). If you have less +physical RAM than recommended, reduce the number of threads allocated +to the build process, or do not use a tmpfs to build. + +* Patching GCC + +Debian applies a large number of patches to GCC as part of the build +process. It uses quilt but the necessary debian/patches/series is not +part of the packaging scripts; instead, "debian/rules patch" generates +this file by looking at debian/control (which is itself generated!), +debian/changelog and other files. Then it applies all the patches. +At this point, you can use quilt as usual: + +$ cd ~/src/debian/gcc-x.y +$ export QUILT_PATCHES=$PWD/debian/patches +$ quilt series + +If you add new patches, remember to add them to the version control +system too. + +-- +Ludovic Brenta, 2012-04-02. --- gcc-7-7.1.0.orig/debian/README.snapshot +++ gcc-7-7.1.0/debian/README.snapshot @@ -0,0 +1,36 @@ +Debian gcc-snapshot package +=========================== + +This package contains a recent development SNAPSHOT of all files +contained in the GNU Compiler Collection (GCC). + +DO NOT USE THIS SNAPSHOT FOR BUILDING DEBIAN PACKAGES! + +This package will NEVER hit the testing distribution. It's used for +tracking gcc bugs submitted to the Debian BTS in recent development +versions of gcc. + +To use this snapshot, you should set the following environment variables: + + LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH + PATH=/usr/lib/gcc-snapshot/bin:$PATH + +You might also like to use a shell script to wrap up this +funcationality, e.g. + +place in /usr/local/bin/gcc-snapshot and chmod +x it + +----------- snip ---------- +#! /bin/sh +LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH +PATH=/usr/lib/gcc-snapshot/bin:$PATH +gcc "$@" +----------- snip ---------- + +Make the same for g++, g77, cpp, ... + +Don't forget the quotes around the $@ or gcc will not parse it's +command line correctly! + +Unset these variables before building Debian packages destined for an +upload to ftp-master.debian.org. --- gcc-7-7.1.0.orig/debian/README.source +++ gcc-7-7.1.0/debian/README.source @@ -0,0 +1,16 @@ +Patches applied to the Debian version of GCC +-------------------------------------------- + +Debian specific patches can be found in the debian/patches directory. +Quilt is used as the patch system. See /usr/share/doc/quilt/README.source +for details about quilt. + +Patches are applied by calling `debian/rules patch'. The `series' +file is constructed on the fly based on the files found in the to +debian/rules.patch "debian_patches" variable, configure scripts are +regenerated in the `patch' target. The gcc source is unpacked under +src/ this needs to be reflected in the patch header. + +The source packages gdc-x.y and gnat-x.y do not contain copies of the +source code but build-depend on the appropriate gcc-x.y-source package +instead. --- gcc-7-7.1.0.orig/debian/README.ssp +++ gcc-7-7.1.0/debian/README.ssp @@ -0,0 +1,28 @@ +Stack smashing protection is a feature of GCC that enables a program to +detect buffer overflows and immediately terminate execution, rather than +continuing execution with corrupt internal data structures. It uses +"canaries" and local variable reordering to reduce the likelihood of +stack corruption through buffer overflows. + +Options that affect stack smashing protection: + +-fstack-protector + Enables protection for functions that are vulnerable to stack + smashing, such as those that call alloca() or use pointers. + +-fstack-protector-all + Enables protection for all functions. + +-Wstack-protector + Warns about functions that will not be protected. Only active when + -fstack-protector has been used. + +Applications built with stack smashing protection should link with the +ssp library by using the option "-lssp" for systems with glibc-2.3.x or +older; glibc-2.4 and newer versions provide this functionality in libc. + +The Debian architectures alpha, hppa, ia64, m68k, mips, mipsel do not +have support for stack smashing protection. + +More documentation can be found at the project's website: +http://researchweb.watson.ibm.com/trl/projects/security/ssp/ --- gcc-7-7.1.0.orig/debian/TODO +++ gcc-7-7.1.0/debian/TODO @@ -0,0 +1,46 @@ +(It is recommended to edit this file with emacs' todoo mode) +Last updated: 2008-05-02 + +* General + +- Clean up the sprawl of debian/rules. I'm sure there are neater + ways to do some of it; perhaps split it up into some more files? + Partly done. + +- Make debian/rules control build the control file without unpacking + the sources or applying patches. Currently, it unpacks the sources, + patches them, creates the control file, and a subsequent + dpkg-buildpackage deletes the sources, re-unpacks them, and + re-patches them. + +- Reorganise debian/rules.defs to decide which packages to build in a + more straightforward and less error-prone fashion: (1) start with + all languages; override the list of languages depending on the name + of the source package (gcc-4.3, gnat-4.3, gdc-4.3). (2) + filter the list of languages depending on the target platform; (3) + depending on the languages to build, decide on which libraries to + build. + +o [Ludovic Brenta] Ada + +- Done: Link the gnat tools with libgnat.so, instead of statically. + +- Done: Build libgnatvsn containing parts of the compiler (version + string, etc.) under GNAT-Modified GPL. Link the gnat tools with it. + +- Done: Build libgnatprj containing parts of the compiler (the project + manager) under pure GPL. Link the gnat tools with it. + +- Done: Build both the zero-cost and setjump/longjump exceptions + versions of libgnat. In particular, gnat-glade (distributed systems) + works best with SJLJ. + +- Done: Re-enable running the test suite. + +- Add support for building cross-compilers. + +- Add support for multilib (not yet supported upstream). + +* Fortran + +- gfortran man page generation --- gcc-7-7.1.0.orig/debian/acats-killer.sh +++ gcc-7-7.1.0/debian/acats-killer.sh @@ -0,0 +1,62 @@ +#! /bin/sh + +# on ia64 systems, the acats hangs in unaligned memory accesses. +# kill these testcases. + +pidfile=acats-killer.pid + +usage() +{ + echo >&2 "usage: `basename $0` [-p ] " + exit 1 +} + +while [ $# -gt 0 ]; do + case $1 in + -p) + pidfile=$2 + shift + shift + ;; + -*) + usage + ;; + *) + break + esac +done + +[ $# -eq 2 ] || usage + +logfile=$1 +stopfile=$2 +interval=30 + +echo $$ > $pidfile + +while true; do + if [ -f "$stopfile" ]; then + echo "`basename $0`: finished." + rm -f $pidfile + exit 0 + fi + sleep $interval + if [ ! -f "$logfile" ]; then + continue + fi + pids=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }') + if [ -n "$pids" ]; then + sleep $interval + pids2=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }') + if [ "$pids" = "$pids2" ]; then + #echo kill: $pids + kill $pids + sleep 1 + pids2=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }') + if [ "$pids" = "$pids2" ]; then + #echo kill -9: $pids + kill -9 $pids + fi + fi + fi +done --- gcc-7-7.1.0.orig/debian/ada/confirm_debian_bugs.py +++ gcc-7-7.1.0/debian/ada/confirm_debian_bugs.py @@ -0,0 +1,968 @@ +#!/usr/bin/env python + +# Helper when migrating bugs from a gnat version to another. + +from __future__ import print_function +import os.path +import re +import shutil +import subprocess +import tempfile + +os.environ ['LC_ALL'] = 'C' + +# If == new_version, "reassign" -> "found" and "retitle" -> "fixed". +# Once the bug tracking system is informed, +# please update this number. +old_version = "5" + +# The current version. +new_version = "6" + +for line in subprocess.check_output (("dpkg", "--status", "gnat-" + new_version)).split ("\n"): + if line.startswith ("Version: "): + deb_version = line [len ("Version: "):] + break +# Will cause an error later if deb_version is not defined. + +# Each bug has its own subdirectory in WORKSPACE. +# Every bug subdir is removed if the bug is confirmed, +# and WORKSPACE is removed if empty. +workspace = tempfile.mkdtemp (suffix = "-gnat-" + deb_version + "-bugs") + +def attempt_to_reproduce (bug, make, sources): + tmp_dir = os.path.join (workspace, "bug{}".format (bug)) + os.mkdir (tmp_dir) + + for (name, contents) in sources: + with open (os.path.join (tmp_dir, name), "w") as f: + f.write (contents) + + path = os.path.join (tmp_dir, "stderr.log") + with open (path, "w") as e: + status = subprocess.call (make, stderr=e, cwd=tmp_dir) + with open (path, "r") as e: + stderr = e.read () + return tmp_dir, status, stderr + +def reassign_and_remove_dir (bug, tmp_dir): + if old_version == new_version: + print ("found {} {}".format (bug, deb_version)) + else: + print ("reassign {} {} {}".format (bug, "gnat-" + new_version, deb_version)) + shutil.rmtree (tmp_dir) + +def report (bug, message, output): + print ("# {}: {}.".format (bug, message)) + for line in output.split ("\n"): + print ("# " + line) + +def report_and_retitle (bug, message, output): + report (bug, message, output) + if old_version == new_version: + print ("fixed {} {}".format (bug, deb_version)) + else: + print ("retitle {} [Fixed in {}] ".format (bug, new_version)) + +def check_compiles_but_should_not (bug, make, sources): + tmp_dir, status, stderr = attempt_to_reproduce (bug, make, sources) + if status == 0: + reassign_and_remove_dir (bug, tmp_dir) + else: + report_and_retitle (bug, "now fails to compile (bug is fixed?)", stderr) + +def check_reports_an_error_but_should_not (bug, make, sources, regex): + tmp_dir, status, stderr = attempt_to_reproduce (bug, make, sources) + if status == 0: + report_and_retitle (bug, "now compiles (bug is fixed?)", stderr) + elif re.search (regex, stderr): + reassign_and_remove_dir (bug, tmp_dir) + else: + report (bug, "still fails to compile, but with a new stderr", stderr) + +def check_reports_error_but_forgets_one (bug, make, sources, regex): + tmp_dir, status, stderr = attempt_to_reproduce (bug, make, sources) + if status == 0: + report (bug, "now compiles (?)", stderr); + elif re.search (regex, stderr): + report_and_retitle (bug, "now reports the error (bug is fixed ?)", stderr) + else: + reassign_and_remove_dir (bug, tmp_dir) + +def check_produces_a_faulty_executable (bug, make, sources, regex, trigger): + tmp_dir, status, stderr = attempt_to_reproduce (bug, make, sources) + if status != 0: + report (bug, "cannot compile the trigger anymore", stderr) + else: + output = subprocess.check_output ((os.path.join (tmp_dir, trigger),), cwd=tmp_dir) + if re.search (regex, output): + reassign_and_remove_dir (bug, tmp_dir) + else: + report_and_retitle (bug, "output of the trigger changed (bug fixed?)", output) + +###################################################################### + +check_reports_an_error_but_should_not ( + bug = 244936, + make = ("gnatmake", "p"), + regex = 'p\.ads:3:25: "foo" is hidden within declaration of instance', + sources = ( + ("foo.ads", """generic +procedure foo; +"""), + ("foo.adb", """procedure foo is +begin + null; +end foo; +"""), ("p.ads", """with foo; +package p is + procedure FOO is new foo; -- OK +end p; +"""))) + +check_compiles_but_should_not ( + bug = 244970, + make = ("gnatmake", "pak5"), + sources = ( + ("pak1.ads", """generic +package pak1 is +end pak1; +"""), + ("pak1-pak2.ads", """generic +package pak1.pak2 is +end pak1.pak2; +"""), + ("pak5.ads", """with pak1.pak2; +generic + with package new_pak2 is new pak1.pak2; -- ERROR: illegal use of pak1 +package pak5 is +end pak5; +"""))) + +check_reports_an_error_but_should_not ( + bug = 246187, + make = ("gnatmake", "test_43"), + regex = "Error detected at system.ads:156:5", + sources = ( + ("test_43.ads", """package Test_43 is + type T1 is private; + +private + + type T2 is record + a: T1; + end record; + type T2_Ptr is access T2; + + type T1 is record + n: T2_Ptr := new T2; + end record; + +end Test_43; +"""),)) + +check_compiles_but_should_not ( + bug = 247013, + make = ("gnatmake", "test_53"), + sources = ( + ("test_53.ads", """generic + type T1 is private; +package Test_53 is + type T2 (x: integer) is new T1; -- ERROR: x not used +end Test_53; +"""),)) + +check_compiles_but_should_not ( + bug = 247017, + make = ("gnatmake", "test_59"), + sources = ( + ("test_59.adb", """procedure Test_59 is + + generic + type T1 (<>) is private; + procedure p1(x: out T1); + + procedure p1 (x: out T1) is + b: boolean := x'constrained; --ERROR: not a discriminated type + begin + null; + end p1; + +begin + null; +end Test_59; +"""),)) + +check_compiles_but_should_not ( + bug = 247018, + make = ("gnatmake", "test_60"), + sources = ( + ("pak1.ads", """package pak1 is + generic + package pak2 is + end pak2; +end pak1; +"""), + ("test_60.ads", """with pak1; +package Test_60 is + package PAK1 is new pak1.pak2; --ERROR: illegal reference to pak1 +end Test_60; +"""))) + +check_compiles_but_should_not ( + bug = 247019, + make = ("gnatmake", "test_61"), + sources = ( + ("test_61.adb", """procedure Test_61 is + procedure p1; + + generic + package pak1 is + procedure p2 renames p1; + end pak1; + + package new_pak1 is new pak1; + procedure p1 renames new_pak1.p2; --ERROR: circular renames +begin + p1; +end Test_61; +"""),)) + +check_produces_a_faulty_executable ( + bug = 247569, + make = ("gnatmake", "test_75"), + trigger = "test_75", + regex = "failed: wrong p1 called", + sources = ( + ("test_75.adb", """with text_io; +procedure Test_75 is + generic + package pak1 is + type T1 is null record; + end pak1; + + generic + with package A is new pak1(<>); + with package B is new pak1(<>); + package pak2 is + procedure p1(x: B.T1); + procedure p1(x: A.T1); + end pak2; + + package body pak2 is + + procedure p1(x: B.T1) is + begin + text_io.put_line("failed: wrong p1 called"); + end p1; + + procedure p1(x: A.T1) is + begin + text_io.put_line("passed"); + end p1; + + x: A.T1; + begin + p1(x); + end pak2; + + package new_pak1 is new pak1; + package new_pak2 is new pak2(new_pak1, new_pak1); -- (1) + +begin + null; +end Test_75; +"""),)) + +check_compiles_but_should_not ( + bug = 247570, + make = ("gnatmake", "test_76"), + sources = ( + ("test_76.adb", """procedure Test_76 is + + generic + procedure p1; + + pragma Convention (Ada, p1); + + procedure p1 is + begin + null; + end p1; + + procedure new_p1 is new p1; + pragma Convention (Ada, new_p1); --ERROR: new_p1 already frozen + +begin + null; +end Test_76; +"""),)) + +check_produces_a_faulty_executable ( + bug = 247571, + make = ("gnatmake", "test_77"), + trigger = "test_77", + regex = "failed: wrong p1 called", + sources = ( + ("pak.ads", """package pak is + procedure p1; + procedure p1(x: integer); + pragma export(ada, p1); +end pak; +"""), + ("pak.adb", """with text_io; use text_io; +package body pak is + procedure p1 is + begin + put_line("passed"); + end; + + procedure p1(x: integer) is + begin + put_line("failed: wrong p1 called"); + end; +end pak; +"""), + ("test_77.adb", """with pak; +procedure Test_77 is + procedure p1; + pragma import(ada, p1); +begin + p1; +end Test_77; +"""))) + +check_compiles_but_should_not ( + bug = 248166, + make = ("gnatmake", "test_82"), + sources = ( + ("test_82.adb", """procedure Test_82 is + package pak1 is + type T1 is tagged null record; + end pak1; + + package body pak1 is + -- type T1 is tagged null record; -- line 7 + + function "=" (x, y : T1'class) return boolean is -- line 9 + begin + return true; + end "="; + + procedure proc (x, y : T1'class) is + b : boolean; + begin + b := x = y; --ERROR: ambiguous "=" + end proc; + + end pak1; + +begin + null; +end Test_82; +"""),)) + +check_compiles_but_should_not ( + bug = 248168, + make = ("gnatmake", "test_84"), + sources = ( + ("test_84.adb", """procedure Test_84 is + package pak1 is + type T1 is abstract tagged null record; + procedure p1(x: in out T1) is abstract; + end pak1; + + type T2 is new pak1.T1 with null record; + + protected type T3 is + end T3; + + protected body T3 is + end T3; + + procedure p1(x: in out T2) is --ERROR: declared after body of T3 + begin + null; + end p1; + +begin + null; +end Test_84; +"""),)) + +check_compiles_but_should_not ( + bug = 248678, + make = ("gnatmake", "test_80"), + sources = ( + ("test_80.ads", """package Test_80 is + generic + type T1(<>) is private; + with function "=" (Left, Right : T1) return Boolean is <>; + package pak1 is + end pak1; + + package pak2 is + type T2 is abstract tagged null record; + package new_pak1 is new pak1 (T2'Class); --ERROR: no matching "=" + end pak2; +end Test_80; +"""),)) + +check_compiles_but_should_not ( + bug = 248680, + make = ("gnatmake", "test_90"), + sources = ( + ("test_90.adb", """procedure Test_90 is + type T1 is tagged null record; + + procedure p1 (x : access T1) is + b: boolean; + y: aliased T1; + begin + B := Y'Access = X; -- ERROR: no matching "=" +-- B := X = Y'Access; -- line 11: error detected + end p1; + +begin + null; +end Test_90; +"""),)) + +check_compiles_but_should_not ( + bug = 248681, + make = ("gnatmake", "test_91"), + sources = ( + ("test_91.adb", """-- RM 8.5.4(5) +-- ...the convention of the renamed subprogram shall not be +-- Intrinsic. +with unchecked_deallocation; +procedure Test_91 is + generic -- when non generic, we get the expected error + package pak1 is + type int_ptr is access integer; + procedure free(x: in out int_ptr); + end pak1; + + package body pak1 is + procedure deallocate is new + unchecked_deallocation(integer, int_ptr); + procedure free(x: in out int_ptr) renames + deallocate; --ERROR: renaming as body can't rename intrinsic + end pak1; +begin + null; +end Test_91; +"""),)) + +check_compiles_but_should_not ( + bug = 248682, + make = ("gnatmake", "main"), + sources = ( + ("main.adb", """-- RM 6.3.1(9) +-- The default calling convention is Intrinsic for ... an attribute +-- that is a subprogram; + +-- RM 8.5.4(5) +-- ...the convention of the renamed subprogram shall not be +-- Intrinsic. +procedure main is + package pak1 is + function f1(x: integer'base) return integer'base; + end pak1; + + package body pak1 is + function f1(x: integer'base) return integer'base renames + integer'succ; --ERROR: renaming as body can't rename intrinsic + end pak1; +begin + null; +end; +"""),)) + +check_reports_an_error_but_should_not ( + bug = 253737, + make = ("gnatmake", "test_4"), + regex = 'test_4.ads:.:01: "pak2" not declared in "pak1"', + sources = ( + ("parent.ads", """generic +package parent is +end parent; +"""), + ("parent-pak2.ads", """generic +package parent.pak2 is +end parent.pak2; +"""), + ("parent-pak2-pak3.ads", """generic +package parent.pak2.pak3 is +end parent.pak2.pak3; +"""), + ("parent-pak2-pak4.ads", """with parent.pak2.pak3; +generic +package parent.pak2.pak4 is + package pak3 is new parent.pak2.pak3; +end parent.pak2.pak4; +"""), + ("pak1.ads", """with parent; +package pak1 is new parent; +"""), + ("pak6.ads", """with parent.pak2; +with pak1; +package pak6 is new pak1.pak2; +"""), + ("test_4.ads", """with parent.pak2.pak4; +with pak6; +package Test_4 is new pak6.pak4; +"""))) + +check_compiles_but_should_not ( + bug = 269948, + make = ("gnatmake", "test_119"), + sources = ( + ("test_119.ads", """-- RM 3.9.3/11 A generic actual subprogram shall not be an abstract +-- subprogram. works OK if unrelated line (A) is commented out. +package Test_119 is + generic + with function "=" (X, Y : integer) return Boolean is <>; -- Removing this allows GCC to detect the problem. + package pak1 is + function "=" (X, Y: float) return Boolean is abstract; + generic + with function Equal (X, Y : float) return Boolean is "="; --ERROR: + package pak2 is + end pak2; + end pak1; + + package new_pak1 is new pak1; + package new_pak2 is new new_pak1.pak2; +end Test_119; +"""),)) + +check_compiles_but_should_not ( + bug = 269951, + make = ("gnatmake", "test_118"), + sources = ( + ("pak1.ads", """generic +package pak1 is +end pak1; +"""), + ("pak1-foo.ads", """generic +package pak1.foo is +end pak1.foo; +"""), + ("test_118.ads", """with pak1.foo; +package Test_118 is + package pak3 is + foo: integer; + end pak3; + use pak3; + + package new_pak1 is new pak1; + use new_pak1; + + x: integer := foo; -- ERROR: foo hidden by use clauses +end Test_118; +"""),)) + +# As long as 24:14 is detected, it inhibits detection of 25:21. +check_reports_error_but_forgets_one ( + bug = 276224, + make = ("gnatmake", "test_121"), + regex = "test_121\.adb:25:21: dynamically tagged expression not allowed", + sources = ( + ("test_121.adb", """-- If the expected type for an expression or name is some specific +-- tagged type, then the expression or name shall not be dynamically +-- tagged unless it is a controlling operand in a call on a +-- dispatching operation. +procedure Test_121 is + package pak1 is + type T1 is tagged null record; + function f1 (x1: T1) return T1; + end pak1; + + package body pak1 is + function f1 (x1: T1) return T1 is + begin + return x1; + end; + end pak1; + use pak1; + + type T2 is record + a1: T1; + end record; + + z0: T1'class := T1'(null record); + z1: T1 := f1(z0); -- ERROR: gnat correctly rejects + z2: T2 := (a1 => f1(z0)); -- ERROR: gnat mistakenly allows +begin + null; +end Test_121; +"""),)) + +check_reports_an_error_but_should_not ( + bug = 276227, + make = ("gnatmake", "test_124"), + regex = 'test_124\.ads:6:35: size for "T_arr_constrained" too small, minimum allowed is 256', + sources = ( + ("test_124.ads", """package Test_124 is + type T is range 1 .. 32; + type T_arr_unconstrained is array (T range <>) of boolean; + type T_arr_constrained is new T_arr_unconstrained (T); + pragma pack (T_arr_unconstrained); + for T_arr_constrained'size use 32; +end Test_124; +"""),)) + +check_reports_an_error_but_should_not ( + bug = 278687, + make = ("gnatmake", "test_127"), + regex = 'test_127\.adb:1.:21: expected type "T2" defined at line .', + sources = ( + ("test_127.ads", """-- The second parameter of T2'Class'Read is of type T2'Class, +-- which should match an object of type T3, which is derived +-- from T2. +package test_127 is + pragma elaborate_body; +end test_127; +"""), + ("test_127.adb", """with ada.streams; +package body test_127 is + type T1 is access all ada.streams.root_stream_type'class; + type T2 is tagged null record; + type T3 is new T2 with null record; + + x: T1; + y: T3; +begin + T2'class'read(x, y); +end test_127; +"""))) + +check_compiles_but_should_not ( + bug = 278831, + make = ("gnatmake", "test_128"), + sources = ( + ("test_128.ads", """package Test_128 is + package inner is + private + type T1; + end inner; + type T1_ptr is access inner.T1; -- line 9 ERROR: gnat mistakenly accepts +end Test_128; +"""), + ("test_128.adb", """package body test_128 is + package body inner is + type T1 is new Integer; + end inner; +end Test_128; +"""))) + +# Note that we also check the absence of the next inhibited message. +check_reports_an_error_but_should_not ( + bug = 279893, + make = ("gnatmake", "test_129"), + regex = """^gcc-[0-9.]+ -c test_129\.ads +test_129\.ads:1.:49: designated type of actual does not match that of formal "T2" +test_129\.ads:1.:49: instantiation abandoned +gnatmake: "test_129\.ads" compilation error$""", + sources = ( + ("pak1.ads", """-- legal instantiation rejected; illegal instantiation accepted +-- adapted from John Woodruff c.l.a. post + +generic + type T1 is private; +package pak1 is + subtype T3 is T1; +end pak1; +"""), + ("pak2.ads", """with pak1; +generic + type T2 is private; +package pak2 is + package the_pak1 is new pak1 (T1 => T2); +end pak2; +"""), + ("pak2-pak3.ads", """generic + type T2 is access the_pak1.T3; +package pak2.pak3 is +end pak2.pak3; +"""), + ("test_129.ads", """with pak1; +with pak2.pak3; +package Test_129 is + + type T4 is null record; + type T5 is null record; + subtype T3 is T5; -- line 9: triggers the bug at line 16 + + type T4_ptr is access T4; + type T5_ptr is access T5; + + package new_pak2 is new pak2 (T2 => T4); + package new_pak3a is new new_pak2.pak3(T2 => T4_ptr); -- line 15: Legal + package new_pak3b is new new_pak2.pak3(T2 => T5_ptr); -- line 16: Illegal +end Test_129; +"""))) + +print ("# Please ignore the gnatlink message.") +check_reports_an_error_but_should_not ( + bug = 280939, + make = ("gnatmake", "test_130"), + regex = "test_130\.adb:\(\.text\+0x5\): undefined reference to \`p2\'", + sources = ( + ("pak1.ads", """-- RM 10.1.5(4) "the pragma shall have an argument that is a name +-- denoting that declaration." +-- RM 8.1(16) "The children of a parent library unit are inside the +-- parent's declarative region." + +package pak1 is + pragma Pure; +end pak1; +"""), + ("pak1-p2.ads", """procedure pak1.p2; +pragma Pure (p2); -- ERROR: need expanded name +pragma Import (ada, p2); -- ERROR: need expanded name +pragma Inline (p2); -- ERROR: need expanded name +"""), + ("test_130.adb", """with Pak1.P2; +procedure Test_130 is +begin + Pak1.P2; +end Test_130; +"""))) + +check_compiles_but_should_not ( + bug = 283833, + make = ("gnatmake", "test_132"), + sources = ( + ("pak1.ads", """-- RM 8.5.4(5) the convention of the renamed subprogram shall not +-- be Intrinsic, if the renaming-as-body completes that declaration +-- after the subprogram it declares is frozen. + +-- RM 13.14(3) the end of the declaration of a library package +-- causes freezing of each entity declared within it. + +-- RM 6.3.1(7) the default calling convention is Intrinsic for +-- any other implicitly declared subprogram unless it is a +-- dispatching operation of a tagged type. + +package pak1 is + type T1 is null record; + procedure p1 (x1: T1); + type T2 is new T1; +end pak1; +"""), + ("pak1.adb", """package body Pak1 is + procedure P1 (X1 : T1) is begin null; end P1; +end Pak1; +"""), + ("test_132.ads", """with pak1; +package Test_132 is + procedure p2 (x2: pak1.T2); +end Test_132; +"""), + ("test_132.adb", """package body Test_132 is + procedure p2 (x2: pak1.T2) renames pak1.p1; --ERROR: can't rename intrinsic +end Test_132; +"""))) + +check_compiles_but_should_not ( + bug = 283835, + make = ("gnatmake", "test_133"), + sources = ( + ("test_133.ads", """package Test_133 is + package pak1 is + type T1 is null record; + end pak1; + + package pak2 is + subtype boolean is standard.boolean; + function "=" (x, y: pak1.T1) return boolean; + end pak2; + + use pak1, pak2; + + x1: pak1.T1; + b1: boolean := x1 /= x1; -- ERROR: ambigous (gnat misses) + -- b2: boolean := x1 = x1; -- ERROR: ambigous +end Test_133; +"""), + ("test_133.adb", """package body test_133 is + package body pak2 is + function "=" (x, y: pak1.T1) return boolean is + begin + return true; + end "="; + end pak2; +end test_133; +"""))) + +check_compiles_but_should_not ( + bug = 416979, + make = ("gnatmake", "pak1"), + sources = ( + ("pak1.ads", """package pak1 is + -- RM 7.3(13), 4.9.1(1) + -- check that discriminants statically match + type T1(x1: integer) is tagged null record; + x2: integer := 2; + x3: constant integer := x2; + type T2 is new T1 (x2) with private; + type T3 is new T1 (x3) with private; +private + type T2 is new T1 (x2) with null record; --ERROR: nonstatic discriminant + type T3 is new T1 (x3) with null record; --ERROR: nonstatic discriminant +end pak1; +"""),)) + +# Once the bug box disappears, check the executable. +# check_produces_a_faulty_executable ( +check_reports_an_error_but_should_not ( + bug = 427108, + make = ("gnatmake", "test1"), +# regex = "FAILED", + regex = "Program_Error exp_disp.adb:7842 explicit raise", + sources = ( + ("test1.adb", """-- "For the execution of a call on an inherited subprogram, +-- a call on the corresponding primitive subprogram of the +-- parent or progenitor type is performed; the normal conversion +-- of each actual parameter to the subtype of the corresponding +-- formal parameter (see 6.4.1) performs any necessary type +-- conversion as well." + +with Text_IO; use Text_IO; +procedure Test1 is + package Pak1 is + type T1 is tagged null record; + function Eq(X, Y: T1) return Boolean renames "="; + end Pak1; + + package Pak2 is + type T2 is new Pak1.T1 with record + F1: Integer; + end record; + end Pak2; + + Z1: Pak2.T2 := (F1 => 1); + Z2: Pak2.T2 := (F1 => 2); +begin + if Pak2.Eq(Z1, Z2) = Pak1.Eq(Pak1.T1(Z1), Pak1.T1(Z2)) + then Put_Line("PASSED"); + else Put_Line("FAILED"); + end if; +end Test1; +"""),)) + +check_reports_an_error_but_should_not ( + bug = 660698, + make = ("gnatmake", "proc.adb"), + regex = 'proc\.adb:17:28: there is no applicable operator "And" for type "Standard\.Integer"', + sources = ( + ("proc.adb", """procedure Proc is + package P1 is + type T is new Integer; + function "and" (L, R : in Integer) return T; + end P1; + package body P1 is + function "and" (L, R : in Integer) return T is + pragma Unreferenced (L, R); + begin + return 0; + end "and"; + end P1; + use type P1.T; + package P2 is + use P1; + end P2; + G : P1.T := Integer'(1) and Integer'(2); +begin + null; +end Proc; +"""), )) + +check_produces_a_faulty_executable ( + bug = 737225, + make = ("gnatmake", "round_decimal"), + trigger = "round_decimal", + regex = "Bug reproduced.", + sources = ( + ("round_decimal.adb", """with Ada.Text_IO; + +procedure Round_Decimal is + + -- OJBECTIVE: + -- Check that 'Round of a decimal fixed point type does round + -- away from zero if the operand is of a decimal fixed point + -- type with a smaller delta. + + Unexpected_Compiler_Bug : exception; + + type Milli is delta 0.001 digits 9; + type Centi is delta 0.01 digits 9; + + function Rounded (Value : Milli) return Centi; + -- Value, rounded using Centi'Round + + function Rounded (Value : Milli) return Centi is + begin + return Centi'Round (Value); + end Rounded; + +begin + -- Operands used directly: + if not (Milli'Round (0.999) = Milli'(0.999) + and + Centi'Round (0.999) = Centi'(1.0) + and + Centi'Round (Milli'(0.999)) = Centi'(1.0)) + then + raise Unexpected_Compiler_Bug; + end if; + if Rounded (Milli'(0.999)) /= Centi'(1.0) then + Ada.Text_IO.Put_Line ("Bug reproduced."); + end if; +end Round_Decimal; +"""),)) + +# Even if an error is reported, the problem with the atomic variable +# should be checked. +check_reports_an_error_but_should_not ( + bug = 643663, + make = ("gnatmake", "test"), + regex = 'test\.adb:4:25: no value supplied for component "Reserved"', + sources = ( + ("pkg.ads", """package Pkg is + type Byte is mod 2**8; + type Reserved_24 is mod 2**24; + + type Data_Record is + record + Data : Byte; + Reserved : Reserved_24; + end record; + + for Data_Record use + record + Data at 0 range 0 .. 7; + Reserved at 0 range 8 .. 31; + end record; + + for Data_Record'Size use 32; + for Data_Record'Alignment use 4; + + Data_Register : Data_Record; + pragma Atomic (Data_Register); +end Pkg; +"""), ("test.adb", """with Pkg; +procedure Test is +begin + Pkg.Data_Register := ( + Data => 255, + others => <> -- expected error: no value supplied for component "Reserved" + ); +end Test; +"""))) + +try: + os.rmdir (workspace) +except: + print ("Some unconfirmed, not removing directory {}.".format (workspace)) --- gcc-7-7.1.0.orig/debian/ada/debian_packaging.mk +++ gcc-7-7.1.0/debian/ada/debian_packaging.mk @@ -0,0 +1,91 @@ +# Common settings for Ada Debian packaging. +# +# Copyright (C) 2012-2014 Nicolas Boulenguez +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +# dpkg-dev (>= 1.16.1) provides /usr/share/dpkg/default.mk (or the +# more specific buildflags.mk) to set standard variables like +# DEB_HOST_MULTIARCH, CFLAGS, LDFLAGS...) according to the build +# environment (DEB_BUILD_OPTIONS...) and the policy (hardening +# flags...). +# You must include it before this file. +ifeq (,$(findstring /usr/share/dpkg/buildflags.mk,$(MAKEFILE_LIST))) + $(error Please include /usr/share/dpkg/default.mk (or the more specific \ + buildflags.mk) before $(lastword $(MAKEFILE_LIST))) +endif + +# Ada is not in dpkg-dev flag list. We add a sensible default here. + +# Format checking is meaningless for Ada sources. +ADAFLAGS := $(filter-out -Wformat -Werror=format-security, $(CFLAGS)) + +ifdef DPKG_EXPORT_BUILDFLAGS + export ADAFLAGS +endif + +# Avoid dpkg-shlibdeps warning about depending on a library from which +# no symbol is used, see http://wiki.debian.org/ToolChain/DSOLinking. +# Gnatmake users must upgrade to >= 4.6.4-1 to circumvent #680292. +LDFLAGS += -Wl,--as-needed + +# Warn during build time if undefined symbols. +LDFLAGS += -Wl,-z,defs + +ifdef DPKG_EXPORT_BUILDFLAGS + export LDFLAGS +endif + +###################################################################### +# C compiler version + +# GCC binaries must be compatible with GNAT at the binary level, use +# the same version. This setting is mandatory for every upstream C +# compilation ("export CC" is enough for dh_auto_configure with a +# normal ./configure). + +CC := gnatgcc + +###################################################################### +# Options for gprbuild/gnatmake. + +# Let Make delegate parallelism to gnatmake/gprbuild. +.NOTPARALLEL: + +# Use all processors unless parallel=n is set in DEB_BUILD_OPTIONS. +# http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options +BUILDER_JOBS := $(filter parallel=%,$(DEB_BUILD_OPTIONS)) +ifneq (,$(BUILDER_JOBS)) + BUILDER_JOBS := $(subst parallel=,,$(BUILDER_JOBS)) +else + BUILDER_JOBS := $(shell getconf _NPROCESSORS_ONLN) +endif +BUILDER_OPTIONS += -j$(BUILDER_JOBS) + +BUILDER_OPTIONS += -R +# Avoid lintian warning about setting an explicit library runpath. +# http://wiki.debian.org/RpathIssue + +BUILDER_OPTIONS += -v +# Make exact command lines available for automatic log checkers. + +BUILDER_OPTIONS += -eS +# Tell gnatmake to echo commands to stdout instead of stderr, avoiding +# buildds thinking it is inactive and killing it. +# -eS is the default on gprbuild. + +# You may be interested in +# -s recompile if compilation switches have changed +# (bad default because of interactions between -amxs and standard library) +# -we handle warnings as errors +# -vP2 verbose when parsing projects. --- gcc-7-7.1.0.orig/debian/bin-wrapper.in +++ gcc-7-7.1.0/debian/bin-wrapper.in @@ -0,0 +1,11 @@ +#! /bin/sh + +# some build tools are linked with a new libstdc++ and fail to run +# when building libstdc++. + +if [ -n "$LD_LIBRARY_PATH" ]; then + ma=$(dpkg-architecture -qDEB_BUILD_MULTIARCH) + export LD_LIBRARY_PATH="/lib/$ma:/usr/lib/$ma:/lib:/usr/lib:$LD_LIBRARY_PATH" +fi + +exec /usr/bin/$(basename $0) "$@" --- gcc-7-7.1.0.orig/debian/changelog +++ gcc-7-7.1.0/debian/changelog @@ -0,0 +1,2511 @@ +gcc-7 (7.1.0-7ubuntu1) artful; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Tue, 20 Jun 2017 14:19:39 +0200 + +gcc-7 (7.1.0-7) unstable; urgency=medium + + * Update to SVN 20170618 (r249347) from the gcc-7-branch. + + [ Matthias Klose ] + * Update to SVN 20170524 (r248432) from the gcc-7-branch. + * Don't build libada with -O3 (ftbfs on ppc64el). + * Update sanitizer symbol files (Helmut Grohne). Closes: #864835. + + [ Aurelien Jarno ] + * Remove proposed patch for PR65618, the issue has been fixed upstream + another way. + + [ Nicolas Boulenguez ] + * Ada: link system.ads to system-freebsd.ads on hurd and *freebsd + system-freebsd-x86.ads does not exist anymore. Closes: #861735, #861737. + * Ada: prevent parallel gnatmake invokations for gnattools. Closes: #857831. + * Drop generated and obsolete debian/source.lintian-overrides. + * Drop debian/relink, never executed and redundant with ada patches. + * Ada: Drop dpkg-buildflags usage in patches. Closes: #863289. + * ada: Drop references to obsolete termio-h.diff. Closes: #845159. + * ada-749574.diff: replace work-around with fix and forward it. + * ada-kfreebsd.diff: reduce a lot thanks to Ada2012 syntax. + * ada-link-lib.diff: remove dubious parts. + + -- Matthias Klose Sun, 18 Jun 2017 15:31:39 +0200 + +gcc-7 (7.1.0-6ubuntu2) artful; urgency=medium + + * Update to SVN 20170524 (r248432) from the gcc-7-branch. + * Don't build libada with -O3 (ftbfs on ppc64el). + * Restore building gnattools sequentially. Reopens #857831. + + -- Matthias Klose Wed, 24 May 2017 15:18:49 -0700 + +gcc-7 (7.1.0-6ubuntu1) artful; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Mon, 22 May 2017 16:38:40 -0700 + +gcc-7 (7.1.0-6) experimental; urgency=medium + + * Update to SVN 20170522 (r248347) from the gcc-7-branch. + - Fix PR libstdc++/80796, PR libstdc++/80478, PR libstdc++/80761, + PR target/80799 (x86), PR ada/80784, PR fortran/78659, PR fortran/80752, + PR libgfortran/80727. + + [ Matthias Klose ] + * Re-add unwind support on kfreebsd-amd64 (James Clarke). + * Work around #814977 (gnat calling gcc-7-7) by providing a gcc-7-7 + symlink. + * Fix gnat build dependencies on x32. + * Build gnat on mips64 and powerpcspe. + * Update the Linaro support to the 7-2017.05 snapshot. + * Fix libmpx dependency generation for cross builds. + * Build again gnat cross compilers on 32bit archs targeting 64bit targets. + + [ Nicolas Boulenguez ] + * Remove ada-gnattools-noparallel patch, apparently fixed. Closes: #857831. + * Reduce diff with upstream in ada-gnattools-cross patch. + * debian/rules2: Simplify build flags transmission. + * Append build flags from dpkg during Ada target builds. + + -- Matthias Klose Mon, 22 May 2017 12:43:09 -0700 + +gcc-7 (7.1.0-5ubuntu2) artful; urgency=medium + + * Update to SVN 20170519 (r248295) from the gcc-7-branch. + - Fix PR libstdc++/80796, PR libstdc++/80478, PR libstdc++/80761, + PR target/80799 (x86), PR ada/80784, PR fortran/78659, PR fortran/80752, + PR libgfortran/80727. + * Starting with 17.10, enable PIE on armhf, arm64 and i386. + * Build from the Linaro gcc-7 branch on armhf and arm64. + * Re-add unwind support on kfreebsd-amd64 (James Clarke). + * Work around #814977 (gnat calling gcc-7-7) by providing a gcc-7-7 + symlink. + * Fix gnat build dependencies on x32. + * Build gnat on mips64 and powerpcspe. + * Update the Linaro support to the 7-2017.05 snapshot. + + -- Matthias Klose Fri, 19 May 2017 12:07:42 -0700 + +gcc-7 (7.1.0-5ubuntu1) artful; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Sun, 14 May 2017 09:15:57 -0700 + +gcc-7 (7.1.0-5) experimental; urgency=medium + + * Update to SVN 20170514 (r248033) from the gcc-7-branch. + * Disable offload compilers for snapshot builds. + * Build libgo when not building common libs. + * Fix building libgfortran and libgphobos when building without common libs. + * Build gnat on x32. + + -- Matthias Klose Sun, 14 May 2017 08:50:34 -0700 + +gcc-7 (7.1.0-4ubuntu1) artful; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Fri, 05 May 2017 11:57:06 +0200 + +gcc-7 (7.1.0-4) experimental; urgency=medium + + * Update to SVN 20170505 (r247630) from the gcc-7-branch. + * Add sh3 support to gcc-multiarch patch. Closes: #861760. + * Remove libquadmath/gdtoa license from debian/copyright (files removed). + * Fix gdc build on sh4 (sh5 support was removed upstream). + * Disable gnat on KFreeBSD (see #861737) and the Hurd (see #861735) for now. + * Disable running the testsuite on KFreeBSD and the Hurd, hanging on + the buildds. + + -- Matthias Klose Fri, 05 May 2017 11:27:27 +0200 + +gcc-7 (7.1.0-3ubuntu1) artful; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Thu, 04 May 2017 00:02:42 +0200 + +gcc-7 (7.1.0-3) experimental; urgency=medium + + * Update to SVN 20170503 (r247549) from the gcc-7-branch. + * Fix gdc build on sparc. + * Update the gdc-cross-install-location patch for GCC 7. + * Bump libgphobos soname. + * dpkg-buildflags stopped fiddling around with spec files; remove + the code removing and warning about dpkg's specs. + * Don't build the native gnat on armel. See issue #861734. + + -- Matthias Klose Wed, 03 May 2017 16:51:15 +0200 + +gcc-7 (7.1.0-2) experimental; urgency=medium + + * Update the disable-gdc-tests patch for GCC 7.1. + + -- Matthias Klose Tue, 02 May 2017 18:35:14 +0200 + +gcc-7 (7.1.0-1ubuntu2) artful; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Tue, 02 May 2017 18:13:00 +0200 + +gcc-7 (7.1.0-1) experimental; urgency=medium + + * GCC 7.1.0 release. + * Update NEWS.html and NEWS.gcc. + * Update gdc to the gdc-7 branch 20170502. + * Add multiarch bits for non-glibc architectures (musl, uclibc) (Helmut + Grohne). Closes: #861588. + * Fix dependency on gcc-base package for rtlibs stage build (Helmut Grohne). + Closes: #859938. + + -- Matthias Klose Tue, 02 May 2017 18:07:07 +0200 + +gcc-7 (7-20170407-0ubuntu2) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170407. + + -- Matthias Klose Fri, 07 Apr 2017 13:40:05 +0200 + +gcc-7 (7-20170322-0ubuntu1) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170322. + + -- Matthias Klose Wed, 22 Mar 2017 09:08:47 +0100 + +gcc-7 (7-20170316-1ubuntu3) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170316. + + -- Matthias Klose Thu, 16 Mar 2017 22:18:58 +0100 + +gcc-7 (7-20170316-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170316. + * Install the gcov-dump utility. + * Allow to use lld with -fuse-ld=ld.lld. + * Build gnattools sequentially (fails with parallel build). See #857831. + * Add profile to the autogen build dependency. + * Re-add the generated Makefile.in changes to the gdc-libphobos-build patch. + + -- Matthias Klose Thu, 16 Mar 2017 12:34:18 +0100 + +gcc-7 (7-20170314-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170314. + + [ Matthias Klose ] + * Bump binutils version requirement to 2.28. + * Fix libcc1.so symlink for cross compilers. Addresses: #856875. + * Fix base package name for rtlibs stage build (Helmut Grohne). + Closes: #857074. + * Update the cross-install-location patch (Helmut Grohne). Closes: #855565. + * Fix symlinks to man pages in the hppa64 package. Addresses: #857583. + * Don't ship the gnatgcc manpage symlink when building GFDL packages. + Addresses: #857384. + * Allow bootstrapping with libc headers installed in multiarch location. + (Helmut Grohne). Closes: #857535 + * gccbrig: Depend on hsail-tools. + + [ Nicolas Boulenguez ] + * Create the libgnatsvn packages again. Closes: #857606. + * Replace libgnat-BV.overrides with a fixed command. + * Install gnatvsn.gpr project into /u/s/gpr instead of + /u/s/ada/adainclude. Debian is migrating to GPRbuild's upstream layout. + * Avoid hardcoding the version in the ada-gcc-name patch. + * Reorganize Ada patches. See #857606 for details. + + -- Matthias Klose Tue, 14 Mar 2017 10:42:24 +0100 + +gcc-7 (7-20170303-0ubuntu2) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170303. + + -- Matthias Klose Fri, 03 Mar 2017 10:27:49 +0100 + +gcc-7 (7-20170302-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170302. + + [ Matthias Klose ] + * Update gdc to trunk 20170227. + * Update libcc1 symbols file. + * Bump binutils version requirement. + * Allow to disable brig in DEB_BUILD_OPTIONS. Closes: #856452. + * Build the nvptx offload compilers. + * Add the newlib copyright, used for the gcc-7-offload-nvptx package. + * Install the libcp1plugin. + * Fix the installation directory of the ada-sjlj includes and libraries. + + [ Nicolas Boulenguez ] + * Use SOURCE_DATE_EPOCH for reproducible ALI timestamps. Closes: #856042. + * Remove obsolete references to libgnatprj, but keep existing + references to libgnatvsn as it will be restored. Closes: #844367. + * Drop obsolete and unapplied ada-default-project-path.diff. + + -- Matthias Klose Thu, 02 Mar 2017 10:12:34 +0100 + +gcc-7 (7-20170226-1ubuntu1) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170121. + + -- Matthias Klose Sun, 26 Feb 2017 17:21:13 +0100 + +gcc-7 (7-20170226-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170226. + + -- Matthias Klose Sun, 26 Feb 2017 17:00:48 +0100 + +gcc-7 (7-20170221-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170221. + * Update gdc to trunk 20170221. + + [ Matthias Klose ] + * Fix some hppa64 related build issues. Addresses: #853023. + * Allow setting offload targets by OFFLOAD_TARGET_DEFAULT. + * Again, disable go on m68k. Closes: #853906. + * Configure with --enable-default-pie on sparc and sparc64 (James Clark). + Addresses: #854090. + * Configure with --enable-default-pie on kfreebsd-* (Steven Chamberlain). + * Build gccbrig and the libhsail-rt library for i386. + * Configure staged builds with --disable-libmpx and --disable-libhsail-rt. + * Fix target architecture for sparc non-multilib builds (Adrian Glaubitz). + Addresses: #855197. + * Bump binutils version requirement. + + [ Aurelien Jarno ] + * Disable lxc1/sxc1 instruction on mips and mipsel. + * Disable madd4 instructions on mipsel, mips64el and mipsn32el. + + -- Matthias Klose Tue, 21 Feb 2017 14:54:12 +0100 + +gcc-7 (7-20170129-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170129. + * Fix removing the RUNPATH from the asan, tsan, ubsan, cilkrts, gfortran + and gphobos runtime libraries. + * Let the gnatgcc symlinks point to the versioned names. Addresses: #839209. + * Build the BRIG frontend on amd64. + * Install new intrinsics headers. Closes: #852551. + * libgo version bumped to 11. + * Package gccbrig and the libhsail-rt library. + + -- Matthias Klose Sun, 29 Jan 2017 13:51:35 +0100 + +gcc-7 (7-20170121-1ubuntu1) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170121. + + -- Matthias Klose Sat, 21 Jan 2017 21:03:01 +0100 + +gcc-7 (7-20170121-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170121. + * Configure --with-gcc-major-version-only, drop the gcc-base-version, + gccgo-version and gdc-base-version patches. + * Adjust the g++-multiarch-incdir patch for reverted upstream patch, + causing bootstrap regression (PR 78880). Closes: #852104. + + -- Matthias Klose Sat, 21 Jan 2017 20:34:04 +0100 + +gcc-7 (7-20170118-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170118. + * Always configure sparc builds --with-cpu-32=ultrasparc (James Clark). + * Enable gccgo on m68k (John Paul Adrian Glaubitz). Addresses: #850749. + * Install the unprefixed man pages for gcc-ar, -nm and ranlib. + Closes: #851698. + + -- Matthias Klose Wed, 18 Jan 2017 22:41:11 +0100 + +gcc-7 (7-20170105-1ubuntu1) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170105. + + -- Matthias Klose Thu, 05 Jan 2017 14:41:15 +0100 + +gcc-7 (7-20170105-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170105. + * Update zlib to 1.2.10. + * Always configure sparc builds --with-cpu-32=ultrasparc (James Clark). + + -- Matthias Klose Thu, 05 Jan 2017 14:19:02 +0100 + +gcc-7 (7-20161229-1ubuntu2) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161229. + + -- Matthias Klose Thu, 29 Dec 2016 07:57:28 +0100 + +gcc-7 (7-20161229-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161229. + * Update gdc to trunk 20161229. + * Build the cilk runtime on armel, armhf, sparc and sparc64. + * Use --push-state/--pop-state for gold as well when linking libtsan. + * In GCC ICE dumps, prefix each line with the PID of the driver. + * Apply proposed patch for PR target/78748. + * Apply proposed patch for PR libstdc++/64735. + * Don't mark libphobos multilib packages as M-A: same. + * Configure libphobos builds with --with-target-system-zlib. + * Ignore dpkg's pie specs when pie is not enabled. Addresses: #848129. + + -- Matthias Klose Thu, 29 Dec 2016 07:38:54 +0100 + +gcc-7 (7-20161217-0ubuntu1) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161217. + + -- Matthias Klose Sat, 17 Dec 2016 14:09:52 +0100 + +gcc-7 (7-20161212-0ubuntu2) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161212. + * Apply proposed patch for PR target/78748. + + -- Matthias Klose Mon, 12 Dec 2016 17:08:48 +0100 + +gcc-7 (7-20161208-0ubuntu1) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161208. + - Revert r243346, breaking bootstrap on AArch64. + * Build the cilk runtime on armel, armhf, sparc and sparc64. + * Use --push-state/--pop-state for gold as well when linking libtsan. + * In GCC ICE dumps, prefix each line with the PID of the driver. + + -- Matthias Klose Thu, 08 Dec 2016 12:08:40 +0100 + +gcc-7 (7-20161203-0ubuntu2) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161203. + + -- Matthias Klose Sat, 03 Dec 2016 12:00:35 +0100 + +gcc-7 (7-20161201-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161201. + + * Install missing vecintrin.h header on s390x. + * Install missing avx512 intrinsics headers on x86*. Closes: #846075. + + -- Matthias Klose Thu, 01 Dec 2016 14:38:26 +0100 + +gcc-7 (7-20161125-1ubuntu1) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161125. + + [ Matthias Klose ] + + [ Svante Signell ] + * GNU/Hurd port for gccgo. + + -- Matthias Klose Fri, 25 Nov 2016 13:30:48 +0100 + +gcc-7 (7-20161125-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161125. + + [ Matthias Klose ] + * Update libgphobos symbol files. + * libphobos: Fix ARM32 multilib detection for system zlib. + * Update libgphobos symbols files for ARM32 targets. + * Build the GC enabled libobjc using the system libgc when available + * Mark libgphobos symbols changing with the file location (sic!) as optional. + * Add pkg-config to the build dependencies. + * Drop the work around for PR libstdc++/65913. + * gdc: Link with the shared libgphobos runtime by default. + * Fix PR middle-end/78501, proposed patch. + * Fix dependency generation for libgphobos multilib builds. + * Drop the ada-revert-pr63225 patch, only needed for libgnatvsn. + * Always apply the ada patches. + + [ YunQiang Su ] + * Update gnat patches for GCC 7, stop building libgnatvsn and libgnatprj. + Addresses: #844367. + + -- Matthias Klose Fri, 25 Nov 2016 12:41:07 +0100 + +gcc-7 (7-20161123-0ubuntu1) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161117. + * Disable x32 multilib builds (broken in libgo). + * Disable go on powerpc and s390x (broken in libgo). + + -- Matthias Klose Tue, 22 Nov 2016 16:51:14 +0100 + +gcc-7 (7-20161117-0ubuntu1) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161117. + + -- Matthias Klose Thu, 17 Nov 2016 14:18:21 +0100 + +gcc-7 (7-20161116-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161116. + * Build shared phobos runtime libraries (not yet enabled by default). + * Add symbols for libobjc_gc library. + + -- Matthias Klose Wed, 16 Nov 2016 19:16:39 +0100 + +gcc-7 (7-20161115-1ubuntu1) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161115. + + -- Matthias Klose Tue, 15 Nov 2016 15:23:57 +0100 + +gcc-7 (7-20161115-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161115. + * More symbol files updates. + * Update gdc to the trunk 20161113. + * Update conflicts with GCC 6 packages. Closes: #844296. + + -- Matthias Klose Tue, 15 Nov 2016 13:02:02 +0100 + +gcc-7 (7-20161112-1ubuntu2) zesty; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161112. + + -- Matthias Klose Sat, 12 Nov 2016 13:21:36 +0100 + +gcc-7 (7-20161112-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161112. + * Remove gij/gcj packages, removed upstream. + * Don't build gdc and gnat for now. + + -- Matthias Klose Sat, 12 Nov 2016 11:17:17 +0100 + +gcc-6 (6.2.0-13ubuntu1) zesty; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 09 Nov 2016 21:04:13 +0100 + +gcc-6 (6.2.0-13) unstable; urgency=medium + + * Update to SVN 20161109 (r241998, 6.2.1) from the gcc-6-branch. + - Fix PR c/71115, PR target/78229 (closes: #843379), + PR tree-optimization/77768, PR c++/78039 (closes: #841316), + PR libgcc/78064, PR driver/78206. + * Fix using the gcc-6-source package (Stephen Kitt). Closes: #843476. + * Fix PR target/77822 (AArch64), taken from the trunk. Closes: #839249. + * Fix PR target/77822 (s390x), proposed patch. + * Update libiberty to the trunk 20161108. Addresses security issues: + CVE-2016-6131, CVE-2016-4493, CVE-2016-4492, CVE-2016-4490, + CVE-2016-4489, CVE-2016-4488, CVE-2016-4487, CVE-2016-2226. + + -- Matthias Klose Wed, 09 Nov 2016 20:42:53 +0100 + +gcc-6 (6.2.0-11ubuntu1) zesty; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Thu, 03 Nov 2016 15:27:16 +0100 + +gcc-6 (6.2.0-11) unstable; urgency=medium + + * Update to SVN 20161103 (r241817, 6.2.1) from the gcc-6-branch. + - Fix PR debug/77773, PR middle-end/72747, PR tree-optimization/78047, + PR tree-optimization/77879, PR tree-optimization/77839, + PR tree-optimization/77745, PR tree-optimization/77648, + PR target/78166 (PA), PR rtl-optimization/78038, PR middle-end/78128, + PR middle-end/71002, PR fortran/69544, PR fortran/78178, + PR fortran/71902, PR fortran/67219, PR fortran/71891, PR lto/78129, + PR libgfortran/78123. + * Fix symlinks for gcj manual pages. Closes: #842407. + * Fix ICE in tree_to_shwi, Linaro issue #2575. + + -- Matthias Klose Thu, 03 Nov 2016 14:10:24 +0100 + +gcc-6 (6.2.0-10ubuntu1) zesty; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Thu, 27 Oct 2016 22:12:20 +0200 + +gcc-6 (6.2.0-10) unstable; urgency=medium + + * Update to SVN 20161027 (r241619, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/77288, PR libstdc++/77727, PR libstdc++/78052, + PR tree-optimization/77550, PR tree-optimization/77916, + PR fortran/71895, PR fortran/77763, PR fortran/61420, PR fortran/78013, + PR fortran/78021, PR fortran/72832, PR fortran/78092, PR fortran/78108, + PR target/78057 (x86), PR target/78037 (x86). + * Include go-relocation-test-gcc620-sparc64.obj.uue to fix libgo's + debug/elf TestDWARFRelocations test case (James Clark). + * Reapply fix for PR c++/71912, apply proposed fix for PR c++/78039. + Closes: #841292. + * Don't install alternatives for go and gofmt. The preferred way to do that + is to install the golang-any package. + * For Debian builds, don't enable bind now by default when linking with pie + by default. + + -- Matthias Klose Thu, 27 Oct 2016 15:27:07 +0200 + +gcc-6 (6.2.0-9) unstable; urgency=medium + + * Regenerate the control file. + + -- Matthias Klose Thu, 20 Oct 2016 10:46:44 +0200 + +gcc-6 (6.2.0-8ubuntu1) zesty; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 19 Oct 2016 18:47:57 +0200 + +gcc-6 (6.2.0-8) unstable; urgency=medium + + * Update to SVN 20161019 (r241346, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/77990, PR target/77991 (x86). + * Install arm_fp16.h header on arm* architectures for Linaro builds. + * Backport upstream revisions from trunk (James Clark). Closes: #840574. + - r240457 (add getrandom for MIPS/SPARC) + - r241051 (fix getrandom on sparc64 and clone on sparc*) + - r241072 (make rawClone no_split_stack) + - r241084 (don't use pt_regs; unnecessary, and seemingly not defined by + the included headers on arm64) + - r241171 (sparc64 relocations, e1fc2925 in go master, now also in + gofrontend/gccgo) + * Revert fix for PR c++/71912, causing PR c++/78039. Addresses: #841292. + + -- Matthias Klose Wed, 19 Oct 2016 08:57:23 +0200 + +gcc-6 (6.2.0-7ubuntu11) zesty; urgency=medium + + * Build using the Linaro branch on armhf and arm64. + + -- Matthias Klose Tue, 18 Oct 2016 09:09:47 +0200 + +gcc-6 (6.2.0-7) unstable; urgency=medium + + * Update to SVN 20161018 (r241301, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/77987, PR libstdc++/77322, PR libstdc++/72820, + PR libstdc++/77994, PR tree-optimization/77937, PR c++/71912, + PR tree-optimization/77937, PR tree-optimization/77943, + PR bootstrap/77995, PR fortran/77978, PR fortran/77915, PR fortran/77942. + + [ Matthias Klose ] + * Backport Mips go closure support, taken from libffi. Closes: #839132. + * Configure with --enable-default-pie and pass -z now when pie is enabled; + on amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el s390x. + Closes: #835148. + * Update the Linaro support to the 6-2016.10 snapshot. + + [ Aurelien Jarno ] + * Enable logwatch on mips64el. + + -- Matthias Klose Tue, 18 Oct 2016 13:53:00 +0200 + +gcc-6 (6.2.0-6) unstable; urgency=medium + + * Update to SVN 20161010 (r240906, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/68323, PR libstdc++/77794, PR libstdc++/77795, + PR libstdc++/77801, PR libgcc/77519, PR target/77756 (x86), + PR target/77670 (PPC), PR rtl-optimization/71709, PR c++/77804, + PR fortran/41922, PR fortran/60774, PR fortran/61318, PR fortran/68566, + PR fortran/69514, PR fortran/69867, PR fortran/69962, PR fortran/70006, + PR fortran/71067, PR fortran/71730, PR fortran/71799, PR fortran/71859, + PR fortran/71862, PR fortran/77260, PR fortran/77351, PR fortran/77372, + PR fortran/77380, PR fortran/77391, PR fortran/77420, PR fortran/77429, + PR fortran/77460, PR fortran/77506, PR fortran/77507, PR fortran/77612, + PR fortran/77694, PR libgfortran/77707, PR libstdc++/70101, + PR libstdc++/77864, PR libstdc++/70564, PR target/77874 (x86), + PR target/77759 (sparc), PR fortran/77406, PR fortran/58991, + PR fortran/58992. + * Really fix gij installation on hppa. Closes: #838111. + * Install alternatives for go and gofmt. Closes: #840190. + + -- Matthias Klose Mon, 10 Oct 2016 05:20:07 +0200 + +gcc-6 (6.2.0-5ubuntu12) yakkety; urgency=medium + + * Update to SVN 20161005 (r240765, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/68323, PR libstdc++/77794, PR libstdc++/77795, + PR libstdc++/77801, PR libgcc/77519, PR target/77756 (x86), + PR target/77670 (PPC), PR rtl-optimization/71709, PR c++/77804, + PR fortran/41922, PR fortran/60774, PR fortran/61318, PR fortran/68566, + PR fortran/69514, PR fortran/69867, PR fortran/69962, PR fortran/70006, + PR fortran/71067, PR fortran/71730, PR fortran/71799, PR fortran/71859, + PR fortran/71862, PR fortran/77260, PR fortran/77351, PR fortran/77372, + PR fortran/77380, PR fortran/77391, PR fortran/77420, PR fortran/77429, + PR fortran/77460, PR fortran/77506, PR fortran/77507, PR fortran/77612, + PR fortran/77694, PR libgfortran/77707. + * Really fix gij installation on hppa. Closes: #838111. + * Strip again the compiler binaries. + + -- Matthias Klose Wed, 05 Oct 2016 09:01:56 +0200 + +gcc-6 (6.2.0-5ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 28 Sep 2016 15:58:48 +0200 + +gcc-6 (6.2.0-5) unstable; urgency=medium + + * Update to SVN 20160927 (r240553, 6.2.1) from the gcc-6-branch. + - Fix PR sanitizer/77396, PR libstdc++/77645, PR libstdc++/77645, + PR target/77326 (AVR), PR target/77349 (PPC), PR middle-end/77594, + PR sanitizer/68260, PR fortran/77516, PR target/69255 (x86), + PR c++/77553, PR c++/77539, PR fortran/77500, PR c/77450, + PR middle-end/77436, PR tree-optimization/77514, PR middle-end/77544, + PR tree-optimization/77514, PR middle-end/77605, PR middle-end/77679, + PR tree-optimization/77621, PR target/77621 (x86), PR c++/71979. + * Fix gij installation on hppa. Closes: #838111. + * Fix PR rtl-optimization/71709, taken from the trunk. LP: #1628207. + * Apply workaround for PR libstdc++/77686. Addresses: #838438. + + -- Matthias Klose Wed, 28 Sep 2016 15:53:28 +0200 + +gcc-6 (6.2.0-4) unstable; urgency=medium + + * Update to SVN 20160914 (r240133, 6.2.1) from the gcc-6-branch. + - Fix PR rtl-optimization/77452, PR c++/77427. + * gcj: Depend on the ecj1 standalone binary. + * Configure native builds using --with-program-prefix. + * Fix ICE in gdc symbol mangling (Iain Buclaw). LP: #1620681. + * Backport from libffi trunk (Stefan Bühler): + - Always check for PaX MPROTECT on linux, make EMUTRAMP experimental. + - dlmmap_locked always needs locking as it always modifies execsize. + + -- Matthias Klose Thu, 15 Sep 2016 19:22:35 +0200 + +gcc-6 (6.2.0-3ubuntu15) yakkety; urgency=medium + + * Update to SVN 20160914 (r240133, 6.2.1) from the gcc-6-branch. + - PR c++/77427. + * Fix updating gcj-6-jdk. LP: #1623337. + + -- Matthias Klose Wed, 14 Sep 2016 13:33:20 +0200 + +gcc-6 (6.2.0-3ubuntu14) yakkety; urgency=medium + + * Update to SVN 20160910 (r240069, 6.2.1) from the gcc-6-branch. + - Fix PR rtl-optimization/77452. + * gcj: Depend on the ecj1 standalone binary. + * Configure native builds using --with-program-prefix. + * Fix ICE in gdc symbol mangling (Iain Buclaw). LP: #1620681. + * Restore the AArch64 vulcan support for non Linaro builds. + + -- Matthias Klose Sun, 11 Sep 2016 12:50:59 +0200 + +gcc-6 (6.2.0-3ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Sun, 04 Sep 2016 13:28:31 +0200 + +gcc-6 (6.2.0-3) unstable; urgency=medium + + * Update to SVN 20160901 (r239944, 6.2.1) from the gcc-6-branch. + - Fix PR fortran/71014, PR libstdc++/77395, PR tree-optimization/72866, + PR debug/77363, PR middle-end/77377, PR middle-end/77259, + PR target/71910 (cygwin), PR target/77281 (ARM), + PR tree-optimization/71077, PR tree-optimization/68542, PR fortran/77352, + PR fortran/77374, PR fortran/71014, PR fortran/69281. + * Fix setting the stage1 C++ compiler. + * gdc: Always link with -ldl when linking with -lgphobos. + Closes: #835255, #835757. + * Fix building D code with external C++ references. + + -- Matthias Klose Sun, 04 Sep 2016 12:38:47 +0200 + +gcc-6 (6.2.0-2ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 31 Aug 2016 12:38:54 +0200 + +gcc-6 (6.2.0-2) unstable; urgency=medium + + * Update to SVN 20160830 (r239868, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/77334, PR tree-optimization/76783, + PR tree-optimization/72851, PR target/72867 (x86), PR middle-end/71700, + PR target/77403 (x86), PR target/77270 (x86), PR target/77270 (x86), + PR lto/70955, PR target/72863 (PPC), PR tree-optimization/76490, + PR fortran/77358. + * Call default_file_start from s390_asm_file_start, taken from the trunk. + * Update multiarch patches for mips* r6 (YunQiang Su). + * Fix install location of D header files for cross builds (YunQiang Su). + Closes: #835847. + * Fix PR c++/77379, taken from the trunk. + * Update the Linaro support to the 6-2016.08 snapshot. + + -- Matthias Klose Wed, 31 Aug 2016 12:28:38 +0200 + +gcc-6 (6.2.0-1ubuntu12) yakkety; urgency=medium + + * Update to SVN 20160824 (r239726, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/77334, PR tree-optimization/76783, + PR tree-optimization/72851, PR target/72867 (x86), PR middle-end/71700, + * Call default_file_start from s390_asm_file_start, taken from the trunk. + + -- Matthias Klose Wed, 24 Aug 2016 08:12:10 +0200 + +gcc-6 (6.2.0-1ubuntu11) yakkety; urgency=medium + + * GCC 6.2 release. + + -- Matthias Klose Mon, 22 Aug 2016 15:23:46 +0200 + +gcc-6 (6.2.0-1) unstable; urgency=medium + + * GCC 6.2 release. + * Update gdc to the gdc-6 branch 20160822. + + -- Matthias Klose Mon, 22 Aug 2016 14:15:21 +0200 + +gcc-6 (6.1.1-12ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Mon, 15 Aug 2016 17:56:19 +0200 + +gcc-6 (6.1.1-12) unstable; urgency=medium + + * GCC 6.2 release candidate 1. + * Update to SVN 20160815 (r239482, 6.1.1) from the gcc-6-branch. + Fix PR target/71869 (PPC), PR target/72805 (x86), PR target/70677 (AVR), + PR c++/72415, PR sanitizer/71042, PR libstdc++/71964, PR libstdc++/70940, + PR c/67410, PR c/72816, PR driver/72765, PR debug/71906, + PR tree-optimization/73434, PR tree-optimization/72824, PR target/76342, + PR target/72843, PR c/71512, PR tree-optimization/71083, PR target/72819, + PR target/72853, PR tree-optimization/72824, PR ipa/71981, PR ipa/68273, + PR tree-optimization/71881, PR target/72802, PR target/72802, + PR rtl-optimization/71976, PR c++/71972, PR c++/72868, PR c++/73456, + PR c++/72800, PR c++/68724, PR debug/71906, PR fortran/71936, + PR fortran/72698, PR fortran/70524, PR fortran/71795, PR libgfortran/71123, + PR libgfortran/73142. + + [ Matthias Klose ] + * Fix running the libjava testsuite. + * Revert fix for PR target/55947, causing PR libstdc++/72813. LP: #1610220. + * Update the Linaro support to the 6-2016.07 snapshot. + + [ Aurelien Jarno ] + * Replace proposed fix for PR ipa/68273 by the corresponding patch taken + from trunk. + + -- Matthias Klose Mon, 15 Aug 2016 17:51:10 +0200 + +gcc-6 (6.1.1-11ubuntu12) yakkety; urgency=medium + + * Update to SVN 20160805 (r239167, 6.1.1) from the gcc-6-branch. + Fix PR target/71869 (PPC), PR target/72805 (x86), PR target/70677 (AVR), + PR c++/72415. + + * Fix running the libjava testsuite. + * Revert fix for PR target/55947, causing PR libstdc++/72813. LP: #1610220. + + -- Matthias Klose Fri, 05 Aug 2016 15:09:39 +0200 + +gcc-6 (6.1.1-11ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 03 Aug 2016 21:55:46 +0200 + +gcc-6 (6.1.1-11) unstable; urgency=medium + + * Update to SVN 20160802 (r238981, 6.1.1) from the gcc-6-branch. + - Fix PR target/72767 (AVR), PR target/71151 (AVR), PR c/7652, + PR target/71216 (PPC), PR target/72103 (PPC), PR c++/72457, PR c++/71576, + PR c++/71833, PR fortran/71883. + + [ Nicolas Boulenguez ] + * debian/ada/confirm_debian_bugs.py: Update for GCC 6. Closes: #832799. + + [ Matthias Klose ] + * Backport AArch64 Vulcan cost models (Dann Frazier). LP: #1603587. + + -- Matthias Klose Wed, 03 Aug 2016 21:53:37 +0200 + +gcc-6 (6.1.1-10ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Sun, 24 Jul 2016 20:28:46 +0200 + +gcc-6 (6.1.1-10) unstable; urgency=medium + + * Update to SVN 20160724 (r238695, 6.1.1) from the gcc-6-branch. + - Fix PR libstdc++/71856, PR libstdc++/71320, PR c++/71214, + PR sanitizer/71953, PR fortran/71688, PR rtl-optimization/71916, + PR debug/71855, PR middle-end/71874, PR target/71493 (PPC), + PR rtl-optimization/71634, PR target/71733 (PPC), PR ipa/71624, + PR target/71805 (PPC), PR target/70098 (PPC), PR target/71763 (PPC), + PR middle-end/71758, PR tree-optimization/71823, PR middle-end/71606, + PR tree-optimization/71518, PR target/71806 (PPC), PR target/71720 (PPC), + PR middle-end/64516, PR tree-optimization/71264, PR middle-end/71423, + PR tree-optimization/71521, PR tree-optimization/71452, PR target/50739, + PR tree-optimization/71522, PR c++/55922, PR c++/63151, PR c++/70709, + PR c++/70778, PR c++/71738, PR c++/71350, PR c++/71748, PR c++/52746, + PR c++/69223, PR c++/71630, PR c++/71913, PR c++/71728, PR c++/71941, + PR c++/70822, PR c++/70106, PR c++/67565, PR c++/67579, PR c++/71843, + PR c++/70781, PR c++/71896, PR c++/71092, PR c++/71117, PR c++/71495, + PR c++/71511, PR c++/71513, PR c++/71604, PR c++/54430, PR c++/71711, + PR c++/71814, PR c++/71718, PR c++/70824, PR c++/71909, PR c++/71835, + PR c++/71828, PR c++/71822, PR c++/71871, PR c++/70869, PR c++/71054, + PR fortran/71807, PR fortran/70842, PR fortran/71764, PR fortran/71623, + PR fortran/71783. + + [ Matthias Klose ] + * Build-depend on gnat-6 instead of gnat-5 on development distros. + + [ Aurelien Jarno ] + * Replace libjava-mips64el-proposed.diff by the corresponding patch + taken from trunk. + + -- Matthias Klose Sun, 24 Jul 2016 19:42:10 +0200 + +gcc-6 (6.1.1-9ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Tue, 05 Jul 2016 15:15:56 +0200 + +gcc-6 (6.1.1-9) unstable; urgency=medium + + * Update to SVN 20160705 (r237999, 6.1.1) from the gcc-6-branch. + - Fix PR fortran/71717, PR libstdc++/71313, PR c/71685, PR c++/71739, + PR target/71670 (PPC), PR middle-end/71626, PR target/71559 (x86), + PR target/71656 (PPC), PR target/71698 (PPC), PR driver/71651, + PR fortran/71687, PR fortran/71704, PR fortran/71705. + * Mark cross compilers as M-A: foreign. Addresses: #827136. + * On sparc64, configure with --with-cpu-32=ultrasparc, drop the + sparc-force-cpu patch. Closes: #809509. + + -- Matthias Klose Tue, 05 Jul 2016 11:19:50 +0200 + +gcc-6 (6.1.1-8ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Thu, 30 Jun 2016 15:41:06 +0200 + +gcc-6 (6.1.1-8) unstable; urgency=medium + + * Update to SVN 20160630 (r237878, 6.1.1) from the gcc-6-branch. + - Fix PR tree-optimization/71647, PR target/30417 (AVR), + PR target/71103 (AVR), PR tree-optimization/71588, PR middle-end/71581, + PR c++/71528, PR fortran/70673, PR middle-end/71693. + + [ Aurelien Jarno ] + * Apply proposed patch from Matthew Fortune to fix libjava on mips64el. + + [ Matthias Klose ] + * Add AArch64 Vulcan cpu support (Dann Frazier). LP: #1594452. + * gfortran: Suggest libcoarrays-dev. Closes: #827995. + * cpp: Breaks libmagics++-dev (<< 2.28.0-4). Closes: #825278. + * Optimize for mips32r2 for o32 (YunQiang Su). Closes: #827801. + + -- Matthias Klose Thu, 30 Jun 2016 14:12:55 +0200 + +gcc-6 (6.1.1-7ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Mon, 20 Jun 2016 20:27:58 +0200 + +gcc-6 (6.1.1-7) unstable; urgency=medium + + * Update to SVN 20160620 (r237590, 6.1.1) from the gcc-6-branch. + - Fix PR middle-end/71373, PR c/71381, PR libstdc++/71545, PR c/68657, + PR sanitizer/71498, PR middle-end/71529, PR target/71103 (AVR), + PR target/71554 (x86), PR middle-end/71494, PR c++/71448, + PR tree-optimization/71405, PR tree-optimization/71505, + PR target/71379 (s390), PR target/71186 (PPC), PR target/70915 (PPC), + PR c++/70572, PR c++/71516, PR c/71381. + * Fix libgnatprj build to avoid undefined symbols (YunQiang Su). + Closes: #826503. + * Add build support for tilegx (Helmut Grohne). Closes: #827578. + * Drop support for loongson 2f (YunQiang Su). Closes: #827554. + + -- Matthias Klose Mon, 20 Jun 2016 13:41:44 +0200 + +gcc-6 (6.1.1-6ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Thu, 09 Jun 2016 19:27:27 +0200 + +gcc-6 (6.1.1-6) unstable; urgency=medium + + * Update to SVN 20160609 (r237267, 6.1.1) from the gcc-6-branch. + - Fix PR target/71389 (x86), PR tree-optimization/71259, + PR target/70830 (ARM), PR target/67310 (x86), PR c++/71442, + PR c++/70847, PR c++/71330, PR c++/71393, PR fortran/69659. + * gdc: Fix linking the runtime library. Addresses: #826645. + * Fix building libgnatprj on powerpc, and on PIE enabled builds (YunQiang Su). + Closes: #826365. + + -- Matthias Klose Thu, 09 Jun 2016 18:19:42 +0200 + +gcc-6 (6.1.1-5ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Fri, 03 Jun 2016 19:46:59 +0200 + +gcc-6 (6.1.1-5) unstable; urgency=medium + + * Update to SVN 20160603 (r237075, 6.1.1) from the gcc-6-branch. + - Fix PR libstdc++/70762, PR libstdc++/69703, PR libstdc++/69703, + PR libstdc++/71038, PR libstdc++/71036, PR libstdc++/71037, + PR libstdc++/71005, PR libstdc++/71004, PR libstdc++/70609, PR c/71171, + PR middle-end/71279, PR c++/71147, PR c++/71257, + PR tree-optimization/70884, PR c++/71210, PR tree-optimization/71031, + PR c++/69872, PR c++/71257, PR c++/70344, PR c++/71184, PR fortran/66461, + PR fortran/71204, PR libffi/65567, PR c++/71349, PR target/71201, + PR middle-end/71371, PR debug/71057, PR target/71056 (ARM32), + PR tree-optimization/69068, PR middle-end/71002, PR bootstrap/71071, + PR c++/71372, PR c++/70972, PR c++/71166, PR c++/71227, PR c++/60095, + PR c++/69515, PR c++/69009, PR c++/71173, PR c++/70522, PR c++/70584, + PR c++/70735, PR c++/71306, PR c++/71349, PR c++/71105, PR c++/71147, + PR ada/71358, PR ada/71317, PR fortran/71156, PR middle-end/71387. + * Fix cross building libgnatprj on i386 targeting 64bit archs (YunQiang Su). + Closes: #823126. + * Detect hard float for non-linux or non-glibc arm-*-*eabihf builds (Helmut + Grohne). Closes: #823894. + * Update embedded timestamp setting patch, backported from the trunk. + * gccgo: Combine combine gccgo's ld() and ldShared() methods + in cmd/go (Michael Hudson-Doyle). LP: #1586872. + + -- Matthias Klose Fri, 03 Jun 2016 18:58:40 +0200 + +gcc-6 (6.1.1-4ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Thu, 19 May 2016 17:24:36 +0200 + +gcc-6 (6.1.1-4) unstable; urgency=medium + + * Update to SVN 20160519 (r236478, 6.1.1) from the gcc-6-branch. + - Fix PR sanitizer/71160, PR c++/70498, PR target/71161 (x86), + PR fortran/70856, PR c++/71100, PR target/71145 (alpha), PR c++/70466, + PR target/70860 (nvptx), PR target/70809 (AArch64), PR hsa/70857, + PR driver/68463, PR target/70947 (PPC), PR ipa/70760, PR middle-end/70931, + PR middle-end/70941, PR tree-optimization/71006, PR target/70830 (ARM), + PR fortran/69603, PR fortran/71047, PR fortran/56226, PR ipa/70646. + * libgnat{prj,svn}-dev: Don't recommend gnat when building cross compiler + packages. + + -- Matthias Klose Thu, 19 May 2016 18:40:49 +0200 + +gcc-6 (6.1.1-3ubuntu11) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Thu, 12 May 2016 02:33:19 +0200 + +gcc-6 (6.1.1-3) unstable; urgency=medium + + * Update to SVN 20160511 (r236071, 6.1.1) from the gcc-6-branch. + - Fix PR libstdc++/71049, PR middle-end/70877, PR tree-optimization/70876, + PR target/70963, PR tree-optimization/70916, PR debug/70935. + * Enable gdc for sh4. + + -- Matthias Klose Wed, 11 May 2016 22:35:33 +0200 + +gcc-6 (6.1.1-2ubuntu12) yakkety; urgency=medium + + * Fix package replacements with gccgo-6 packages. LP: #1578247, #1578250. + + -- Matthias Klose Tue, 10 May 2016 14:31:52 +0200 + +gcc-6 (6.1.1-2) unstable; urgency=medium + + * Update to SVN 20160510 (r236071, 6.1.1) from the gcc-6-branch. + - Fix PR tree-optimization/70956, PR sanitizer/70875, PR sanitizer/70342, + PR ada/70969, PR ada/70900. + + [ Matthias Klose ] + * Call dh_makeshlibs with the --noscripts option when building a + cross compiler. + * Fix building cross gnat libs when not building the common libs. + * Fix building cross mips* multilibs when not building the common libs. + * Re-enable gnat build on some architectures for snapshot builds. + * Don't build gnat cross compilers on 32bit archs targeting 64bit targets. + Addresses: #823126. + * Avoid empty architecture lists in build dependencies. Closes: #823280. + * Tighten debhelper build dependency for cross build dependencies. + * Allow build dependencies for musl configurations (Helmut Grohne). + Closes: #823769. + * Fix dependency resolution for libraries not built anymore from + this source package. + + [ Samuel Thibault ] + * patches/ada-hurd.diff: Fix Get_Page_Size type. + + -- Matthias Klose Tue, 10 May 2016 13:34:49 +0200 + +gcc-6 (6.1.1-1) unstable; urgency=medium + + * GCC 6.1.0 release. + - Fix PR bootstrap/70704, PR tree-optimization/70780, PR libgfortran/70684, + PR middle-end/70626, PR java/70839, PR target/70858, PR ada/70759, + PR ada/70786, PR c++/70540, PR middle-end/70626. + * Update to SVN 20160430 (r235678, 6.1.1) from the gcc-6-branch. + - Fix PR middle-end/70680, PR target/70750 (x86), PR ipa/70785, + PR sanitizer/70712, PR target/70728 (x86). + - Don't encode the minor version in the gcj abi version. + + [ Aurelien Jarno ] + * Apply proposed patch for PR target/68273 (Wrong code on mips/mipsel due to + (invalid?) peeking at alignments in function_arg) on mips and mipsel. + + [ Matthias Klose ] + * Always configure with --enable-targets=powerpcle-linux on ppc64el. + * Stop building libcc1 and libgccjit0, when not building common libs. + * Rename libgccjit-5-dbg to libgccjit0-dbg. + * Fix libjava testsuite with dejagnu 1.6, taken from the trunk. + * Allow embedded timestamps by C/C++ macros to be set externally (Eduard + Sanou). + * Add missing libstdc++ symbol to symbols file. + * libstdc++-doc: Ignore warnings about formulas and long identifiers in + man pages. + * Default the 32bit x86 architectures to i686, keep i585 symlinks. + See https://lists.debian.org/debian-devel/2015/09/msg00589.html + * Build-depend on debhelper (>= 9) and dpkg-dev (>= 1.17.14). + * Update gdc to the gdc-6 branch 20160430. + + -- Matthias Klose Sat, 30 Apr 2016 13:31:12 +0200 + +gcc-6 (6.1.1-0ubuntu12) yakkety; urgency=medium + + * GCC 6.1.0 release. + - Fix PR bootstrap/70704, PR tree-optimization/70780, PR libgfortran/70684. + * Update to SVN 20160428 (r235548, 6.1.1) from the gcc-6-branch. + - Fix PR middle-end/70680, PR target/70750 (x86), PR ipa/70785, + PR sanitizer/70712, PR target/70728 (x86). + - Don't encode the minor version in the gcj abi version. + * Always configure with --enable-targets=powerpcle-linux on ppc64el. + * Stop building libcc1 and libgccjit0, when not building common libs. + * Rename libgccjit-5-dbg to libgccjit0-dbg. + * Fix libjava testsuite with dejagnu 1.6, taken from the trunk. + * Re-enable running the tests. + + -- Matthias Klose Thu, 28 Apr 2016 10:33:38 +0200 + +gcc-6 (6.0.1-2ubuntu12) yakkety; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Sat, 23 Apr 2016 18:24:49 +0200 + +gcc-6 (6.0.1-2) unstable; urgency=medium + + * GCC 6.1 release candidate 2. + * Update gdc to the trunk 20160423. + + -- Matthias Klose Sat, 23 Apr 2016 17:56:52 +0200 + +gcc-6 (6.0.1-1ubuntu11) xenial; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Fri, 15 Apr 2016 18:38:06 +0200 + +gcc-6 (6.0.1-1) experimental; urgency=medium + + * GCC 6 release candidate 1. + + [ Michael Hudson-Doyle ] + * cmd/go: deduplicate gccgo afiles by package path, not *Package. LP: #1566552. + + -- Matthias Klose Fri, 15 Apr 2016 18:32:25 +0200 + +gcc-6 (6-20160405-0ubuntu1) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160405. + + -- Matthias Klose Tue, 05 Apr 2016 17:10:35 +0200 + +gcc-6 (6-20160319-0ubuntu11) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160319. + + -- Matthias Klose Sat, 19 Mar 2016 12:17:24 +0100 + +gcc-6 (6-20160313-0ubuntu11) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160313. + + -- Matthias Klose Sun, 13 Mar 2016 10:19:12 +0100 + +gcc-6 (6-20160227-0ubuntu11) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160227. + + -- Matthias Klose Sat, 27 Feb 2016 11:02:40 +0100 + +gcc-6 (6-20160225-0ubuntu11) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160225. + + -- Matthias Klose Thu, 25 Feb 2016 02:09:51 +0100 + +gcc-6 (6-20160225-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160225. + * Update gdc to the trunk 20160224. + * Install missing architecture specific plugin header files. + * Fix PR target/69885, bootstrap error on m68k. + + -- Matthias Klose Thu, 25 Feb 2016 02:00:57 +0100 + +gcc-6 (6-20160220-0ubuntu11) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160220. + + -- Matthias Klose Sat, 20 Feb 2016 04:38:26 +0100 + +gcc-6 (6-20160206-0ubuntu11) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160206. + + -- Matthias Klose Sat, 06 Feb 2016 12:07:51 +0100 + +gcc-6 (6-20160205-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160205. + - Fix PR tree-optimization/69320. Closes: #811921. + - Fix PR c++/68782. Closes: #812287. + - Fix PR tree-optimization/69328. Closes: #812247. + - Fix PR target/69421. Closes: #812246. + - Fix PR c++/69379. Closes: #812068. + - Fix PR lto/69393. Closes: #812062. + - Fix PR tree-optimization/69166. Closes: #812061. + * Update gdc to the trunk 20160205. + - Fix data corruption bug when passing around longdoubles. + Closes: #812080. + * Add more conflicts to GCC 5's debug and doc packages. Closes: #813081. + * Fix dependency generation for armel/armhf multilib cross targets. + * Fix libc dependency generation for multilib cross targets. + * Build libitm on alpha, s390x, sh4, sparc64. + + -- Matthias Klose Fri, 05 Feb 2016 18:08:37 +0100 + +gcc-6 (6-20160122-1) experimental; urgency=medium + + * Fix gnat build failure on KFreeBSD (Steven Chamberlain). Closes: #811372. + * Fix dependencies on target libraries which are not built anymore + from this source. + * Bump libmpx soname. Closes: #812084. + * Apply proposed patch for PR target/69129. Closes: #810081. + * Apply proposed patch for PR go/66904, pass linker flags from + "#cgo pkg-config:" directives (Michael Hudson). + * Configure with --enable-fix-cortex-a53-843419 on AArch64. + + -- Matthias Klose Fri, 22 Jan 2016 13:33:19 +0100 + +gcc-6 (6-20160117-1ubuntu1) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160117. + + -- Matthias Klose Sun, 17 Jan 2016 12:34:33 +0100 + +gcc-6 (6-20160117-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160117. + * Update gdc to the trunk 20160115. + * Update libgnatvsn/libgnatprj conflicts. Closes: #810809. + * Fix gnat build failures on the Hurd and KFreeBSD (Svante Signell). + Closes: #811063. + * Build libstdc++-6-doc with a fixed doxygen. Closes: #810717. + + -- Matthias Klose Sun, 17 Jan 2016 12:14:39 +0100 + +gcc-6 (6-20160109-1ubuntu1) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160109. + + -- Matthias Klose Sat, 09 Jan 2016 12:03:28 +0100 + +gcc-6 (6-20160109-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160109. + * Install new header file pkuintrin.h. Closes: #809807. + * Fix libcc1-0 dependency for cross compilers. + + -- Matthias Klose Sat, 09 Jan 2016 11:49:50 +0100 + +gcc-6 (6-20160105-0ubuntu1) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160105. + * Install new header file pkuintrin.h. Closes: #809807. + * Fix libgcc1-0 dependency for cross compilers. + + -- Matthias Klose Sat, 02 Jan 2016 15:55:27 +0100 + +gcc-6 (6-20160103-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160101. + + -- Matthias Klose Sun, 03 Jan 2016 12:47:13 +0100 + +gcc-6 (6-20160101-0ubuntu2) xenial; urgency=medium + + * Bump the libgcj version. + + -- Matthias Klose Sat, 02 Jan 2016 15:55:27 +0100 + +gcc-6 (6-20160101-0ubuntu1) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160101. + + -- Matthias Klose Fri, 01 Jan 2016 21:40:43 +0100 + +gcc-6 (6-20151221-0ubuntu1) xenial; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20151220. + + -- Matthias Klose Mon, 21 Dec 2015 15:56:05 +0100 + +gcc-6 (6-20151220-1ubuntu1) xenial; urgency=medium + + * Test build for xenial. + + -- Matthias Klose Sun, 20 Dec 2015 14:11:14 +0100 + +gcc-6 (6-20151220-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20151220. + * Update libstdc++-dbg conflicts. Closes: #807885. + * Set target tools and build dependencies for cross builds. + * Relax gcj-6-{jre,jre-headless,jdk} dependencies on libgcj16. + * Fix cross build issues. + + -- Matthias Klose Sun, 20 Dec 2015 13:46:12 +0100 + +gcc-6 (6-20151219-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20151219. + * Update libstdc++-dbg conflicts. Closes: #807885. + * Set target tools and build dependencies for cross builds. + + -- Matthias Klose Sat, 19 Dec 2015 10:17:25 +0100 + +gcc-6 (6-20151213-1ubuntu2) xenial; urgency=medium + + * Test build for xenial. + + -- Matthias Klose Sun, 13 Dec 2015 15:04:49 +0100 + +gcc-6 (6-20151213-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20151213. + * Update the ada-kfreebsd and ada-m68k patches. + * Fix cross-building without having the common cross libraries installed. + * Allow unstripped, non-optimized debug builds with setting DEB_BUILD_OPTIONS + including gccdebug. + * Remove obsolete libgccmath packaging support. + * Define SONAME macros whether the libraries are built or not. + + -- Matthias Klose Sun, 13 Dec 2015 13:24:55 +0100 + +gcc-6 (6-20151211-1ubuntu3) xenial; urgency=medium + + * Test build for xenial. + + -- Matthias Klose Fri, 11 Dec 2015 17:42:35 +0100 + +gcc-6 (6-20151211-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20151211. + * Update gnat and gdc patches, re-enable gnat and gdc. + + -- Matthias Klose Fri, 11 Dec 2015 12:35:03 +0100 + +gcc-6 (6-20151210-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from 20151210. + + -- Matthias Klose Thu, 10 Dec 2015 22:09:13 +0100 + +gcc-5 (5.3.1-3ubuntu1) xenial; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + - Build using GCC Linaro on armhf and arm64. + + -- Matthias Klose Tue, 08 Dec 2015 02:21:55 +0100 + +gcc-5 (5.3.1-3) unstable; urgency=medium + + * Update to SVN 20151207 (r231361, 5.3.1) from the gcc-5-branch. + * Remove upstreamed chunks from the ada-kfreebsd patch. + + -- Matthias Klose Tue, 08 Dec 2015 02:10:51 +0100 + +gcc-5 (5.3.1-2ubuntu2) xenial; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + - Build using GCC Linaro on armhf and arm64. + + -- Matthias Klose Mon, 07 Dec 2015 00:00:19 +0100 + +gcc-5 (5.3.1-2) unstable; urgency=medium + + * Update to SVN 20151206 (r231339, 5.3.1) from the gcc-5-branch. + * Re-enable building gdc/libphobos, fixing the profiled build. + * Fix PR sanitizer/67899, build failure on sparc/sparc64. + + -- Matthias Klose Sun, 06 Dec 2015 19:15:46 +0100 + +gcc-5 (5.3.1-1ubuntu1) xenial; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + - Build using GCC Linaro on armhf and arm64. + + -- Matthias Klose Sat, 05 Dec 2015 11:40:27 +0100 + +gcc-5 (5.3.1-1) unstable; urgency=medium + + * Update to SVN 20151205 (r231314, 5.3.1) from the gcc-5-branch. + + -- Matthias Klose Sat, 05 Dec 2015 11:36:26 +0100 + +gcc-5 (5.3.1-0ubuntu2) xenial; urgency=medium + + * Update libgcc symbols file. + + -- Matthias Klose Fri, 04 Dec 2015 18:52:20 +0100 + +gcc-5 (5.3.1-0ubuntu1) xenial; urgency=medium + + * Update to SVN 20151204 (r231267, 5.3.1) from the gcc-5-branch. + * Build using GCC Linaro on armhf and arm64. + + -- Matthias Klose Fri, 04 Dec 2015 15:04:01 +0100 + +gcc-5 (5.3.0-3) unstable; urgency=medium + + * Update libgcc symbols file. + * Restore libgcc.symbols.aebi. + * Disabled profiled bootstraps for backports. + + -- Matthias Klose Sat, 05 Dec 2015 07:50:48 +0100 + +gcc-5 (5.3.0-1) experimental; urgency=medium + + * GCC 5.3 release. + - Fix PR libstdc++/65142 (CVE-2015-5276). + * Update gdc to the gcc-5 branch 20151130. + * Enable the profiled bootstrap on amd64, arm64, armel armhf, i386, powerpc, + ppc64, ppc64el, s390x, x32 (excluding builds from the Linaro branch). + * Move test summary into the gcc-test-results package. + * Simplify libatomic, libcilkrts, libgcc, libgfortran, libgomp, libitm, + libmpx, libquadmath symbols files using versioned symbol references. + Closes: #806784. + * Only build the hppa64 cross compiler when either building the native compiler, + or when cross building the native compiler. Closes: #806479. + * Configure staged build with --enable-linker-build-id. + + -- Matthias Klose Fri, 04 Dec 2015 12:01:04 +0100 + +gcc-5 (5.2.1-27ubuntu1) xenial; urgency=medium + + * Configure with --enable-default-pie on s390x. + + -- Matthias Klose Mon, 30 Nov 2015 00:49:40 +0100 + +gcc-5 (5.2.1-27) unstable; urgency=medium + + * Update to SVN 20151129 (r231053, 5.2.1) from the gcc-5-branch. + * Don't strip cc1plus when shipping with unstripped frontends. + * Relax libgnatvsn5-dev-*-cross and libgnatprj5-dev-*-cross dependencies + on gnat-5-*-linux-gnu. + * Fix setting the explicit libc dependency for cross builds. + * Don't build m4-nofpu multilibs on sh4, install the default multilib + into the standard location. + * Stop building gnat on mips64, see https://gcc.gnu.org/PR65337 (#806370). + * Update the patch for PR go/67508 and re-enable Go on sparc and sparc64. + * Fix gnat sparc/sparc64 architecture detection. + * Update libgcc and libstdc++ symbols files. + * Don't ship the gcov tools in the gcc-hppa64-linux-gnu package. + * Run the autoconf generation in parallel. + * Add --enable-default-pie option to GCC configure, taken from the trunk. + * Enable gnat for m68k cross builds. + * Link gnat tools, gnat libs and libgccjit with the defaults LDFLAGS. + * Skip non-default multilib and libstdc++-v3 debug builds in bootstrap builds. + * Ship an empty debian/rules.parameters in the gcc-5-source package. + + -- Matthias Klose Sun, 29 Nov 2015 23:48:58 +0100 + +gcc-5 (5.2.1-26ubuntu1) xenial; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 25 Nov 2015 17:29:15 +0100 + +gcc-5 (5.2.1-26) unstable; urgency=medium + + * Update to SVN 20151125 (r230897, 5.2.1) from the gcc-5-branch. + * Fix the rtlibs stage build. Closes: #806186. + * Fix packaging the cross libphobos package. + * Build the hppa64 cross compiler on x86 architectures. + * gcc-5-hppa64-linux-gnu: Stop providing unversioned tools using + alternatives. Build a gcc-hppa64-linux-gnu package instead. + * Split out a gcc-5-test-results package from g++-5, allowing a post + build analysis, and reducing the size of the g++-5 package. + + -- Matthias Klose Wed, 25 Nov 2015 20:33:08 +0100 + +gcc-5 (5.2.1-25ubuntu1) xenial; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Mon, 23 Nov 2015 06:06:11 +0100 + +gcc-5 (5.2.1-25) unstable; urgency=medium + + * Update to SVN 20151123 (r230734, 5.2.1) from the gcc-5-branch. + * Fix libgcc4-dbg dependency on libgcc4. Closes: #805839. + * Fix building epoch prefixed cross packages. + + -- Matthias Klose Mon, 23 Nov 2015 05:48:00 +0100 + +gcc-5 (5.2.1-24ubuntu3) xenial; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Sat, 21 Nov 2015 12:21:06 +0100 + +gcc-5 (5.2.1-24) unstable; urgency=medium + + * Update to SVN 20151121 (r230703, 5.2.1) from the gcc-5-branch. + * Fix PR libstdc++/56158, taken from the trunk. Closes: #804521. LP: #1514309. + * Don't try to build a gnat cross compiler when there is no gnat compiler + for the build architecture. + * Update gnat build dependencies for backports. + * Parallelize building documentation and parallelize the packaging step. + * Update the Linaro support to the 5-2015.11 snapshot. + + -- Matthias Klose Sat, 21 Nov 2015 11:22:16 +0100 + +gcc-5 (5.2.1-23ubuntu1) xenial; urgency=medium + + * Again, configure with --enable-targets=powerpcle-linux on ppc64el. + + -- Matthias Klose Wed, 28 Oct 2015 12:18:49 +0100 + +gcc-5 (5.2.1-23) unstable; urgency=medium + + * Update to SVN 20151028 (r229478, 5.2.1) from the gcc-5-branch. + + [ Matthias Klose ] + * Update the Linaro support to the 5-2015.10 snapshot. + * gcj: On ppc64el, use the same jvm archdir name as for openjdk (ppc64le). + * gcj: Fix priority of java alternatives. Closes: #803055. + * gnat-5: Reintroduce the unversioned gnatgcc name. Closes: #802838. + + [ Aurelien Jarno ] + * Replace proposed patch for PR rtl-optimization/67736 by the one + committed on trunk. + + -- Matthias Klose Wed, 28 Oct 2015 10:36:54 +0100 + +gcc-5 (5.2.1-22ubuntu5) xenial; urgency=medium + + * Revert the fix for PR ipa/67056, causing an ICE. + + -- Matthias Klose Fri, 23 Oct 2015 19:13:51 +0200 + +gcc-5 (5.2.1-22ubuntu4) xenial; urgency=medium + + * Update to SVN 20151022 (r229176, 5.2.1) from the gcc-5-branch. + * Fix PR ipa/67056, taken from the trunk. Closes: #788299. + * Target POWER8 on ppc64el. + * Again, don't strip the compiler binaries for more verbose ICEs. + + -- Matthias Klose Thu, 22 Oct 2015 17:32:47 +0200 + +gcc-5 (5.2.1-22ubuntu2) wily; urgency=medium + + * Strip the compiler binaries for the release. + + -- Matthias Klose Fri, 16 Oct 2015 12:17:17 +0200 + +gcc-5 (5.2.1-22ubuntu1) wily; urgency=medium + + * gcj: On ppc64el, use the same jvm archdir name as for openjdk (ppc64le). + + -- Matthias Klose Sun, 11 Oct 2015 10:13:52 +0200 + +gcc-5 (5.2.1-22) unstable; urgency=medium + + * Update to SVN 20151010 (r228681, 5.2.1) from the gcc-5-branch. + - Fix PR libstdc++/65913, PR libstdc++/67173, PR libstdc++/67747, + PR c/67730, PR middle-end/67563, PR lto/67699, PR tree-optimization/67821, + PR debug/58315. + + [ Matthias Klose ] + * Restore the work around for PR libstdc++/65913, still needed at least + for powerpc. + * Rename gcc-5-hppa64 to gcc-5-hppa64-linux-gnu, update (build) dependency + on binutils. Closes: #800563. + * Adjust setting DH_COMPAT for dh_movefiles with updated debhelper supporting + globbing of arguments. Closes: #800250. + * Build-depend on gnat-5 instead of gnat-4.9. + + [ Aurelien Jarno ] + * Do not Use --with-mips-plt on mips and mipsel. Closes: #799811. + + -- Matthias Klose Sat, 10 Oct 2015 22:17:09 +0200 + +gcc-5 (5.2.1-21ubuntu2) wily; urgency=medium + + * Restore the work around for PR libstdc++/65913, still needed at least + for powerpc. + + -- Matthias Klose Sun, 04 Oct 2015 02:21:30 +0200 + +gcc-5 (5.2.1-21ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Sat, 03 Oct 2015 21:30:44 +0200 + +gcc-5 (5.2.1-21) unstable; urgency=medium + + * Update to SVN 20151003 (r228449, 5.2.1) from the gcc-5-branch. + * Fix building gnat. Closes: #800781. + + -- Matthias Klose Sat, 03 Oct 2015 17:28:45 +0200 + +gcc-5 (5.2.1-20ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Fri, 02 Oct 2015 11:35:22 +0200 + +gcc-5 (5.2.1-20) unstable; urgency=medium + + * Update to SVN 20151002 (r228373, 5.2.1) from the gcc-5-branch. + * Fix packaging the ada cross library packages. + + -- Matthias Klose Fri, 02 Oct 2015 10:24:38 +0200 + +gcc-5 (5.2.1-19ubuntu1) wily; urgency=medium + + * Configure --with-arch=zEC12 on s390x Ubuntu. + + -- Matthias Klose Wed, 30 Sep 2015 22:55:14 +0200 + +gcc-5 (5.2.1-19) unstable; urgency=medium + + * Update to SVN 20150930 (r228302, 5.2.1) from the gcc-5-branch. + - Fix PR ipa/66424. Closes: #800318. + + [ Matthias Klose ] + * Update the Linaro support to the 5-2015.09 snapshot. + * Fix PR libstdc++/67707, taken from the trunk. LP: #1499564. + * Ship libgcj.spec in gcj-5 instead of gcj-5-jdk. Closes: #800010. + * gcj-5: Suggest gcj-5-jdk. + * Fix base dependency for ada cross library packages. + * Add ${shlibs:Depends} for libgnatvsn and libgnatprj. + * Link lrealpath.o into libgnatprj. Closes: #800045. + * libgnat{svn,prj}-dev: For cross builds, move adainclude and adalib files + into the gcc libdir. + * Default to POWER8 on ppc64el. + * armv8: Fix slt lda missing conditional code (taken from the trunk). + * Fix lintian pre-depends-directly-on-multiarch-support warnings. + + [ Aurelien Jarno ] + * Apply proposed patch for PR rtl-optimization/67736 when building for + mips64 or mips64el. Closes: #800321. + + -- Matthias Klose Wed, 30 Sep 2015 20:36:50 +0200 + +gcc-5 (5.2.1-18ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 23 Sep 2015 03:10:37 +0200 + +gcc-5 (5.2.1-18) unstable; urgency=medium + + * Update to SVN 20150922 (r228023, 5.2.1) from the gcc-5-branch. + + [ Matthias Klose ] + * gcc-5-plugin-dev: Depend on libmpc-dev. Closes: #798997. + * Fix PR libstdc++/65913, taken from the trunk. Closes: #797577. + + [ YunQiang Su ] + * Build again the gnat-5-sjlj package. Closes: #798782. + * Fix gnat cross builds, and cross building gnat. + + -- Matthias Klose Tue, 22 Sep 2015 23:15:17 +0200 + +gcc-5 (5.2.1-17ubuntu5) wily; urgency=medium + + * Don't assume --push-state/--pop-state being available for every linker. + LP: #1496743. + + -- Matthias Klose Tue, 22 Sep 2015 20:54:29 +0200 + +gcc-5 (5.2.1-17ubuntu4) wily; urgency=medium + + * gcc-5-plugin-dev: Depend on libmpc-dev. Closes: #798997. + * Work around PR c++/65913, link with -latomic when linking with -lstdc++. + Closes: #797577. + + -- Matthias Klose Tue, 15 Sep 2015 17:57:31 +0200 + +gcc-5 (5.2.1-17ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Fri, 11 Sep 2015 03:24:48 +0200 + +gcc-5 (5.2.1-17) unstable; urgency=medium + + * Update to SVN 20150911 (r227671, 5.2.1) from the gcc-5-branch. + - Fix PR c++/67369, ICE on valid code. LP: #1489173. + + [ Matthias Klose ] + * Build-depend on linux-libc-dev [m68k] for gcc and gcc-snapshot builds. + Closes: #796906. + * Don't ignore anymore bootstrap comparison failures on sh4. Closes: #796939. + * Fix stage1 cross build for KFreeBSD. Closes: #796901. + * libgo: Fix PR go/67508, rewrite lfstack packing/unpacking to look more + like that in Go (Michael Hudson). LP: #1472650. + * Fix PR target/67143 (AArch64), ICE on valid code. LP: #1481333. + + [ Aurelien Jarno ] + * Use --with-mips-plt on mips*. + * Build for R2 ISA on mips, mips64 and mips64el. + * Optimize for R2 ISA on mipsel. + * Only apply mips-fix-loongson2f-nop on mipsel. + + [ YunQiang Su ] + * Fix running the acats tests. Closes: #798531. + + -- Matthias Klose Fri, 11 Sep 2015 03:17:20 +0200 + +gcc-5 (5.2.1-16ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Thu, 03 Sep 2015 16:00:26 +0200 + +gcc-5 (5.2.1-16) unstable; urgency=medium + + * Update to SVN 20150903 (r227431, 5.2.1) from the gcc-5-branch. + - Backport the filesystem TS library. + * libstdc++-dev: Install libstdc++fs.a. + * Again, configure with --enable-targets=powerpcle-linux on ppc64el. + * Apply proposed patch for PR target/67211 (ppc64el). + * libgo-dev: Install libgolibbegin.a. + * Apply proposed patch for PR target/67280 (ARM). LP: #1482320. + + -- Matthias Klose Thu, 03 Sep 2015 12:16:15 +0200 + +gcc-5 (5.2.1-15ubuntu5) wily; urgency=medium + + * Fix libstdc++-breaks (add version for the clustalx breaks). + + -- Matthias Klose Tue, 25 Aug 2015 17:56:26 +0200 + +gcc-5 (5.2.1-15ubuntu3) wily; urgency=medium + + * Update to SVN 20150825 (r227166, 5.2.1) from the gcc-5-branch. + - Backport the filesystem TS library. + * libstdc++-dev: Install libstdc++fs.a. + * Again, configure with --enable-targets=powerpcle-linux on ppc64el. + * Apply proposed patch for PR target/67211 (ppc64el). + * libgo-dev: Install libgolibbegin.a. + * Add the PR libstdc++/66145 breaks for wily. + + -- Matthias Klose Tue, 25 Aug 2015 15:56:11 +0200 + +gcc-5 (5.2.1-15ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Sun, 09 Aug 2015 13:20:15 +0200 + +gcc-5 (5.2.1-15) unstable; urgency=medium + + * Update to SVN 20150808 (r226731, 5.2.1) from the gcc-5-branch. + * Adjust libstdc++-breaks: Break libantlr-dev instead of antlr; + adjust libreoffice version (closes: #794203), drop xxsd break (see + #793289), remove cython breaks (closes: #794511), add breaks for + packages built using cython (chemps2, fiona, guiqwt, htseq, imposm, + pysph, pytaglib, python-scipy, python-sfml, rasterio). + * Ignore missing libstdc++ symbols on sparc64 (work around #792204). + + -- Matthias Klose Sat, 08 Aug 2015 11:18:24 +0200 + +gcc-5 (5.2.1-14) unstable; urgency=high + + * Fix libstdc++6 breaks. + + -- Matthias Klose Fri, 31 Jul 2015 04:12:08 +0200 + +gcc-5 (5.2.1-13) unstable; urgency=high + + * Upload to unstable (https://wiki.debian.org/GCC5). See also + https://lists.debian.org/debian-devel-announce/2015/07/msg00000.html + * Update to SVN 20150730 (r226411, 5.2.1) from the gcc-5-branch. + - Fix PR libstdc++/67015. Closes: #793784. + * Fix version macros in the plugin-header.h header. Closes: #793478. + * libstdc++6: Add breaks for issues tagged with gcc-pr66145. + * Add libcpprest2.4 to libstdc++6 breaks. Closes: #784655. + * Fix PR c++/66857, taken from the trunk. + * Ignore differences in gcc/real.o in the bootstrap build for + sh*-*linux-gnu targets. According to PR 67002, "A rare indeterminacy + of the register choice. Both codes are valid. It seems very hard to + find where has this indeterminacy come from". Suggested by Adrian + Glaubitz. + + -- Matthias Klose Thu, 30 Jul 2015 21:51:25 +0200 + +gcc-5 (5.2.1-12ubuntu2) wily; urgency=medium + + * Update to SVN 20150729 (r226354, 5.2.1) from the gcc-5-branch. + - Fix PR libstdc++/67015. Closes: #793784. + + -- Matthias Klose Wed, 29 Jul 2015 17:59:18 +0200 + +gcc-5 (5.2.1-12ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 22 Jul 2015 21:17:54 +0200 + +gcc-5 (5.2.1-12) experimental; urgency=medium + + * Update to SVN 20150723 (r226105, 5.2.1) from the gcc-5-branch. + * Fix PR libstdc++/66145, std::ios_base::failure objects thrown from + libstdc++.so using the gcc4-compatible ABI. + Just build src/c++11/functexcept.cc using the new ABI. It will break + code, which will be handled in the archive by adding Breaks for the + affected packages. Third party code using such code will need a rebuild. + * Remove the work around to build with -O1 on sh4. + + -- Matthias Klose Thu, 23 Jul 2015 14:18:44 +0200 + +gcc-5 (5.2.1-11ubuntu1) wily; urgency=medium + + * Configure without --disable-libstdcxx-dual-abi. + * Configure with --with-default-libstdcxx-abi=new. + + -- Matthias Klose Fri, 17 Jul 2015 08:14:56 +0200 + +gcc-5 (5.2.1-1ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Thu, 16 Jul 2015 16:58:50 +0200 + +gcc-5 (5.2.1-1) experimental; urgency=medium + + * GCC 5.2 release. + * Update to SVN 20150716 (r225880, 5.2.1) from the gcc-5-branch. + * Require version 5.2 for the libstdc++6 cxx symbols. + * Ignore missing libstdc++ symbols on sparc64 (work around #792204). + * Go escape analysis: analyze multiple result type assertions (taken + from the trunk). + + -- Matthias Klose Thu, 16 Jul 2015 15:35:44 +0200 + +gcc-5 (5.1.1-14ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Sat, 11 Jul 2015 13:00:26 +0200 + +gcc-5 (5.1.1-14) unstable; urgency=medium + + * Update to SVN 20150711 (r225710, 5.1.1) from the gcc-5-branch. + + -- Matthias Klose Sat, 11 Jul 2015 11:57:19 +0200 + +gcc-5 (5.1.1-13ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Tue, 07 Jul 2015 14:29:11 +0200 + +gcc-5 (5.1.1-13) unstable; urgency=medium + + * Update to SVN 20150706 (r225471, 5.1.1) from the gcc-5-branch. + * Update libasan symbol files. + * Configure --with-fp-32=xx on all mips targets, setting MIPS O32 default + to FPXX (YunQiang Su). Closes: #789612. + * Update libgccjit symbol file. + * Add x32 symbols files for libgcc1 and libstdc++6. + * libgccjit0: Add breaks for python-gccjit and python3-gccjit. + + -- Matthias Klose Mon, 06 Jul 2015 19:55:08 +0200 + +gcc-5 (5.1.1-12ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Tue, 23 Jun 2015 12:53:45 +0200 + +gcc-5 (5.1.1-12) unstable; urgency=medium + + * Update to SVN 20150622 (r224724, 5.1.1) from the gcc-5-branch. + * Update symbols files for mips64 libatomic and libstdc++ (YunQiang Su). + Closes: #788990. + * Fix "empty-binary-package" lintian warnings. + + -- Matthias Klose Mon, 22 Jun 2015 14:37:49 +0200 + +gcc-5 (5.1.1-11ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 17 Jun 2015 14:38:38 +0200 + +gcc-5 (5.1.1-11) unstable; urgency=medium + + * Update to SVN 20150616 (r224519, 5.1.1) from the gcc-5-branch. + * gccgo: escape: Analyze binary expressions (taken from the trunk). + * Explicitly build with -Wl,--no-relax on alpha again. + * Build with -O1 on sh4 (try to work around PR target/66358). + + -- Matthias Klose Tue, 16 Jun 2015 16:11:59 +0200 + +gcc-5 (5.1.1-10) unstable; urgency=medium + + * Update to SVN 20150613 (r224454, 5.1.1) from the gcc-5-branch. + * Make removal of byte-compiled libstdc++ pretty printer files more + robust. Closes: #787630. + * Fix mips 32bit (o32) multilib builds (YunQiang Su). + * Build target libraries with -Wl,-z,relro. + * Build libstdc++6 when building the common libraries. + * Fix a bunch of lintian warnings. + + -- Matthias Klose Sat, 13 Jun 2015 12:59:17 +0200 + +gcc-5 (5.1.1-9ubuntu2) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 03 Jun 2015 01:02:23 +0200 + +gcc-5 (5.1.1-9) unstable; urgency=medium + + * Update to SVN 20150602 (r224029, 5.1.1) from the gcc-5-branch. + * Remove byte-compiled libstdc++ pretty printer files on upgrade. + Closes: #785939. + * Fix dangling libgccjit.so symlink. + * Fix base dependency for rtlibs stage builds. + * Fix build failure of the hppa64 cross compiler, introduced by the + gnat cross patches. Closes: #786692. + * Update README.source (Michael Vogt). + * libgo: syscall.Sendfile(): Apply proposed patch for PR go/66378. + (Michael Vogt). LP: #1460530. + * Set CC and CXX matching the same GCC version for the stage1 build. + * Work around PR go/66368, build libgo with -fno-stack-protector. + LP: #1454183. + + -- Matthias Klose Wed, 03 Jun 2015 00:49:41 +0200 + +gcc-5 (5.1.1-8ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Thu, 28 May 2015 12:51:48 +0200 + +gcc-5 (5.1.1-8) unstable; urgency=medium + + * Update to SVN 20150528 (r223816, 5.1.1) from the gcc-5-branch. + * Set the priorities of the *-dev-*-cross packages to extra. + * Prepare to change the base dependency for *-cross packages. + * Fix dependencies for stage1 and stage2 builds. + * Relax dependencies on binary indep *-dev-*-cross packages. + * Disable building gdc on sh4 (bootstrap comparison failure). + + -- Matthias Klose Thu, 28 May 2015 15:51:00 +0200 + +gcc-5 (5.1.1-7) unstable; urgency=medium + + * Update to SVN 20150522 (r223579, 5.1.1) from the gcc-5-branch. + * Add description for the ada-gnattools-cross patch (YunQiang Su). + * Provide a rtlibs stage to build a subset of target library packages. + * Make symbols file symlinking for cross builds more robust. + * Prefer gnatgcc-5 over gnatgcc when building native packages. + * Various fixes to build a gnat cross compiler: + - Fix dependencies of packages. + - Fix building libgnatprj and libgnatvsn (still needed to figure + out if these are target or host libraries). + * Fix building cross compilers with dpkg 1.18. + + -- Matthias Klose Fri, 22 May 2015 18:20:01 +0200 + +gcc-5 (5.1.1-6ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + * Fix dependencies for stage1 and stage2 builds. + * Disable building gdc on sh4. + + -- Matthias Klose Tue, 19 May 2015 18:29:02 +0200 + +gcc-5 (5.1.1-6) unstable; urgency=medium + + * Update to SVN 20150519 (r223346, 5.1.1) from the gcc-5-branch. + * Don't build gdc-multilib on armel. + * Remove old CFLAGS/LDFLAGS settings to build gdc. + * Remove reference to .ico file in NEWS.html. + * Fix gcc's dependency on libcc1-0 for native builds. + * Fix stripping the rpath when cross-building cross compilers. + * Remove work arounds to build 64bit multilibs on 32bit targets, + now properly fixed upstream. + * Partially apply patches to build a gnat cross compiler (submitted + by YunQiang Su). + - gnatmake: Call the versioned gnatbind and gnatlink commands. + Closes: #782257. + - Allow libgnatprj and libgnatvsn to cross build. Addresses: #783372. + - New patch ada-gnattools-cross.diff (no documentation). + * Backport patch for gccgo: + - gccgo: If unary & does not escape, the var does not escape. + * Apply the backported patches for the go escape analysis. Need to + be enabled with -fgo-optimize-alloc (this option may go away again). + * Re-enable running the tests. + + -- Matthias Klose Tue, 19 May 2015 10:33:40 +0200 + +gcc-5 (5.1.1-5ubuntu4) wily; urgency=medium + + * Update to SVN 20150513 (r223155, 5.1.1) from the gcc-5-branch. + * Don't build gdc-multilib on armel. + + -- Matthias Klose Wed, 13 May 2015 14:36:20 +0200 + +gcc-5 (5.1.1-5ubuntu3) wily; urgency=medium + + * Fix gnat build dependencies. + + -- Matthias Klose Sun, 10 May 2015 02:46:32 +0200 + +gcc-5 (5.1.1-5ubuntu2) wily; urgency=medium + + * Update to SVN 20150509 (r222970, 5.1.1) from the gcc-5-branch. + * Fix gotools configury. + * Configure with + --disable-libstdcxx-dual-abi --with-default-libstdcxx-abi=c++98 + While libstdc++ provides a dual ABI to support both the c++98 and c++11 + ABI, there is no committment on compatibility of the old experimental + c++11 ABI from GCC 4.9 and the stable c++11 ABI in GCC 5. + Closes: #784655. + + -- Matthias Klose Sat, 09 May 2015 19:24:57 +0200 + +gcc-5 (5.1.1-5ubuntu1) wily; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Tue, 05 May 2015 17:52:14 +0200 + +gcc-5 (5.1.1-5) unstable; urgency=medium + + * Update to SVN 20150507 (r222873, 5.1.1) from the gcc-5-branch. + * Fix 32bit libstdc++ symbols files for kfreebsd-amd64. + * libx32phobos-dev: Don't depend on libx32z-dev, when not available. + * Fix gotools configury. + * Configure with + --disable-libstdcxx-dual-abi --with-default-libstdcxx-abi=c++98 + While libstdc++ provides a dual ABI to support both the c++98 and c++11 + ABI, there is no committment on compatibility of the old experimental + c++11 ABI from GCC 4.9 and the stable c++11 ABI in GCC 5. + Closes: #784655. + + -- Matthias Klose Fri, 08 May 2015 18:48:49 +0200 + +gcc-5 (5.1.1-4) unstable; urgency=medium + + * Update to SVN 20150503 (r222751, 5.1.1) from the gcc-5-branch. + - Fix build failure on alpha. + * Fix applying the cross-biarch patch for stage1 builds. + * Fix libstdc++ symbols files for kfreebsd-amd64. + * Remove libn32phobos-5-dev from the control file. + * Really disable gnat on x32. + + -- Matthias Klose Sat, 02 May 2015 19:18:57 +0200 + +gcc-5 (5.1.1-3) unstable; urgency=high + + * Update to SVN 20150430 (r222660, 5.1.1) from the gcc-5-branch. + * Fix libstdc++ symbols files for kfreebsd-i386. + * PR libstdc++/62258, fix for std::uncaught_exception, taken from the trunk. + LP: #1439451. + * Backport patches for gccgo (not yet applied): + - Consider multi-result calls in escape analysis. + - Propagate escape info from closures to enclosed variables. + - Analyze function values and conversions. + - Use backend interface for stack allocation. + * More libstdc++ symbols updates for the Hurd and KFreeBSD. + * config-ml.in: Add D support. + * Update cross-biarch.diff to support D and Go. + * Apply the cross-biarch patch for every cross build. + + -- Matthias Klose Thu, 30 Apr 2015 15:42:05 +0200 + +gcc-5 (5.1.1-2) unstable; urgency=medium + + * Update to SVN 20150428 (r222550, 5.1.1) from the gcc-5-branch. + * Fix the gnat build dependency. + * Don't build go and gofmt for cross compilers. + + -- Matthias Klose Tue, 28 Apr 2015 23:57:14 +0200 + +gcc-5 (5.1.1-1) unstable; urgency=medium + + * GCC 5.1.0 release. + * Update to SVN 20150424 (r222416, 5.1.1) from the gcc-5-branch. + * Update NEWS files. + * Apply the ada-bootstrap-compare patch for snapshot builds as well. + * Update libasan, libgomp and libstdc++ symbols files. + * Don't ignore errors in dh_makeshlibs and dh_shlibdeps anymore, symbols + files should be uptodate now. + * Split out the sjlj build related things from the ada-acats patch into + a new ada-acats-sjlj patch. + * Don't build libx32phobos-5-dev when not building x32 multilibs. + * Fix standard C++ include directory for cross builds. Closes: #783241. + * Ignore bootstrap comparison failure on ia64. Filed upstream as + PR middle-end/65874. + * gccgo: Add (don't yet apply) a patch to implement escape analysis (taken + from the trunk). Turned off by default, enable with -fgo-optimize-alloc. + + -- Matthias Klose Fri, 24 Apr 2015 18:42:39 +0200 + +gcc-5 (5.1.0-0ubuntu11) vivid; urgency=medium + + * GCC 5.1.0 release. + * Update NEWS files. + * gccgo: Implement escape analysis (taken from the trunk). Turned off + by default, enable with -fgo-optimize-alloc. + + -- Matthias Klose Wed, 22 Apr 2015 14:54:11 +0200 + +gcc-5 (5.1~rc2-0ubuntu12) vivid; urgency=medium + + * Fix libasan symbols. + + -- Matthias Klose Wed, 22 Apr 2015 00:12:03 +0200 + +gcc-5 (5.1~rc2-0ubuntu11) vivid; urgency=medium + + * GCC 5.1 release candidate 2. + * Update to SVN 20150421 (r222253) from the gcc-5-branch. + + -- Matthias Klose Tue, 21 Apr 2015 18:53:06 +0200 + +gcc-5 (5.1~rc1-0ubuntu12) vivid; urgency=medium + + * Update to SVN 20150419 (r222218) from the gcc-5-branch. + * Apply the ada-bootstrap-compare patch for snapshot builds as well. + * Update libasan, libgomp and libstdc++ symbols files. + * Don't ignore errors in dh_makeshlibs and dh_shlibdeps anymore, symbols + files should be uptodate now. + * Split out the sjlj build related things from the ada-acats patch into + a new ada-acats-sjlj patch. + * Ignore bootstrap comparison failure on ia64. Filed upstream as + PR middle-end/65874. + + -- Matthias Klose Sun, 19 Apr 2015 15:57:49 +0200 + +gcc-5 (5.1~rc1-0ubuntu11) vivid; urgency=medium + + * GCC 5.1 release candidate 1. + * Update to SVN 20150414 (r222066) from the gcc-5-branch. + * Update GDC to the gcc-5 branch, 20140414. + * Don't build libobjc, when not building the common libraries. + * Don't run the gccjit tests on KFreeBSD. Works around #782444:. + * Fix not building libs built by the next GCC version. + + -- Matthias Klose Tue, 14 Apr 2015 03:01:02 +0200 + +gcc-5 (5-20150410-0ubuntu11) vivid; urgency=medium + + * Update to SVN 20150410. + * Fix /usr/include/c++/5.0.0 symlink. + * Re-enable building the D frontend. Closes: #782254. + * gccgo: Install libnetgo. + + -- Matthias Klose Sat, 11 Apr 2015 02:21:24 +0200 + +gcc-5 (5-20150404-0ubuntu11) vivid; urgency=medium + + * Update to SVN 20150404. + * Don't explicitly configure --with-gxx-include-dir and an absolute path, + so the toolchain remains relocatible. Instead, canonicalize the include + path names at runtime. + + -- Matthias Klose Sat, 04 Apr 2015 23:34:58 +0200 + +gcc-5 (5-20150401-0ubuntu12) vivid; urgency=medium + + * Update to SVN 20150401. + * Don't link libgnatprj using --no-allow-shlib-undefined on older releases. + * Don't build libmpx on older releases. + * Remove the work around to build libgccjit on arm64. + * Fix the libgccjit build using the just built compiler. + * Don't break other gcc, gcj, gnat -base packages for backports, only + needed for dist-upgrades. + * Don't add -gtoggle to STAGE3_CFLAGS (disabling the bootstrap comparison). + Instead, ignore the one differing file (gcc/ada/a-except.o) for now. + See #781457, PR ada/65618. + * Update libasan, libtsan, libgfortran and libstdc++ symbols files. + * Add symbols files for libmpx, libgccjit and libcc1. + + -- Matthias Klose Wed, 01 Apr 2015 11:27:39 +0200 + +gcc-5 (5-20150329-1ubuntu11) vivid; urgency=medium + + * Update to SVN 20150329. + + -- Matthias Klose Sun, 29 Mar 2015 19:13:54 +0200 + +gcc-5 (5-20150329-1) experimental; urgency=medium + + * Update to SVN 20150329. + * Fix building the gnat-5-doc package. + * Fix gnat build dependencies. + * Fix installation of the gnat upstream ChangeLog. Closes: #781451. + * Restore the bootstrap-debug.mk patch to the ada-mips patch + for debugging purposes. See #781457. + + -- Matthias Klose Sun, 29 Mar 2015 18:53:29 +0200 + +gcc-5 (5-20150328-0ubuntu11) vivid; urgency=medium + + * Update to SVN 20150328. + * Fix building the gnat-5-doc package. + * Fix installation of the gnat upstream ChangeLog. Closes: #781451. + * Restore the bootstrap-debug.mk patch to the ada-mips patch + for debugging purposes. See #781457. + + -- Matthias Klose Sat, 28 Mar 2015 15:08:55 +0100 + +gcc-5 (5-20150327-1) experimental; urgency=medium + + * Update to SVN 20150327. + * Update libcc1 build support. + * Fix syntax in libstdc++ symbols file. Closes: #780991. + * Fix PR go/65417: Add support for PPC32 relocs to debug/elf. LP: #1431388. + * Fix PR go/65462: Fix go get dependencies. LP: #1432497. + * Limit the omp.h multilib fix to Linux. Closes: #778440. + * For ICEs, dump the preprocessed source file to stderr when in a + distro build environment. + * Remove the bootstrap-debug.mk patch from the ada-mips patch. + * gnat related work (partly based on #780640): + - Update patches for GCC 5. + - Build the gnat packages from the gcc-5 source package. + - Don't build a gnat-base package from the gcc-5 source. + - Stop building the gnat-5-sjlj package for now, patch needs an update. + - Fix the packaging when not building the gnat-5-sjlj package. + - Don't apply the ada-symbolic-tracebacks, patch needs an update. + - Fix the libgnatprj build, build with -DIN_GCC. + * Replace cloog/ppl build bits with isl build bits. + + -- Matthias Klose Fri, 27 Mar 2015 21:05:16 +0100 + +gcc-5 (5-20150321-1ubuntu12) vivid; urgency=medium + + * Update to SVN 20150321. + * Move the libcc1plugin from the gcc-5-plugin-dev package into the + gcc-5 package. + * Configure with --enable-checking=yes (instead of =release). + + -- Matthias Klose Sat, 21 Mar 2015 15:28:30 +0100 + +gcc-5 (5-20150316-1ubuntu11) vivid; urgency=medium + + * Update to SVN 20150316. + + -- Matthias Klose Mon, 16 Mar 2015 11:56:03 +0100 + +gcc-5 (5-20150314-1ubuntu11) vivid; urgency=medium + + * Update to SVN 20150314. + + -- Matthias Klose Sat, 14 Mar 2015 14:29:28 +0100 + +gcc-5 (5-20150312-1ubuntu11) vivid; urgency=medium + + * Update to SVN 20150312. + - PR go/65404, enable cgo on arm64 and powerpc. LP: #1431032. + * Fix libmpx multilib builds. + + -- Matthias Klose Thu, 12 Mar 2015 23:11:21 +0100 + +gcc-5 (5-20150311-1ubuntu12) vivid; urgency=medium + + * Update to SVN 20150311. + - libgo: Add arm64 to the pointer size map (Michael Hudson). + - libgo: Add ppc to the pointer size map. + * Enable libmpx builds on amd64 and i386. + * Update the gcc-multiarch patch for mips64 (YunQiang Su). + Closes: #776402, #780271. + + -- Matthias Klose Wed, 11 Mar 2015 19:56:38 +0100 + +gcc-5 (5-20150307-1ubuntu11) vivid; urgency=medium + + * Update to SVN 20150307. + - Update gccgo to Go 1.4.2. + * Enable libsanitizer for AArch64 and POWERPC LE (asan, ubsan). + * Remove the support to build empty libsanitizer packages on powerpc + and ppc64; libsanitizer should be stable on these architectures. + * Fix libcc1.so symlink. Closes: #779341. + * Revert the fix for PR65150 on armel and armhf to restore bootstrap. + * Don't strip the libgo library, or some things won't work as documented, + like runtime.Callers. Still keep the -dbg packages and check if some + debug information can be stripped. + * gccgo-5: Install alternatives for go and gofmt. + + -- Matthias Klose Sat, 07 Mar 2015 12:36:40 +0100 + +gcc-5 (5-20150226-1) experimental; urgency=medium + + * Update to SVN 20150226. + - Fix PR c/65040 (closes: #778514), PR tree-optimization/65053 + (closes: #778070, #778071), PR c++/64898 (closes: #778472). + * Allow not to strip the compiler executables to be able to print backtraces + for ICEs. + * Fix gnat build on mips64el (James Cowgill). Addresses: #779191. + * Fix the hppa64 cross build (John David Anglin). Closes: #778658. + * Fix libstdc++ pretty printers for Python3. Closes: #778436. + + -- Matthias Klose Thu, 26 Feb 2015 08:18:23 +0100 + +gcc-5 (5-20150205-0ubuntu11) vivid; urgency=medium + + * Update to SVN 20150205. + + -- Matthias Klose Thu, 05 Feb 2015 01:57:43 +0100 + +gcc-5 (5-20150203-0ubuntu12) vivid; urgency=medium + + * Don't disable bootstrap mode for the jit build on arm64, gets + miscompiled. + + -- Matthias Klose Tue, 03 Feb 2015 13:39:02 +0100 + +gcc-5 (5-20150203-0ubuntu11) vivid; urgency=medium + + * Update to SVN 20150203. + + -- Matthias Klose Tue, 03 Feb 2015 13:39:02 +0100 + +gcc-5 (5-20150129-0ubuntu2) vivid; urgency=medium + + * Fix the libstdc++ build. + + -- Matthias Klose Thu, 29 Jan 2015 19:09:16 +0100 + +gcc-5 (5-20150129-0ubuntu1) vivid; urgency=medium + + * Update to SVN 20150129. + * Configure --with-default-libstdcxx-abi=c++11 for development, + --with-default-libstdcxx-abi=c++98 for backports. + + -- Matthias Klose Thu, 29 Jan 2015 17:47:03 +0100 + +gcc-5 (5-20150128-0ubuntu1) vivid; urgency=medium + + * Update to SVN 20150128. + * Update GDC for GCC 5. + * Build GDC multilib packages. + * Update cross-install-location.diff for gcc-5. Closes: #776100. + * Re-enable libgccjit on AArch64. + + -- Matthias Klose Wed, 28 Jan 2015 23:30:09 +0100 + +gcc-5 (5-20150127-0ubuntu2) vivid; urgency=medium + + * Disable libgccjit on AArch64, compiler issue + + -- Matthias Klose Tue, 27 Jan 2015 18:05:12 +0100 + +gcc-5 (5-20150127-0ubuntu1) vivid; urgency=medium + + * Update to SVN 20150127. + * Disable libgccjit on AArch64. + + -- Matthias Klose Tue, 27 Jan 2015 14:39:03 +0100 + +gcc-5 (5-20150126-0ubuntu3) vivid; urgency=medium + + * Update to SVN 20150126. + * More symbol file updates. + * Fix libbacktrace and libsanitizer multilib builds. + * Fix libssp builds on 64bit architectures. + + -- Matthias Klose Mon, 26 Jan 2015 18:22:53 +0100 + +gcc-5 (5-20150121-0ubuntu2) vivid; urgency=medium + + * GCC 5. + * Build new binary packages libcc1-0, libgccjit0, libgccjit-5-dev, + libgccjit-5-dbg, libgccjit-5-doc. + * Update symbols files (still incomplete). + + -- Matthias Klose Tue, 20 Jan 2015 12:45:13 +0100 + +gcc-4.9 (4.9.2-10ubuntu2) vivid; urgency=medium + + * Update to SVN 20150116 (r219730) from the gcc-4_9-branch. + - Fix PR libstdc++/64476, PR libstdc++/60966, PR libstdc++/64239, + PR middle-end/63704 (ice on valid), PR target/64513 (x86), + PR rtl-optimization/64286 (wrong code), PR tree-optimization/64563 (ice), + PR middle-end/64391 (ice on valid), PR c++/54442 (ice on valid), + PR target/64358 (rs6000, wrong code), PR target/63424 (AArch64, ice on + valid), PR target/64479 (SH), PR rtl-optimization/64536, PR target/64505 + (rs6000), PR target/61413 (ARM, wrong code), PR target/64507 (SH), + PR target/64409 (x32, ice on valid), PR c++/64487 (ice on valid), + PR c++/64352, PR c++/64251 (rejects valid), PR c++/64297 (ice on valid), + PR c++/64029 (ice on valid), PR c++/63657 (diagnostic), PR c++/38958 + (diagnostic), PR c++/63658 (rejects valid), PR ada/64492 (build), + PR fortran/64528 (ice on valid), PR fortran/63733 (wrong code), + PR fortran/56867 (wrong code), PR fortran/64244 (ice on valid). + * Update the Linaro support to the 4.9-2015.01 release. + + -- Matthias Klose Fri, 16 Jan 2015 14:28:09 +0100 + +gcc-4.9 (4.9.2-10ubuntu1) vivid; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 31 Dec 2014 04:54:06 +0100 + +gcc-4.9 (4.9.2-10) unstable; urgency=medium + + * Really add x32 multilib packages for i386 cross builds to the control file. + Closes: #773265. + * Use the final binutils 2.25 release. + * Tighten the gcc-4.9 dependency on libgcc-4.9-dev (YunQiang Su). + + -- Matthias Klose Thu, 25 Dec 2014 18:10:51 +0100 + +gcc-4.9 (4.9.2-9) unstable; urgency=medium + + * Update to SVN 20141220 (r218987) from the gcc-4_9-branch. + - Fix PR libstdc++/64302, PR libstdc++/64303, PR c++/60955, + PR rtl-optimization/64010 (wrong code), PR sanitizer/64265 (wrong code). + * Add x32 multilib packages for i386 cross builds to the control file. + Closes: #773265. + * Fix mips64el multilib cross builds. Closes: #772665. + * libphobos-4.x-dev: Stop providing libphobos-dev, now a real package. + + -- Matthias Klose Sat, 20 Dec 2014 07:47:15 +0100 + +gcc-4.9 (4.9.2-8) unstable; urgency=medium + + * Update to SVN 20141214 (r218721) from the gcc-4_9-branch. + - Fix PR tree-optimization/62021 (ice), PR middle-end/64225 (missed + optimization), PR libstdc++/64239, PR rtl-optimization/64037 (wrong + code), PR target/64200 (x86, ice), PR tree-optimization/64269 (ice). + * Don't build libphobos multilibs, there is no gdc-multilib build. + * Really disable the sanitizer libs on powerpc, ppc64 and ppc64el. + * Paste config.log files to stdout in case of build errors. + + -- Matthias Klose Sun, 14 Dec 2014 18:43:49 +0100 + +gcc-4.9 (4.9.2-7ubuntu3) vivid; urgency=medium + + * Fix the powerpc build. + + -- Matthias Klose Thu, 11 Dec 2014 15:52:15 +0100 + +gcc-4.9 (4.9.2-7ubuntu2) vivid; urgency=medium + + * Update to SVN 20141211 (r218620) from the gcc-4_9-branch. + - Fix PR tree-optimization/62021 (ice), PR middle-end/64225 (missed + optimization). + * Don't build libphobos multilibs, there is no gdc-multilib built. + * Really disable the sanitizer libs on powerpc, ppc64 and ppc64el. + * Paste config.log files to stdout in case of build errors. + + -- Matthias Klose Thu, 11 Dec 2014 12:04:13 +0100 + +gcc-4.9 (4.9.2-7ubuntu1) vivid; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Wed, 10 Dec 2014 15:27:33 +0100 + +gcc-4.9 (4.9.2-7) unstable; urgency=medium + + * Update to SVN 20141210 (r218575) from the gcc-4_9-branch. + - Fix PR libstdc++/64203, PR target/55351 (SH), PR tree-optimization/61686, + PR bootstrap/64213. + - libgcc hppa backports. + * Fix cross builds with dpkg-architecture unconditionally exporting + target variables. For now specify the target architecture + in debian/target. This still needs to work with older dpkg versions, + so don't "simplify" the packaging. Closes: #768167. + + -- Matthias Klose Wed, 10 Dec 2014 13:32:42 +0100 + +gcc-4.9 (4.9.2-6ubuntu1) vivid; urgency=medium + + * Merge with Debian; remaining changes: + - Build from upstream sources. + + -- Matthias Klose Tue, 09 Dec 2014 13:47:24 +0100 + +# For older changelog entries, run 'apt-get changelog gcc-4.9-base' --- gcc-7-7.1.0.orig/debian/compat +++ gcc-7-7.1.0/debian/compat @@ -0,0 +1 @@ +9 --- gcc-7-7.1.0.orig/debian/control +++ gcc-7-7.1.0/debian/control @@ -0,0 +1,3103 @@ +Source: gcc-7 +Section: devel +Priority: optional +Maintainer: Ubuntu Core developers +XSBC-Original-Maintainer: Debian GCC Maintainers +Uploaders: Matthias Klose +Standards-Version: 3.9.8 +Build-Depends: debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14), + g++-multilib [amd64 armel armhf i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32] , + libc6.1-dev (>= 2.13-0ubuntu6) [alpha ia64] | libc0.3-dev (>= 2.13-0ubuntu6) [hurd-i386] | libc0.1-dev (>= 2.13-0ubuntu6) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-0ubuntu6), libc6-dev (>= 2.13-31) [armel armhf], libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el], libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386], libc6-dev-armhf [armel], libhfgcc1 [armel], libc6-dev-armel [armhf], libsfgcc1 [armhf], libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg, + kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any], linux-libc-dev [m68k], + m4, libtool, autoconf2.64, + libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], + autogen , gawk, lzma, xz-utils, patchutils, + zlib1g-dev, systemtap-sdt-dev [linux-any kfreebsd-any hurd-any], + binutils:native (>= 2.28) | binutils-multiarch:native (>= 2.28), binutils-hppa64-linux-gnu:native (>= 2.28) [hppa amd64 i386 x32], + gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, + gdb:native, nvptx-tools [amd64], + texinfo (>= 4.3), locales, sharutils, + procps, g++-6:native, gnat-7:native [!m32r !sh3 !sh3eb !sh4eb !m68k], g++-7:native, netbase, + libisl-dev, libmpc-dev (>= 1.0), libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), lib32z1-dev [amd64 kfreebsd-amd64], lib64z1-dev [i386], libx32z1-dev [amd64 kfreebsd-amd64 i386], + dejagnu [!m68k !hurd-amd64 !hurd-i386 !hurd-alpha !kfreebsd-amd64 !kfreebsd-i386 !kfreebsd-alpha], realpath (>= 1.9.12), chrpath, lsb-release, quilt, + pkg-config, libgc-dev, + g++-7-alpha-linux-gnu [alpha] , gobjc-7-alpha-linux-gnu [alpha] , gfortran-7-alpha-linux-gnu [alpha] , gdc-7-alpha-linux-gnu [alpha] , gccgo-7-alpha-linux-gnu [alpha] , gnat-7-alpha-linux-gnu [alpha] , g++-7-x86-64-linux-gnu [amd64] , gobjc-7-x86-64-linux-gnu [amd64] , gfortran-7-x86-64-linux-gnu [amd64] , gdc-7-x86-64-linux-gnu [amd64] , gccgo-7-x86-64-linux-gnu [amd64] , gnat-7-x86-64-linux-gnu [amd64] , g++-7-arm-linux-gnueabi [armel] , gobjc-7-arm-linux-gnueabi [armel] , gfortran-7-arm-linux-gnueabi [armel] , gdc-7-arm-linux-gnueabi [armel] , gccgo-7-arm-linux-gnueabi [armel] , gnat-7-arm-linux-gnueabi [armel] , g++-7-arm-linux-gnueabihf [armhf] , gobjc-7-arm-linux-gnueabihf [armhf] , gfortran-7-arm-linux-gnueabihf [armhf] , gdc-7-arm-linux-gnueabihf [armhf] , gccgo-7-arm-linux-gnueabihf [armhf] , gnat-7-arm-linux-gnueabihf [armhf] , g++-7-aarch64-linux-gnu [arm64] , gobjc-7-aarch64-linux-gnu [arm64] , gfortran-7-aarch64-linux-gnu [arm64] , gdc-7-aarch64-linux-gnu [arm64] , gccgo-7-aarch64-linux-gnu [arm64] , gnat-7-aarch64-linux-gnu [arm64] , g++-7-i686-linux-gnu [i386] , gobjc-7-i686-linux-gnu [i386] , gfortran-7-i686-linux-gnu [i386] , gdc-7-i686-linux-gnu [i386] , gccgo-7-i686-linux-gnu [i386] , gnat-7-i686-linux-gnu [i386] , g++-7-mips-linux-gnu [mips] , gobjc-7-mips-linux-gnu [mips] , gfortran-7-mips-linux-gnu [mips] , gdc-7-mips-linux-gnu [mips] , gccgo-7-mips-linux-gnu [mips] , gnat-7-mips-linux-gnu [mips] , g++-7-mipsel-linux-gnu [mipsel] , gobjc-7-mipsel-linux-gnu [mipsel] , gfortran-7-mipsel-linux-gnu [mipsel] , gdc-7-mipsel-linux-gnu [mipsel] , gccgo-7-mipsel-linux-gnu [mipsel] , gnat-7-mipsel-linux-gnu [mipsel] , g++-7-mips64-linux-gnuabi64 [mips64] , gobjc-7-mips64-linux-gnuabi64 [mips64] , gfortran-7-mips64-linux-gnuabi64 [mips64] , gdc-7-mips64-linux-gnuabi64 [mips64] , gccgo-7-mips64-linux-gnuabi64 [mips64] , gnat-7-mips64-linux-gnuabi64 [mips64] , g++-7-mips64el-linux-gnuabi64 [mips64el] , gobjc-7-mips64el-linux-gnuabi64 [mips64el] , gfortran-7-mips64el-linux-gnuabi64 [mips64el] , gdc-7-mips64el-linux-gnuabi64 [mips64el] , gccgo-7-mips64el-linux-gnuabi64 [mips64el] , gnat-7-mips64el-linux-gnuabi64 [mips64el] , g++-7-powerpc-linux-gnu [powerpc] , gobjc-7-powerpc-linux-gnu [powerpc] , gfortran-7-powerpc-linux-gnu [powerpc] , gdc-7-powerpc-linux-gnu [powerpc] , gccgo-7-powerpc-linux-gnu [powerpc] , gnat-7-powerpc-linux-gnu [powerpc] , g++-7-powerpc64-linux-gnu [ppc64] , gobjc-7-powerpc64-linux-gnu [ppc64] , gfortran-7-powerpc64-linux-gnu [ppc64] , gdc-7-powerpc64-linux-gnu [ppc64] , gccgo-7-powerpc64-linux-gnu [ppc64] , gnat-7-powerpc64-linux-gnu [ppc64] , g++-7-powerpc64le-linux-gnu [ppc64el] , gobjc-7-powerpc64le-linux-gnu [ppc64el] , gfortran-7-powerpc64le-linux-gnu [ppc64el] , gdc-7-powerpc64le-linux-gnu [ppc64el] , gccgo-7-powerpc64le-linux-gnu [ppc64el] , gnat-7-powerpc64le-linux-gnu [ppc64el] , g++-7-m68k-linux-gnu [m68k] , gobjc-7-m68k-linux-gnu [m68k] , gfortran-7-m68k-linux-gnu [m68k] , gdc-7-m68k-linux-gnu [m68k] , g++-7-sh4-linux-gnu [sh4] , gobjc-7-sh4-linux-gnu [sh4] , gfortran-7-sh4-linux-gnu [sh4] , gnat-7-sh4-linux-gnu [sh4] , g++-7-sparc64-linux-gnu [sparc64] , gobjc-7-sparc64-linux-gnu [sparc64] , gfortran-7-sparc64-linux-gnu [sparc64] , gdc-7-sparc64-linux-gnu [sparc64] , gccgo-7-sparc64-linux-gnu [sparc64] , gnat-7-sparc64-linux-gnu [sparc64] , g++-7-s390x-linux-gnu [s390x] , gobjc-7-s390x-linux-gnu [s390x] , gfortran-7-s390x-linux-gnu [s390x] , gdc-7-s390x-linux-gnu [s390x] , gccgo-7-s390x-linux-gnu [s390x] , gnat-7-s390x-linux-gnu [s390x] , g++-7-x86-64-linux-gnux32 [x32] , gobjc-7-x86-64-linux-gnux32 [x32] , gfortran-7-x86-64-linux-gnux32 [x32] , gdc-7-x86-64-linux-gnux32 [x32] , gccgo-7-x86-64-linux-gnux32 [x32] , gnat-7-x86-64-linux-gnux32 [x32] , +Build-Depends-Indep: doxygen (>= 1.7.2), graphviz (>= 2.2), ghostscript, texlive-latex-base, xsltproc, libxml2-utils, docbook-xsl-ns +Homepage: http://gcc.gnu.org/ +Vcs-Browser: http://svn.debian.org/viewsvn/gcccvs/branches/sid/gcc-7/ +Vcs-Svn: svn://anonscm.debian.org/gcccvs/branches/sid/gcc-7 + +Package: gcc-7-base +Architecture: any +Multi-Arch: same +Section: libs +Priority: required +Depends: ${misc:Depends} +Replaces: ${base:Replaces} +Breaks: ${base:Breaks} +Description: GCC, the GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). + +Package: libgcc1 +Architecture: any +Section: libs +Priority: required +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: libgcc1-armel [armel], libgcc1-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +Description: GCC support library + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libgcc1-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libgcc1 (= ${gcc:EpochVersion}), ${misc:Depends} +Provides: libgcc1-dbg-armel [armel], libgcc1-dbg-armhf [armhf] +Multi-Arch: same +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: libgcc2 +Architecture: m68k +Section: libs +Priority: required +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +Description: GCC support library + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libgcc2-dbg +Architecture: m68k +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libgcc2 (= ${gcc:EpochVersion}), ${misc:Depends} +Multi-Arch: same +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: libgcc-7-dev +Architecture: any +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libgcc}, ${dep:libssp}, ${dep:libgomp}, ${dep:libitm}, + ${dep:libatomic}, ${dep:libbtrace}, ${dep:libasan}, ${dep:liblsan}, + ${dep:libtsan}, ${dep:libubsan}, ${dep:libcilkrts}, ${dep:libvtv}, + ${dep:libmpx}, + ${dep:libqmath}, ${dep:libunwinddev}, ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Replaces: gccgo-7 (<< ${gcc:Version}) +Description: GCC support library (development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: libgcc4 +Architecture: hppa +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +Section: libs +Priority: required +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libgcc4-dbg +Architecture: hppa +Multi-Arch: same +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libgcc4 (= ${gcc:EpochVersion}), ${misc:Depends} +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: lib64gcc1 +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +Conflicts: libgcc1 (<= 1:3.3-0pre9) +Description: GCC support library (64bit) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: lib64gcc1-dbg +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64gcc1 (= ${gcc:EpochVersion}), ${misc:Depends} +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: lib64gcc-7-dev +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +Description: GCC support library (64bit development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: lib32gcc1 +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: GCC support library (32 bit Version) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: lib32gcc1-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32gcc1 (= ${gcc:EpochVersion}), ${misc:Depends} +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: lib32gcc-7-dev +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +Description: GCC support library (32 bit development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: libhfgcc1 +Architecture: armel +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +Conflicts: libgcc1-armhf [armel] +Description: GCC support library (hard float ABI) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libhfgcc1-dbg +Architecture: armel +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfgcc1 (= ${gcc:EpochVersion}), ${misc:Depends} +Conflicts: libgcc1-dbg-armhf [armel] +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: libhfgcc-7-dev +Architecture: armel +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +Description: GCC support library (hard float ABI development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: libsfgcc1 +Architecture: armhf +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +Conflicts: libgcc1-armel [armhf] +Description: GCC support library (soft float ABI) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libsfgcc1-dbg +Architecture: armhf +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfgcc1 (= ${gcc:EpochVersion}), ${misc:Depends} +Conflicts: libgcc1-dbg-armel [armhf] +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: libsfgcc-7-dev +Architecture: armhf +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +Description: GCC support library (soft float ABI development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: libn32gcc1 +Architecture: mips mipsel mips64 mips64el +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +Conflicts: libgcc1 (<= 1:3.3-0pre9) +Description: GCC support library (n32) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libn32gcc1-dbg +Architecture: mips mipsel mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libn32gcc1 (= ${gcc:EpochVersion}), ${misc:Depends} +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: libn32gcc-7-dev +Architecture: mips mipsel mips64 mips64el +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +Description: GCC support library (n32 development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: libx32gcc1 +Architecture: amd64 i386 +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +Description: GCC support library (x32) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libx32gcc1-dbg +Architecture: amd64 i386 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32gcc1 (= ${gcc:EpochVersion}), ${misc:Depends} +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: libx32gcc-7-dev +Architecture: amd64 i386 +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +Description: GCC support library (x32 development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: gcc-7 +Architecture: any +Section: devel +Priority: optional +Depends: cpp-7 (= ${gcc:Version}), gcc-7-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Replaces: gccgo-7 (<< ${gcc:Version}) +Suggests: ${gcc:multilib}, gcc-7-doc (>= ${gcc:SoftVersion}), + gcc-7-locales (>= ${gcc:SoftVersion}), + libgcc1-dbg (>= ${libgcc:Version}), + libgomp1-dbg (>= ${gcc:Version}), + libitm1-dbg (>= ${gcc:Version}), + libatomic1-dbg (>= ${gcc:Version}), + libasan4-dbg (>= ${gcc:Version}), + liblsan0-dbg (>= ${gcc:Version}), + libtsan0-dbg (>= ${gcc:Version}), + libubsan0-dbg (>= ${gcc:Version}), + libcilkrts5-dbg (>= ${gcc:Version}), + libmpx2-dbg (>= ${gcc:Version}), + libquadmath0-dbg (>= ${gcc:Version}) +Provides: c-compiler +Description: GNU C compiler + This is the GNU C compiler, a fairly portable optimizing compiler for C. + +Package: gcc-7-multilib +Architecture: amd64 armel armhf i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gcc-7 (= ${gcc:Version}), ${dep:libcbiarchdev}, ${dep:libgccbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU C compiler (multilib support) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: gcc-7-test-results +Architecture: any +Section: devel +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), ${misc:Depends} +Replaces: g++-5 (<< 5.2.1-28) +Description: Test results for the GCC test suite + This package contains the test results for running the GCC test suite + for a post build analysis. + +Package: gcc-7-plugin-dev +Architecture: any +Section: devel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gcc-7 (= ${gcc:Version}), libgmp-dev (>= 2:5.0.1~), libmpc-dev (>= 1.0), ${shlibs:Depends}, ${misc:Depends} +Description: Files for GNU GCC plugin development. + This package contains (header) files for GNU GCC plugin development. It + is only used for the development of GCC plugins, but not needed to run + plugins. + +Package: gcc-7-hppa64-linux-gnu +Architecture: hppa amd64 i386 x32 +Section: devel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gcc-7 (= ${gcc:Version}), + binutils-hppa64-linux-gnu | binutils-hppa64, + ${shlibs:Depends}, ${misc:Depends} +Description: GNU C compiler (cross compiler for hppa64) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + +Package: cpp-7 +Architecture: any +Section: interpreters +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-7-locales (>= ${gcc:SoftVersion}) +Replaces: gccgo-7 (<< ${gcc:Version}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. + +Package: cpp-7-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-7-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends} +Description: Documentation for the GNU C preprocessor (cpp) + Documentation for the GNU C preprocessor in info format. + +Package: gcc-7-locales +Architecture: all +Section: devel +Priority: optional +Depends: gcc-7-base (>= ${gcc:SoftVersion}), cpp-7 (>= ${gcc:SoftVersion}), ${misc:Depends} +Recommends: gcc-7 (>= ${gcc:SoftVersion}) +Description: GCC, the GNU compiler collection (native language support files) + Native language support for GCC. Lets GCC speak your language, + if translations are available. + . + Please do NOT submit bug reports in other languages than "C". + Always reset your language settings to use the "C" locales. + +Package: g++-7 +Architecture: any +Section: devel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gcc-7 (= ${gcc:Version}), libstdc++-7-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler, c++abi2-dev +Suggests: ${gxx:multilib}, gcc-7-doc (>= ${gcc:SoftVersion}), libstdc++6-7-dbg (>= ${gcc:Version}) +Description: GNU C++ compiler + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + +Package: g++-7-multilib +Architecture: amd64 armel armhf i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), g++-7 (= ${gcc:Version}), gcc-7-multilib (= ${gcc:Version}), ${dep:libcxxbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: ${dep:libcxxbiarchdbg} +Description: GNU C++ compiler (multilib support) + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: libgomp1 +Section: libs +Architecture: any +Provides: libgomp1-armel [armel], libgomp1-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GCC OpenMP (GOMP) support library + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libgomp1-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libgomp1 (= ${gcc:Version}), ${misc:Depends} +Provides: libgomp1-dbg-armel [armel], libgomp1-dbg-armhf [armhf] +Multi-Arch: same +Description: GCC OpenMP (GOMP) support library (debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: lib32gomp1 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: GCC OpenMP (GOMP) support library (32bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: lib32gomp1-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32gomp1 (= ${gcc:Version}), ${misc:Depends} +Description: GCC OpenMP (GOMP) support library (32 bit debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: lib64gomp1 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC OpenMP (GOMP) support library (64bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: lib64gomp1-dbg +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64gomp1 (= ${gcc:Version}), ${misc:Depends} +Description: GCC OpenMP (GOMP) support library (64bit debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libn32gomp1 +Section: libs +Architecture: mips mipsel mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC OpenMP (GOMP) support library (n32) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libn32gomp1-dbg +Architecture: mips mipsel mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libn32gomp1 (= ${gcc:Version}), ${misc:Depends} +Description: GCC OpenMP (GOMP) support library (n32 debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + +Package: libx32gomp1 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC OpenMP (GOMP) support library (x32) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libx32gomp1-dbg +Architecture: amd64 i386 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32gomp1 (= ${gcc:Version}), ${misc:Depends} +Description: GCC OpenMP (GOMP) support library (x32 debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + +Package: libhfgomp1 +Section: libs +Architecture: armel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: libgomp1-armhf [armel] +Description: GCC OpenMP (GOMP) support library (hard float ABI) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libhfgomp1-dbg +Architecture: armel +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfgomp1 (= ${gcc:Version}), ${misc:Depends} +Conflicts: libgomp1-dbg-armhf [armel] +Description: GCC OpenMP (GOMP) support library (hard float ABI debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + +Package: libsfgomp1 +Section: libs +Architecture: armhf +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: libgomp1-armel [armhf] +Description: GCC OpenMP (GOMP) support library (soft float ABI) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libsfgomp1-dbg +Architecture: armhf +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfgomp1 (= ${gcc:Version}), ${misc:Depends} +Conflicts: libgomp1-dbg-armel [armhf] +Description: GCC OpenMP (GOMP) support library (soft float ABI debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + +Package: libitm1 +Section: libs +Architecture: any +Provides: libitm1-armel [armel], libitm1-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Transactional Memory Library + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: libitm1-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libitm1 (= ${gcc:Version}), ${misc:Depends} +Provides: libitm1-dbg-armel [armel], libitm1-dbg-armhf [armhf] +Multi-Arch: same +Description: GNU Transactional Memory Library (debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: lib32itm1 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: GNU Transactional Memory Library (32bit) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: lib32itm1-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32itm1 (= ${gcc:Version}), ${misc:Depends} +Description: GNU Transactional Memory Library (32 bit debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: lib64itm1 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU Transactional Memory Library (64bit) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: lib64itm1-dbg +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64itm1 (= ${gcc:Version}), ${misc:Depends} +Description: GNU Transactional Memory Library (64bit debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +#Package: libn32itm`'ITM_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(optional)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: GNU Transactional Memory Library (n32) +# GNU Transactional Memory Library (libitm) provides transaction support for +# accesses to the memory of a process, enabling easy-to-use synchronization of +# accesses to shared memory by several threads. + +#Package: libn32itm`'ITM_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(itm`'ITM_SO,n32,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: GNU Transactional Memory Library (n32 debug symbols) +# GNU Transactional Memory Library (libitm) provides transaction support for +# accesses to the memory of a process, enabling easy-to-use synchronization of +# accesses to shared memory by several threads. + +Package: libx32itm1 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU Transactional Memory Library (x32) + This manual documents the usage and internals of libitm. It provides + transaction support for accesses to the memory of a process, enabling + easy-to-use synchronization of accesses to shared memory by several threads. + +Package: libx32itm1-dbg +Architecture: amd64 i386 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32itm1 (= ${gcc:Version}), ${misc:Depends} +Description: GNU Transactional Memory Library (x32 debug symbols) + This manual documents the usage and internals of libitm. It provides + transaction support for accesses to the memory of a process, enabling + easy-to-use synchronization of accesses to shared memory by several threads. + +Package: libhfitm1 +Section: libs +Architecture: armel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: libitm1-armhf [armel] +Description: GNU Transactional Memory Library (hard float ABI) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: libhfitm1-dbg +Architecture: armel +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfitm1 (= ${gcc:Version}), ${misc:Depends} +Conflicts: libitm1-armel [armhf] +Description: GNU Transactional Memory Library (hard float ABI debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: libsfitm1 +Section: libs +Architecture: armhf +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU Transactional Memory Library (soft float ABI) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: libsfitm1-dbg +Architecture: armhf +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfitm1 (= ${gcc:Version}), ${misc:Depends} +Description: GNU Transactional Memory Library (soft float ABI debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: libatomic1 +Section: libs +Architecture: any +Provides: libatomic1-armel [armel], libatomic1-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: support library providing __atomic built-in functions + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libatomic1-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libatomic1 (= ${gcc:Version}), ${misc:Depends} +Provides: libatomic1-dbg-armel [armel], libatomic1-dbg-armhf [armhf] +Multi-Arch: same +Description: support library providing __atomic built-in functions (debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: lib32atomic1 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: support library providing __atomic built-in functions (32bit) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: lib32atomic1-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32atomic1 (= ${gcc:Version}), ${misc:Depends} +Description: support library providing __atomic built-in functions (32 bit debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: lib64atomic1 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: support library providing __atomic built-in functions (64bit) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: lib64atomic1-dbg +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64atomic1 (= ${gcc:Version}), ${misc:Depends} +Description: support library providing __atomic built-in functions (64bit debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libn32atomic1 +Section: libs +Architecture: mips mipsel mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: support library providing __atomic built-in functions (n32) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libn32atomic1-dbg +Architecture: mips mipsel mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libn32atomic1 (= ${gcc:Version}), ${misc:Depends} +Description: support library providing __atomic built-in functions (n32 debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libx32atomic1 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: support library providing __atomic built-in functions (x32) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libx32atomic1-dbg +Architecture: amd64 i386 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32atomic1 (= ${gcc:Version}), ${misc:Depends} +Description: support library providing __atomic built-in functions (x32 debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libhfatomic1 +Section: libs +Architecture: armel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: libatomic1-armhf [armel] +Description: support library providing __atomic built-in functions (hard float ABI) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libhfatomic1-dbg +Architecture: armel +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfatomic1 (= ${gcc:Version}), ${misc:Depends} +Conflicts: libatomic1-armel [armhf] +Description: support library providing __atomic built-in functions (hard float ABI debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libsfatomic1 +Section: libs +Architecture: armhf +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: support library providing __atomic built-in functions (soft float ABI) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libsfatomic1-dbg +Architecture: armhf +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfatomic1 (= ${gcc:Version}), ${misc:Depends} +Description: support library providing __atomic built-in functions (soft float ABI debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libasan4 +Section: libs +Architecture: any +Provides: libasan4-armel [armel], libasan4-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libasan4-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libasan4 (= ${gcc:Version}), ${misc:Depends} +Provides: libasan4-dbg-armel [armel], libasan4-dbg-armhf [armhf] +Multi-Arch: same +Description: AddressSanitizer -- a fast memory error detector (debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: lib32asan4 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: AddressSanitizer -- a fast memory error detector (32bit) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: lib32asan4-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32asan4 (= ${gcc:Version}), ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector (32 bit debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: lib64asan4 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector (64bit) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: lib64asan4-dbg +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64asan4 (= ${gcc:Version}), ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector (64bit debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +#Package: libn32asan`'ASAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(extra)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: AddressSanitizer -- a fast memory error detector (n32) +# AddressSanitizer (ASan) is a fast memory error detector. It finds +# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +#Package: libn32asan`'ASAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(asan`'ASAN_SO,n32,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: AddressSanitizer -- a fast memory error detector (n32 debug symbols) +# AddressSanitizer (ASan) is a fast memory error detector. It finds +# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libx32asan4 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector (x32) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libx32asan4-dbg +Architecture: amd64 i386 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32asan4 (= ${gcc:Version}), ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector (x32 debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libhfasan4 +Section: libs +Architecture: armel +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: libasan4-armhf [armel] +Description: AddressSanitizer -- a fast memory error detector (hard float ABI) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libhfasan4-dbg +Architecture: armel +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfasan4 (= ${gcc:Version}), ${misc:Depends} +Conflicts: libasan4-armel [armhf] +Description: AddressSanitizer -- a fast memory error detector (hard float ABI debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libsfasan4 +Section: libs +Architecture: armhf +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector (soft float ABI) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libsfasan4-dbg +Architecture: armhf +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfasan4 (= ${gcc:Version}), ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector (soft float ABI debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: liblsan0 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: LeakSanitizer -- a memory leak detector (runtime) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. + +Package: liblsan0-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), liblsan0 (= ${gcc:Version}), ${misc:Depends} +Multi-Arch: same +Description: LeakSanitizer -- a memory leak detector (debug symbols) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. + +Package: lib32lsan0 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: LeakSanitizer -- a memory leak detector (32bit) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). + +Package: lib32lsan0-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32lsan0 (= ${gcc:Version}), ${misc:Depends} +Description: LeakSanitizer -- a memory leak detector (32 bit debug symbols) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). + +#Package: lib64lsan`'LSAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(optional)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (64bit) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. + +#Package: lib64lsan`'LSAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(lsan`'LSAN_SO,64,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (64bit debug symbols) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. + +#Package: libn32lsan`'LSAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(optional)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (n32) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. + +#Package: libn32lsan`'LSAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(lsan`'LSAN_SO,n32,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (n32 debug symbols) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. + +Package: libx32lsan0 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: LeakSanitizer -- a memory leak detector (x32) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). + +Package: libx32lsan0-dbg +Architecture: amd64 i386 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32lsan0 (= ${gcc:Version}), ${misc:Depends} +Description: LeakSanitizer -- a memory leak detector (x32 debug symbols) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). + +Package: libtsan0 +Section: libs +Architecture: any +Provides: libtsan0-armel [armel], libtsan0-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: ThreadSanitizer -- a Valgrind-based detector of data races (runtime) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +Package: libtsan0-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libtsan0 (= ${gcc:Version}), ${misc:Depends} +Provides: libtsan0-dbg-armel [armel], libtsan0-dbg-armhf [armhf] +Multi-Arch: same +Description: ThreadSanitizer -- a Valgrind-based detector of data races (debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +Package: libubsan0 +Section: libs +Architecture: any +Provides: libubsan0-armel [armel], libubsan0-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: UBSan -- undefined behaviour sanitizer (runtime) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libubsan0-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libubsan0 (= ${gcc:Version}), ${misc:Depends} +Provides: libubsan0-dbg-armel [armel], libubsan0-dbg-armhf [armhf] +Multi-Arch: same +Description: UBSan -- undefined behaviour sanitizer (debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: lib32ubsan0 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: UBSan -- undefined behaviour sanitizer (32bit) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: lib32ubsan0-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32ubsan0 (= ${gcc:Version}), ${misc:Depends} +Description: UBSan -- undefined behaviour sanitizer (32 bit debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: lib64ubsan0 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: UBSan -- undefined behaviour sanitizer (64bit) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: lib64ubsan0-dbg +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64ubsan0 (= ${gcc:Version}), ${misc:Depends} +Description: UBSan -- undefined behaviour sanitizer (64bit debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +#Package: libn32ubsan`'UBSAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(optional)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: UBSan -- undefined behaviour sanitizer (n32) +# UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. +# Various computations will be instrumented to detect undefined behavior +# at runtime. Available for C and C++. + +#Package: libn32ubsan`'UBSAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,n32,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: UBSan -- undefined behaviour sanitizer (n32 debug symbols) +# UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. +# Various computations will be instrumented to detect undefined behavior +# at runtime. Available for C and C++. + +Package: libx32ubsan0 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: UBSan -- undefined behaviour sanitizer (x32) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libx32ubsan0-dbg +Architecture: amd64 i386 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32ubsan0 (= ${gcc:Version}), ${misc:Depends} +Description: UBSan -- undefined behaviour sanitizer (x32 debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libhfubsan0 +Section: libs +Architecture: armel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: libubsan0-armhf [armel] +Description: UBSan -- undefined behaviour sanitizer (hard float ABI) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libhfubsan0-dbg +Architecture: armel +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfubsan0 (= ${gcc:Version}), ${misc:Depends} +Conflicts: libubsan0-armel [armhf] +Description: UBSan -- undefined behaviour sanitizer (hard float ABI debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libsfubsan0 +Section: libs +Architecture: armhf +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: UBSan -- undefined behaviour sanitizer (soft float ABI) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libsfubsan0-dbg +Architecture: armhf +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfubsan0 (= ${gcc:Version}), ${misc:Depends} +Description: UBSan -- undefined behaviour sanitizer (soft float ABI debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libcilkrts5 +Section: libs +Architecture: any +Provides: libcilkrts5-armel [armel], libcilkrts5-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Intel Cilk Plus language extensions (runtime) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libcilkrts5-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libcilkrts5 (= ${gcc:Version}), ${misc:Depends} +Provides: libcilkrts5-dbg-armel [armel], libcilkrts5-dbg-armhf [armhf] +Multi-Arch: same +Description: Intel Cilk Plus language extensions (debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: lib32cilkrts5 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: Intel Cilk Plus language extensions (32bit) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: lib32cilkrts5-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32cilkrts5 (= ${gcc:Version}), ${misc:Depends} +Description: Intel Cilk Plus language extensions (32 bit debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: lib64cilkrts5 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Intel Cilk Plus language extensions (64bit) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: lib64cilkrts5-dbg +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64cilkrts5 (= ${gcc:Version}), ${misc:Depends} +Description: Intel Cilk Plus language extensions (64bit debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libx32cilkrts5 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Intel Cilk Plus language extensions (x32) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libx32cilkrts5-dbg +Architecture: amd64 i386 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32cilkrts5 (= ${gcc:Version}), ${misc:Depends} +Description: Intel Cilk Plus language extensions (x32 debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libhfcilkrts5 +Section: libs +Architecture: armel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: libcilkrts5-armhf [armel] +Description: Intel Cilk Plus language extensions (hard float ABI) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libhfcilkrts5-dbg +Architecture: armel +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfcilkrts5 (= ${gcc:Version}), ${misc:Depends} +Conflicts: libcilkrts5-armel [armhf] +Description: Intel Cilk Plus language extensions (hard float ABI debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libsfcilkrts5 +Section: libs +Architecture: armhf +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Intel Cilk Plus language extensions (soft float ABI) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libsfcilkrts5-dbg +Architecture: armhf +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfcilkrts5 (= ${gcc:Version}), ${misc:Depends} +Description: Intel Cilk Plus language extensions (soft float ABI debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libmpx2 +Section: libs +Architecture: any +Provides: libmpx2-armel [armel], libmpx2-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: libmpx0 (<< 6-20160120-1) +Description: Intel memory protection extensions (runtime) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: libmpx2-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libmpx2 (= ${gcc:Version}), ${misc:Depends} +Provides: libmpx2-dbg-armel [armel], libmpx2-dbg-armhf [armhf] +Multi-Arch: same +Description: Intel memory protection extensions (debug symbols) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: lib32mpx2 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Replaces: lib32mpx0 (<< 6-20160120-1) +Description: Intel memory protection extensions (32bit) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: lib32mpx2-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32mpx2 (= ${gcc:Version}), ${misc:Depends} +Description: Intel memory protection extensions (32 bit debug symbols) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: lib64mpx2 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: lib64mpx0 (<< 6-20160120-1) +Description: Intel memory protection extensions (64bit) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: lib64mpx2-dbg +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64mpx2 (= ${gcc:Version}), ${misc:Depends} +Description: Intel memory protection extensions (64bit debug symbols) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: libquadmath0 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GCC Quad-Precision Math Library + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: libquadmath0-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libquadmath0 (= ${gcc:Version}), ${misc:Depends} +Multi-Arch: same +Description: GCC Quad-Precision Math Library (debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. + +Package: lib32quadmath0 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: GCC Quad-Precision Math Library (32bit) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: lib32quadmath0-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32quadmath0 (= ${gcc:Version}), ${misc:Depends} +Description: GCC Quad-Precision Math Library (32 bit debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. + +Package: lib64quadmath0 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC Quad-Precision Math Library (64bit) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: lib64quadmath0-dbg +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64quadmath0 (= ${gcc:Version}), ${misc:Depends} +Description: GCC Quad-Precision Math Library (64bit debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. + +#Package: libn32quadmath`'QMATH_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(optional)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: GCC Quad-Precision Math Library (n32) +# A library, which provides quad-precision mathematical functions on targets +# supporting the __float128 datatype. The library is used to provide on such +# targets the REAL(16) type in the GNU Fortran compiler. + +#Package: libn32quadmath`'QMATH_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(quadmath`'QMATH_SO,n32,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: GCC Quad-Precision Math Library (n32 debug symbols) +# A library, which provides quad-precision mathematical functions on targets +# supporting the __float128 datatype. + +Package: libx32quadmath0 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC Quad-Precision Math Library (x32) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: libx32quadmath0-dbg +Architecture: amd64 i386 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32quadmath0 (= ${gcc:Version}), ${misc:Depends} +Description: GCC Quad-Precision Math Library (x32 debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. + +Package: libhfquadmath0 +Section: libs +Architecture: armel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC Quad-Precision Math Library (hard float ABI) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: libhfquadmath0-dbg +Architecture: armel +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfquadmath0 (= ${gcc:Version}), ${misc:Depends} +Description: GCC Quad-Precision Math Library (hard float ABI debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. + +Package: libsfquadmath0 +Section: libs +Architecture: armhf +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC Quad-Precision Math Library (soft float ABI) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: libsfquadmath0-dbg +Architecture: armhf +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfquadmath0 (= ${gcc:Version}), ${misc:Depends} +Description: GCC Quad-Precision Math Library (hard float ABI debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. + +Package: libcc1-0 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GCC cc1 plugin for GDB + libcc1 is a plugin for GDB. + +Package: libgccjit0 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Breaks: python-gccjit (<< 0.4-4), python3-gccjit (<< 0.4-4) +Description: GCC just-in-time compilation (shared library) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. + +Package: libgccjit0-dbg +Section: debug +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libgccjit0 (= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +Breaks: libgccjit-5-dbg, libgccjit-6-dbg +Replaces: libgccjit-5-dbg, libgccjit-6-dbg +Description: GCC just-in-time compilation (debug information) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. + +Package: libgccjit-7-doc +Section: doc +Architecture: all +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), ${misc:Depends} +Conflicts: libgccjit-5-doc, libgccjit-6-doc +Description: GCC just-in-time compilation (documentation) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. + +Package: libgccjit-7-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libgccjit0 (>= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +Suggests: libgccjit-7-dbg +Description: GCC just-in-time compilation (development files) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. + +Package: gobjc++-7 +Architecture: any +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gobjc-7 (= ${gcc:Version}), g++-7 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-7-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-7-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler +Description: GNU Objective-C++ compiler + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: gobjc++-7-multilib +Architecture: amd64 armel armhf i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gobjc++-7 (= ${gcc:Version}), g++-7-multilib (= ${gcc:Version}), gobjc-7-multilib (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Objective-C++ compiler (multilib support) + This is the GNU Objective-C++ compiler, which compiles Objective-C++ on + platforms supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: gobjc-7 +Architecture: any +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gcc-7 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-7-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjc:multilib}, gcc-7-doc (>= ${gcc:SoftVersion}), libobjc4-dbg (>= ${gcc:Version}) +Provides: objc-compiler +Description: GNU Objective-C compiler + This is the GNU Objective-C compiler, which compiles + Objective-C on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: gobjc-7-multilib +Architecture: amd64 armel armhf i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gobjc-7 (= ${gcc:Version}), gcc-7-multilib (= ${gcc:Version}), ${dep:libobjcbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU Objective-C compiler (multilib support) + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: libobjc-7-dev +Architecture: any +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libgcc-7-dev (= ${gcc:Version}), libobjc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Description: Runtime library for GNU Objective-C applications (development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: lib64objc-7-dev +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), lib64gcc-7-dev (= ${gcc:Version}), lib64objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (64bit development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: lib32objc-7-dev +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), lib32gcc-7-dev (= ${gcc:Version}), lib32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (32bit development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: libn32objc-7-dev +Architecture: mips mipsel mips64 mips64el +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libn32gcc-7-dev (= ${gcc:Version}), libn32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (n32 development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: libx32objc-7-dev +Architecture: amd64 i386 +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libx32gcc-7-dev (= ${gcc:Version}), libx32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (x32 development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: libhfobjc-7-dev +Architecture: armel +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libhfgcc-7-dev (= ${gcc:Version}), libhfobjc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (hard float ABI development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: libsfobjc-7-dev +Architecture: armhf +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libsfgcc-7-dev (= ${gcc:Version}), libsfobjc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (soft float development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: libobjc4 +Section: libs +Architecture: any +Provides: libobjc4-armel [armel], libobjc4-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications + Library needed for GNU ObjC applications linked against the shared library. + +Package: libobjc4-dbg +Section: debug +Architecture: any +Provides: libobjc4-dbg-armel [armel], libobjc4-dbg-armhf [armhf] +Multi-Arch: same +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libobjc4 (= ${gcc:Version}), libgcc1-dbg (>= ${libgcc:Version}), ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (debug symbols) + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib64objc4 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (64bit) + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib64objc4-dbg +Section: debug +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64objc4 (= ${gcc:Version}), lib64gcc1-dbg (>= ${gcc:EpochVersion}), ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (64 bit debug symbols) + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib32objc4 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: Runtime library for GNU Objective-C applications (32bit) + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib32objc4-dbg +Section: debug +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32objc4 (= ${gcc:Version}), lib32gcc1-dbg (>= ${gcc:EpochVersion}), ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (32 bit debug symbols) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libn32objc4 +Section: libs +Architecture: mips mipsel mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (n32) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libn32objc4-dbg +Section: debug +Architecture: mips mipsel mips64 mips64el +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libn32objc4 (= ${gcc:Version}), libn32gcc1-dbg (>= ${gcc:EpochVersion}), ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (n32 debug symbols) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libx32objc4 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (x32) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libx32objc4-dbg +Section: debug +Architecture: amd64 i386 +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32objc4 (= ${gcc:Version}), libx32gcc1-dbg (>= ${gcc:EpochVersion}), ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (x32 debug symbols) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libhfobjc4 +Section: libs +Architecture: armel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: libobjc4-armhf [armel] +Description: Runtime library for GNU Objective-C applications (hard float ABI) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libhfobjc4-dbg +Section: debug +Architecture: armel +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfobjc4 (= ${gcc:Version}), libhfgcc1-dbg (>= ${gcc:EpochVersion}), ${misc:Depends} +Conflicts: libobjc4-dbg-armhf [armel] +Description: Runtime library for GNU Objective-C applications (hard float ABI debug symbols) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libsfobjc4 +Section: libs +Architecture: armhf +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: libobjc4-armel [armhf] +Description: Runtime library for GNU Objective-C applications (soft float ABI) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libsfobjc4-dbg +Section: debug +Architecture: armhf +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfobjc4 (= ${gcc:Version}), libsfgcc1-dbg (>= ${gcc:EpochVersion}), ${misc:Depends} +Conflicts: libobjc4-dbg-armel [armhf] +Description: Runtime library for GNU Objective-C applications (soft float ABI debug symbols) + Library needed for GNU ObjC applications linked against the shared library. + +Package: gfortran-7 +Architecture: any +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gcc-7 (= ${gcc:Version}), libgfortran-7-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Provides: fortran95-compiler, ${fortran:mod-version} +Suggests: ${gfortran:multilib}, gfortran-7-doc, + libgfortran4-dbg (>= ${gcc:Version}), + libcoarrays-dev +Description: GNU Fortran compiler + This is the GNU Fortran compiler, which compiles + Fortran on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: gfortran-7-multilib +Architecture: amd64 armel armhf i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gfortran-7 (= ${gcc:Version}), gcc-7-multilib (= ${gcc:Version}), ${dep:libgfortranbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU Fortran compiler (multilib support) + This is the GNU Fortran compiler, which compiles Fortran on platforms + supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: gfortran-7-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-7-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends} +Description: Documentation for the GNU Fortran compiler (gfortran) + Documentation for the GNU Fortran compiler in info format. + +Package: libgfortran-7-dev +Architecture: any +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libgcc-7-dev (= ${gcc:Version}), libgfortran4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Description: Runtime library for GNU Fortran applications (development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: lib64gfortran-7-dev +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), lib64gcc-7-dev (= ${gcc:Version}), lib64gfortran4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (64bit development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: lib32gfortran-7-dev +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), lib32gcc-7-dev (= ${gcc:Version}), lib32gfortran4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (32bit development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: libn32gfortran-7-dev +Architecture: mips mipsel mips64 mips64el +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libn32gcc-7-dev (= ${gcc:Version}), libn32gfortran4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (n32 development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: libx32gfortran-7-dev +Architecture: amd64 i386 +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libx32gcc-7-dev (= ${gcc:Version}), libx32gfortran4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (x32 development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: libhfgfortran-7-dev +Architecture: armel +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libhfgcc-7-dev (= ${gcc:Version}), libhfgfortran4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (hard float ABI development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: libsfgfortran-7-dev +Architecture: armhf +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libsfgcc-7-dev (= ${gcc:Version}), libsfgfortran4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (soft float ABI development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: libgfortran4 +Section: libs +Architecture: any +Provides: libgfortran4-armel [armel], libgfortran4-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libgfortran4-dbg +Section: debug +Architecture: any +Provides: libgfortran4-dbg-armel [armel], libgfortran4-dbg-armhf [armhf] +Multi-Arch: same +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libgfortran4 (= ${gcc:Version}), libgcc1-dbg (>= ${libgcc:Version}), ${misc:Depends} +Description: Runtime library for GNU Fortran applications (debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: lib64gfortran4 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (64bit) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: lib64gfortran4-dbg +Section: debug +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64gfortran4 (= ${gcc:Version}), ${misc:Depends} +Description: Runtime library for GNU Fortran applications (64bit debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: lib32gfortran4 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: Runtime library for GNU Fortran applications (32bit) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: lib32gfortran4-dbg +Section: debug +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32gfortran4 (= ${gcc:Version}), ${misc:Depends} +Description: Runtime library for GNU Fortran applications (32 bit debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libn32gfortran4 +Section: libs +Architecture: mips mipsel mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (n32) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libn32gfortran4-dbg +Section: debug +Architecture: mips mipsel mips64 mips64el +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libn32gfortran4 (= ${gcc:Version}), ${misc:Depends} +Description: Runtime library for GNU Fortran applications (n32 debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libx32gfortran4 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (x32) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libx32gfortran4-dbg +Section: debug +Architecture: amd64 i386 +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32gfortran4 (= ${gcc:Version}), ${misc:Depends} +Description: Runtime library for GNU Fortran applications (x32 debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libhfgfortran4 +Section: libs +Architecture: armel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: libgfortran4-armhf [armel] +Description: Runtime library for GNU Fortran applications (hard float ABI) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libhfgfortran4-dbg +Section: debug +Architecture: armel +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfgfortran4 (= ${gcc:Version}), ${misc:Depends} +Conflicts: libgfortran4-dbg-armhf [armel] +Description: Runtime library for GNU Fortran applications (hard float ABI debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libsfgfortran4 +Section: libs +Architecture: armhf +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: libgfortran4-armel [armhf] +Description: Runtime library for GNU Fortran applications (soft float ABI) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libsfgfortran4-dbg +Section: debug +Architecture: armhf +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfgfortran4 (= ${gcc:Version}), ${misc:Depends} +Conflicts: libgfortran4-dbg-armel [armhf] +Description: Runtime library for GNU Fortran applications (hard float ABI debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: gccgo-7 +Architecture: any +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gcc-7 (= ${gcc:Version}), libgo11 (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Provides: go-compiler +Suggests: ${go:multilib}, gccgo-7-doc, libgo11-dbg (>= ${gcc:Version}) +Conflicts: ${golang:Conflicts} +Description: GNU Go compiler + This is the GNU Go compiler, which compiles Go on platforms supported + by the gcc compiler. It uses the gcc backend to generate optimized code. + +Package: gccgo-7-multilib +Architecture: amd64 armel armhf i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gccgo-7 (= ${gcc:Version}), gcc-7-multilib (= ${gcc:Version}), ${dep:libgobiarch}, ${shlibs:Depends}, ${misc:Depends} +Suggests: ${dep:libgobiarchdbg} +Description: GNU Go compiler (multilib support) + This is the GNU Go compiler, which compiles Go on platforms supported + by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: gccgo-7-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-7-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends} +Description: Documentation for the GNU Go compiler (gccgo) + Documentation for the GNU Go compiler in info format. + +Package: libgo11 +Section: libs +Architecture: any +Provides: libgo11-armel [armel], libgo11-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: libgo3, libgo8 +Description: Runtime library for GNU Go applications + Library needed for GNU Go applications linked against the + shared library. + +Package: libgo11-dbg +Section: debug +Architecture: any +Provides: libgo11-dbg-armel [armel], libgo11-dbg-armhf [armhf] +Multi-Arch: same +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libgo11 (= ${gcc:Version}), ${misc:Depends} +Description: Runtime library for GNU Go applications (debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. + +Package: lib64go11 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: lib64go3, lib64go8 +Description: Runtime library for GNU Go applications (64bit) + Library needed for GNU Go applications linked against the + shared library. + +Package: lib64go11-dbg +Section: debug +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64go11 (= ${gcc:Version}), ${misc:Depends} +Description: Runtime library for GNU Go applications (64bit debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. + +Package: lib32go11 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Replaces: lib32go3, lib32go8 +Description: Runtime library for GNU Go applications (32bit) + Library needed for GNU Go applications linked against the + shared library. + +Package: lib32go11-dbg +Section: debug +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32go11 (= ${gcc:Version}), ${misc:Depends} +Description: Runtime library for GNU Go applications (32 bit debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. + +Package: libn32go11 +Section: libs +Architecture: mips mipsel mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libn32go3, libn32go8 +Description: Runtime library for GNU Go applications (n32) + Library needed for GNU Go applications linked against the + shared library. + +Package: libn32go11-dbg +Section: debug +Architecture: mips mipsel mips64 mips64el +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libn32go11 (= ${gcc:Version}), ${misc:Depends} +Description: Runtime library for GNU Go applications (n32 debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. + +Package: libx32go11 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libx32go3, libx32go8 +Description: Runtime library for GNU Go applications (x32) + Library needed for GNU Go applications linked against the + shared library. + +Package: libx32go11-dbg +Section: debug +Architecture: amd64 i386 +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32go11 (= ${gcc:Version}), ${misc:Depends} +Description: Runtime library for GNU Go applications (x32 debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. + +Package: libstdc++6 +Architecture: any +Section: libs +Priority: important +Depends: gcc-7-base (= ${gcc:Version}), ${dep:libc}, ${shlibs:Depends}, ${misc:Depends} +Provides: libstdc++6-armel [armel], libstdc++6-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks}, libantlr-dev (<= 2.7.7+dfsg-6), libaqsis1 (<= 1.8.2-1), libassimp3 (<= 3.0~dfsg-4), blockattack (<= 1.4.1+ds1-2.1build2), boo (<= 0.9.5~git20110729.r1.202a430-2), libboost-date-time1.55.0, libcpprest2.2 (<= 2.2.0-1), printer-driver-brlaser (<= 3-3), c++-annotations (<= 10.2.0-1), chromium-browser (<= 43.0.2357.130-0ubuntu2), clustalx (<= 2.1+lgpl-2), libdavix0 (<= 0.4.0-1build1), libdballe6 (<= 6.8-1), dff (<= 1.3.0+dfsg.1-4.1build2), libdiet-sed2.8 (<= 2.8.0-1build3), libdiet-client2.8 (<= 2.8.0-1build3), libdiet-admin2.8 (<= 2.8.0-1build3), libkgeomap2 (<= 4:15.04.2-0ubuntu1), libmediawiki1 (<= 1.0~digikam4.10.0-0ubuntu2), libkvkontakte1 (<= 1.0~digikam4.10.0-0ubuntu2), emscripten (<= 1.22.1-1), ergo (<= 3.4.0-1), fceux (<= 2.2.2+dfsg0-1), flush (<= 0.9.12-3.1ubuntu1), libfreefem++ (<= 3.37.1-1), freeorion (<= 0.4.4+git20150327-2), fslview (<= 4.0.1-4), fwbuilder (<= 5.1.0-4), libgazebo5 (<= 5.0.1+dfsg-2.1), libgetfem4++ (<= 4.2.1~beta1~svn4482~dfsg-3ubuntu3), libgmsh2 (<= 2.8.5+dfsg-1.1ubuntu1), gnote (<= 3.16.2-1), gnudatalanguage (<= 0.9.5-2build1), python-healpy (<= 1.8.1-1), innoextract (<= 1.4-1build1), libinsighttoolkit4.6 (<= 4.6.0-3ubuntu3), libdap17 (<= 3.14.0-2), libdapclient6 (<= 3.14.0-2), libdapserver7 (<= 3.14.0-2), libkolabxml1 (<= 1.1.0-3), libpqxx-4.0 (<= 4.0.1+dfsg-3ubuntu1), libreoffice-core (<= 1:4.4.4~rc3-0ubuntu1), librime1 (<= 1.2+dfsg-2), libwibble-dev (<= 1.1-1), lightspark (<= 0.7.2+git20150512-2), libmarisa0 (<= 0.2.4-8build1), mira-assembler (<= 4.9.5-1), mongodb (<= 1:2.6.3-0ubuntu7), mongodb-server (<= 1:2.6.3-0ubuntu7), ncbi-blast+ (<= 2.2.30-4), libogre-1.8.0 (<= 1.8.1+dfsg-0ubuntu5), libogre-1.9.0 (<= 1.9.0+dfsg1-4), openscad (<= 2014.03+dfsg-1build1), libopenwalnut1 (<= 1.4.0~rc1+hg3a3147463ee2-1ubuntu2), passepartout (<= 0.7.1-1.1), pdf2djvu (<= 0.7.19-1ubuntu2), photoprint (<= 0.4.2~pre2-2.3), plastimatch (<= 1.6.2+dfsg-1), plee-the-bear (<= 0.6.0-3.1), povray (<= 1:3.7.0.0-8), powertop (<= 2.6.1-1), psi4 (<= 4.0~beta5+dfsg-2build1), python3-taglib (<= 0.3.6+dfsg-2build2), realtimebattle (<= 1.0.8-14), ruby-passenger (<= 4.0.53-1), libapache2-mod-passenger (<= 4.0.53-1), sqlitebrowser (<= 3.5.1-3), tecnoballz (<= 0.93.1-6), wesnoth-1.12-core (<= 1:1.12.4-1), widelands (<= 1:18-3build1), libwreport2 (<= 2.14-1), xflr5 (<= 6.09.06-2), libxmltooling6 (<= 1.5.3-2.1), +Conflicts: scim (<< 1.4.2-1) +Replaces: libstdc++6-7-dbg (<< 4.9.0-3) +Description: GNU Standard C++ Library v3 + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: lib32stdc++6 +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), lib32gcc1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: GNU Standard C++ Library v3 (32 bit Version) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + +Package: lib64stdc++6 +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), lib64gcc1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Standard C++ Library v3 (64bit) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libn32stdc++6 +Architecture: mips mipsel mips64 mips64el +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libn32gcc1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Standard C++ Library v3 (n32) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libx32stdc++6 +Architecture: amd64 i386 +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libx32gcc1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Standard C++ Library v3 (x32) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libhfstdc++6 +Architecture: armel +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libhfgcc1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Conflicts: libstdc++6-armhf [armel] +Description: GNU Standard C++ Library v3 (hard float ABI) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libsfstdc++6 +Architecture: armhf +Section: libs +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libsfgcc1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Conflicts: libstdc++6-armel [armhf] +Description: GNU Standard C++ Library v3 (soft float ABI) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libstdc++-7-dev +Architecture: any +Multi-Arch: same +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libgcc-7-dev (= ${gcc:Version}), + libstdc++6 (>= ${gcc:Version}), ${dep:libcdev}, ${misc:Depends} +Conflicts: libg++27-dev, libg++272-dev (<< 2.7.2.8-1), libstdc++2.8-dev, + libg++2.8-dev, libstdc++2.9-dev, libstdc++2.9-glibc2.1-dev, + libstdc++2.10-dev (<< 1:2.95.3-2), libstdc++3.0-dev +Suggests: libstdc++-7-doc +Provides: libstdc++-dev +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libstdc++-7-pic +Architecture: any +Multi-Arch: same +Section: libdevel +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), + libstdc++-7-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (shared library subset kit) + This is used to develop subsets of the libstdc++ shared libraries for + use on custom installation floppies and in embedded systems. + . + Unless you are making one of those, you will not need this package. + +Package: libstdc++6-7-dbg +Architecture: any +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), + libgcc1-dbg (>= ${libgcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: libstdc++6-7-dbg-armel [armel], libstdc++6-7-dbg-armhf [armhf] +Multi-Arch: same +Recommends: libstdc++-7-dev (= ${gcc:Version}) +Conflicts: libstdc++5-dbg, libstdc++5-3.3-dbg, libstdc++6-dbg, + libstdc++6-4.0-dbg, libstdc++6-4.1-dbg, libstdc++6-4.2-dbg, + libstdc++6-4.3-dbg, libstdc++6-4.4-dbg, libstdc++6-4.5-dbg, + libstdc++6-4.6-dbg, libstdc++6-4.7-dbg, libstdc++6-4.8-dbg, + libstdc++6-4.9-dbg, libstdc++6-5-dbg, libstdc++6-6-dbg +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: lib32stdc++-7-dev +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), lib32gcc-7-dev (= ${gcc:Version}), + lib32stdc++6 (>= ${gcc:Version}), libstdc++-7-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: lib32stdc++6-7-dbg +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32stdc++6 (>= ${gcc:Version}), + libstdc++-7-dev (= ${gcc:Version}), lib32gcc1-dbg (>= ${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +Conflicts: lib32stdc++6-dbg, lib32stdc++6-4.0-dbg, + lib32stdc++6-4.1-dbg, lib32stdc++6-4.2-dbg, lib32stdc++6-4.3-dbg, + lib32stdc++6-4.4-dbg, lib32stdc++6-4.5-dbg, lib32stdc++6-4.6-dbg, + lib32stdc++6-4.7-dbg, lib32stdc++6-4.8-dbg, lib32stdc++6-4.9-dbg, + lib32stdc++6-5-dbg, lib32stdc++6-6-dbg +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: lib64stdc++-7-dev +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), lib64gcc-7-dev (= ${gcc:Version}), + lib64stdc++6 (>= ${gcc:Version}), libstdc++-7-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: lib64stdc++6-7-dbg +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64stdc++6 (>= ${gcc:Version}), + libstdc++-7-dev (= ${gcc:Version}), lib64gcc1-dbg (>= ${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +Conflicts: lib64stdc++6-dbg, lib64stdc++6-4.0-dbg, + lib64stdc++6-4.1-dbg, lib64stdc++6-4.2-dbg, lib64stdc++6-4.3-dbg, + lib64stdc++6-4.4-dbg, lib64stdc++6-4.5-dbg, lib64stdc++6-4.6-dbg, + lib64stdc++6-4.7-dbg, lib64stdc++6-4.8-dbg, lib64stdc++6-4.9-dbg, + lib64stdc++6-5-dbg, lib64stdc++6-6-dbg +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: libn32stdc++-7-dev +Architecture: mips mipsel mips64 mips64el +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libn32gcc-7-dev (= ${gcc:Version}), + libn32stdc++6 (>= ${gcc:Version}), libstdc++-7-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libn32stdc++6-7-dbg +Architecture: mips mipsel mips64 mips64el +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libn32stdc++6 (>= ${gcc:Version}), + libstdc++-7-dev (= ${gcc:Version}), libn32gcc1-dbg (>= ${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +Conflicts: libn32stdc++6-dbg, libn32stdc++6-4.0-dbg, + libn32stdc++6-4.1-dbg, libn32stdc++6-4.2-dbg, libn32stdc++6-4.3-dbg, + libn32stdc++6-4.4-dbg, libn32stdc++6-4.5-dbg, libn32stdc++6-4.6-dbg, + libn32stdc++6-4.7-dbg, libn32stdc++6-4.8-dbg, libn32stdc++6-4.9-dbg, + libn32stdc++6-5-dbg, libn32stdc++6-6-dbg +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: libx32stdc++-7-dev +Architecture: amd64 i386 +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libx32gcc-7-dev (= ${gcc:Version}), libx32stdc++6 (>= ${gcc:Version}), + libstdc++-7-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libx32stdc++6-7-dbg +Architecture: amd64 i386 +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32stdc++6 (>= ${gcc:Version}), + libstdc++-7-dev (= ${gcc:Version}), libx32gcc1-dbg (>= ${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +Conflicts: libx32stdc++6-dbg, libx32stdc++6-4.6-dbg, + libx32stdc++6-4.7-dbg, libx32stdc++6-4.8-dbg, libx32stdc++6-4.9-dbg, + libx32stdc++6-5-dbg, libx32stdc++6-6-dbg +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: libhfstdc++-7-dev +Architecture: armel +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libhfgcc-7-dev (= ${gcc:Version}), + libhfstdc++6 (>= ${gcc:Version}), libstdc++-7-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libhfstdc++6-7-dbg +Architecture: armel +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfstdc++6 (>= ${gcc:Version}), + libstdc++-7-dev (= ${gcc:Version}), libhfgcc1-dbg (>= ${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +Conflicts: libhfstdc++6-dbg, libhfstdc++6-4.3-dbg, libhfstdc++6-4.4-dbg, libhfstdc++6-4.5-dbg, libhfstdc++6-4.6-dbg, libhfstdc++6-4.7-dbg, libhfstdc++6-4.8-dbg, libhfstdc++6-4.9-dbg, libhfstdc++6-5-dbg, libhfstdc++6-6-dbg, libstdc++6-armhf [armel] +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: libsfstdc++-7-dev +Architecture: armhf +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libsfgcc-7-dev (= ${gcc:Version}), + libsfstdc++6 (>= ${gcc:Version}), libstdc++-7-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libsfstdc++6-7-dbg +Architecture: armhf +Section: debug +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfstdc++6 (>= ${gcc:Version}), + libstdc++-7-dev (= ${gcc:Version}), libsfgcc1-dbg (>= ${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +Conflicts: libsfstdc++6-dbg, libsfstdc++6-4.3-dbg, libsfstdc++6-4.4-dbg, libsfstdc++6-4.5-dbg, libsfstdc++6-4.6-dbg, libsfstdc++6-4.7-dbg, libsfstdc++6-4.8-dbg, libsfstdc++6-4.9-dbg, libsfstdc++6-5-dbg, libhfstdc++6-6-dbg, libstdc++6-armel [armhf] +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: libstdc++-7-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-7-base (>= ${gcc:SoftVersion}), ${misc:Depends} +Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc, + libstdc++6-4.0-doc, libstdc++6-4.1-doc, libstdc++6-4.2-doc, libstdc++6-4.3-doc, + libstdc++6-4.4-doc, libstdc++6-4.5-doc, libstdc++6-4.6-doc, libstdc++6-4.7-doc, + libstdc++-4.8-doc, libstdc++-4.9-doc, libstdc++-5-doc, libstdc++-6-doc +Description: GNU Standard C++ Library v3 (documentation files) + This package contains documentation files for the GNU stdc++ library. + . + One set is the distribution documentation, the other set is the + source documentation including a namespace list, class hierarchy, + alphabetical list, compound list, file list, namespace members, + compound members and file members. + +Package: gnat-7 +Architecture: any +Priority: optional +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-7-base (= ${gcc:Version}), gcc-7 (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-7-doc, ada-reference-manual-2012, gnat-7-sjlj +Breaks: gnat (<< 4.6.1), dh-ada-library (<< 6.0), gnat-4.6-base (= 4.6.4-2), + gnat-4.9-base (= 4.9-20140330-1) +Replaces: gnat (<< 4.6.1), dh-ada-library (<< 6.0), gnat-4.6-base (= 4.6.4-2), + gnat-4.9-base (= 4.9-20140330-1) +# Takes over symlink from gnat (<< 4.6.1): /usr/bin/gnatgcc. +# Takes over file from dh-ada-library (<< 6.0): debian_packaging.mk. +# g-base 4.6.4-2, 4.9-20140330-1 contain debian_packaging.mk by mistake. +# Newer versions of gnat and dh-ada-library will not provide these files. +Conflicts: gnat (<< 4.1), gnat-3.1, gnat-3.2, gnat-3.3, gnat-3.4, gnat-3.5, + gnat-4.0, gnat-4.1, gnat-4.2, gnat-4.3, gnat-4.4, gnat-4.6, gnat-4.7, gnat-4.8, + gnat-4.9, gnat-5, gnat-6 +# These other packages will continue to provide /usr/bin/gnatmake and +# other files. +Description: GNU Ada compiler + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-7-sjlj +Architecture: any +Priority: extra +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-7-base (= ${gcc:Version}), gnat-7 (= ${gnat:Version}), ${misc:Depends} +Description: GNU Ada compiler (setjump/longjump runtime library) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides an alternative runtime library that handles + exceptions using the setjump/longjump mechanism (as a static library + only). You can install it to supplement the normal compiler. + +Package: libgnat-7 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: runtime for applications compiled with GNAT (shared library) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the runtime shared library. + +Package: libgnat-7-dbg +Section: debug +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libgnat-7 (= ${gnat:Version}), ${misc:Depends} +Description: runtime for applications compiled with GNAT (debugging symbols) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the debugging symbols. + +Package: libgnatvsn7-dev +Section: libdevel +Architecture: any +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), gnat-7 (= ${gnat:Version}), + libgnatvsn7 (= ${gnat:Version}), ${misc:Depends} +Conflicts: libgnatvsn-dev (<< 7), + libgnatvsn4.1-dev, libgnatvsn4.3-dev, libgnatvsn4.4-dev, + libgnatvsn4.5-dev, libgnatvsn4.6-dev, libgnatvsn4.9-dev, + libgnatvsn5-dev, libgnatvsn6-dev, +Description: GNU Ada compiler selected components (development files) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnatvsn library exports selected GNAT components for use in other + packages, most notably ASIS tools. It is licensed under the GNAT-Modified + GPL, allowing to link proprietary programs with it. + . + This package contains the development files and static library. + +Package: libgnatvsn7 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Section: libs +Depends: gcc-7-base (= ${gcc:Version}), libgnat-7 (= ${gnat:Version}), + ${shlibs:Depends}, ${misc:Depends} +Description: GNU Ada compiler selected components (shared library) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnatvsn library exports selected GNAT components for use in other + packages, most notably ASIS tools. It is licensed under the GNAT-Modified + GPL, allowing to link proprietary programs with it. + . + This package contains the runtime shared library. + +Package: libgnatvsn7-dbg +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: extra +Section: debug +Depends: gcc-7-base (= ${gcc:Version}), libgnatvsn7 (= ${gnat:Version}), ${misc:Depends} +Suggests: gnat +Description: GNU Ada compiler selected components (debugging symbols) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnatvsn library exports selected GNAT components for use in other + packages, most notably ASIS tools. It is licensed under the GNAT-Modified + GPL, allowing to link proprietary programs with it. + . + This package contains the debugging symbols. + +Package: gnat-7-doc +Architecture: all +Section: doc +Priority: optional +Depends: dpkg (>= 1.15.4) | install-info, ${misc:Depends} +Suggests: gnat-7 +Conflicts: gnat-4.1-doc, gnat-4.2-doc, + gnat-4.3-doc, gnat-4.4-doc, + gnat-4.6-doc, gnat-4.9-doc, + gnat-5-doc, gnat-6-doc, +Description: GNU Ada compiler (documentation) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the documentation in info format. + +Package: gdc-7 +Architecture: any +Priority: optional +Depends: gcc-7-base (>= ${gcc:SoftVersion}), g++-7 (>= ${gcc:SoftVersion}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Provides: gdc, d-compiler, d-v2-compiler +Replaces: gdc (<< 4.4.6-5) +Description: GNU D compiler (version 2) + This is the GNU D compiler, which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-7-multilib +Architecture: any +Priority: optional +Depends: gcc-7-base (>= ${gcc:SoftVersion}), gdc-7 (= ${gcc:Version}), gcc-7-multilib (= ${gcc:Version}), ${dep:libphobosbiarchdev}${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2, multilib support) + This is the GNU D compiler, which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: libgphobos-7-dev +Architecture: amd64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386 +Multi-Arch: same +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libgphobos71 (>= ${gdc:Version}), + zlib1g-dev, ${shlibs:Depends}, ${misc:Depends} +Description: Phobos D standard library + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libgphobos71 +Section: libs +Architecture: amd64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386 +Multi-Arch: same +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: libgphobos68 +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libgphobos71-dbg +Section: debug +Architecture: amd64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386 +Multi-Arch: same +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libgphobos71 (= ${gdc:Version}), ${misc:Depends} +Replaces: libgphobos68-dbg +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib64gphobos-7-dev +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), lib64gphobos71 (>= ${gdc:Version}), + lib64gcc-7-dev (= ${gcc:Version}), lib64z1-dev, ${shlibs:Depends}, ${misc:Depends} +Description: Phobos D standard library (64bit development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib64gphobos71 +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: lib64gphobos68 +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib64gphobos71-dbg +Section: debug +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib64gphobos71 (= ${gdc:Version}), ${misc:Depends} +Replaces: lib64gphobos68-dbg +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib32gphobos-7-dev +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), lib32gphobos71 (>= ${gdc:Version}), + lib32gcc-7-dev (= ${gcc:Version}), lib32z1-dev, ${shlibs:Depends}, ${misc:Depends} +Description: Phobos D standard library (32bit development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib32gphobos71 +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: lib32gphobos68 +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib32gphobos71-dbg +Section: debug +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), lib32gphobos71 (= ${gdc:Version}), ${misc:Depends} +Replaces: lib32gphobos68-dbg +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libx32gphobos-7-dev +Architecture: amd64 i386 +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libx32gphobos71 (>= ${gdc:Version}), + libx32gcc-7-dev (= ${gcc:Version}), ${dep:libx32z}, ${shlibs:Depends}, ${misc:Depends} +Description: Phobos D standard library (x32 development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libx32gphobos71 +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: libx32gphobos68 +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libx32gphobos71-dbg +Section: debug +Architecture: amd64 i386 +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libx32gphobos71 (= ${gdc:Version}), ${misc:Depends} +Replaces: libx32gphobos68-dbg +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libhfgphobos-7-dev +Architecture: armel +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libhfgphobos71 (>= ${gdc:Version}), + libhfgcc-7-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Phobos D standard library (hard float ABI development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libhfgphobos71 +Section: libs +Architecture: armel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: libhfgphobos68 +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libhfgphobos71-dbg +Section: debug +Architecture: armel +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhfgphobos71 (= ${gdc:Version}), ${misc:Depends} +Replaces: libhfgphobos68-dbg +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libsfgphobos-7-dev +Architecture: armhf +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libsfgphobos71 (>= ${gdc:Version}), + libsfgcc-7-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Phobos D standard library (soft float ABI development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libsfgphobos71 +Section: libs +Architecture: armhf +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: libsfgphobos68 +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libsfgphobos71-dbg +Section: debug +Architecture: armhf +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libsfgphobos71 (= ${gdc:Version}), ${misc:Depends} +Replaces: libsfgphobos68-dbg +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: gccbrig-7 +Architecture: any +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gcc-7 (= ${gcc:Version}), ${dep:libcdev}, + hsail-tools, + ${shlibs:Depends}, libhsail-rt-7-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gccbrig:multilib}, + libhsail-rt0-dbg (>= ${gcc:Version}) +Provides: brig-compiler +Description: GNU BRIG (HSA IL) frontend + This is the GNU BRIG (HSA IL) frontend. + The consumed format is a binary representation. The textual HSAIL + can be compiled to it with a separate assembler. + +Package: libhsail-rt-7-dev +Architecture: any +Section: libdevel +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), libgcc-7-dev (= ${gcc:Version}), libhsail-rt0 (>= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Description: HSAIL runtime library (development files) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. + +Package: libhsail-rt0 +Section: libs +Architecture: any +Provides: libhsail-rt0-armel [armel], libhsail-rt0-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: HSAIL runtime library + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. + +Package: libhsail-rt0-dbg +Section: debug +Architecture: any +Provides: libhsail-rt0-dbg-armel [armel], libhsail-rt0-dbg-armhf [armhf] +Multi-Arch: same +Priority: extra +Depends: gcc-7-base (= ${gcc:Version}), libhsail-rt0 (= ${gcc:Version}), libgcc1-dbg (>= ${libgcc:Version}), ${misc:Depends} +Description: HSAIL runtime library (debug symbols) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. + +#Package: gcc`'PV-soft-float +#Architecture: arm armel armhf +#Priority: PRI(optional) +#Depends: BASEDEP, depifenabled(`cdev',`gcc`'PV (= ${gcc:Version}),') ${shlibs:Depends}, ${misc:Depends} +#Conflicts: gcc-4.4-soft-float, gcc-4.5-soft-float, gcc-4.6-soft-float +#BUILT_USING`'dnl +#Description: GCC soft-floating-point gcc libraries (ARM) +# These are versions of basic static libraries such as libgcc.a compiled +# with the -msoft-float option, for CPUs without a floating-point unit. + +Package: fixincludes +Architecture: any +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gcc-7 (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Fix non-ANSI header files + FixIncludes was created to fix non-ANSI system header files. Many + system manufacturers supply proprietary headers that are not ANSI compliant. + The GNU compilers cannot compile non-ANSI headers. Consequently, the + FixIncludes shell script was written to fix the header files. + . + Not all packages with header files are installed on the system, when the + package is built, so we make fixincludes available at build time of other + packages, such that checking tools like lintian can make use of it. + +Package: gcc-7-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-7-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends} +Conflicts: gcc-docs (<< 2.95.2) +Replaces: gcc (<=2.7.2.3-4.3), gcc-docs (<< 2.95.2) +Description: Documentation for the GNU compilers (gcc, gobjc, g++) + Documentation for the GNU compilers in info format. + +Package: gcc-7-offload-nvptx +Architecture: amd64 +Priority: optional +Depends: gcc-7-base (= ${gcc:Version}), gcc-7 (= ${gcc:Version}), ${dep:libcdev}, + nvptx-tools, libgomp-plugin-nvptx1 (>= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +Description: GCC offloading compiler to NVPTX + The package provides offloading support for NVidia PTX. OpenMP and OpenACC + programs linked with -fopenmp will by default add PTX code into the binaries, + which can be offloaded to NVidia PTX capable devices if available. + +Package: libgomp-plugin-nvptx1 +Architecture: amd64 +Multi-Arch: same +Section: libs +Depends: gcc-7-base (= ${gcc:Version}), libgomp1, ${shlibs:Depends}, ${misc:Depends} +Suggests: libcuda1 +Description: GCC OpenMP v4.5 plugin for offloading to NVPTX + This package contains libgomp plugin for offloading to NVidia + PTX. The plugin needs libcuda.so.1 shared library that has to be + installed separately. + +Package: gcc-7-source +Architecture: all +Priority: optional +Depends: make, autoconf2.64, quilt, patchutils, sharutils, gawk, ${misc:Depends} +Description: Source of the GNU Compiler Collection + This package contains the sources and patches which are needed to + build the GNU Compiler Collection (GCC). --- gcc-7-7.1.0.orig/debian/control.m4 +++ gcc-7-7.1.0/debian/control.m4 @@ -0,0 +1,5520 @@ +divert(-1) + +define(`checkdef',`ifdef($1, , `errprint(`error: undefined macro $1 +')m4exit(1)')') +define(`errexit',`errprint(`error: undefined macro `$1' +')m4exit(1)') + +dnl The following macros must be defined, when called: +dnl ifdef(`SRCNAME', , errexit(`SRCNAME')) +dnl ifdef(`PV', , errexit(`PV')) +dnl ifdef(`ARCH', , errexit(`ARCH')) + +dnl The architecture will also be defined (-D__i386__, -D__powerpc__, etc.) + +define(`PN', `$1') +ifdef(`PRI', `', ` + define(`PRI', `$1') +') +define(`MAINTAINER', `Debian GCC Maintainers ') + +define(`depifenabled', `ifelse(index(enabled_languages, `$1'), -1, `', `$2')') +define(`ifenabled', `ifelse(index(enabled_languages, `$1'), -1, `dnl', `$2')') + +ifdef(`TARGET',`ifdef(`CROSS_ARCH',`',`undefine(`MULTIARCH')')') +define(`CROSS_ARCH', ifdef(`CROSS_ARCH', CROSS_ARCH, `all')) +define(`libdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`>=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))') +define(`libdevdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))') +define(`libidevdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))') +ifdef(`TARGET',`ifelse(CROSS_ARCH,`all',` +define(`libidevdep', `lib$2$1`'LS`'AQ (>= ifelse(`$4',`',`${gcc:SoftVersion}',`$4'))') +')') +define(`libdbgdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`>=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))') + +define(`BUILT_USING', ifelse(add_built_using,yes,`Built-Using: ${Built-Using} +')) + +divert`'dnl +dnl -------------------------------------------------------------------------- +Source: SRCNAME +Section: devel +Priority: PRI(optional) +ifelse(DIST,`Ubuntu',`dnl +ifelse(regexp(SRCNAME, `gnat\|gdc-'),0,`dnl +Maintainer: Ubuntu MOTU Developers +', `dnl +Maintainer: Ubuntu Core developers +')dnl SRCNAME +XSBC-Original-Maintainer: MAINTAINER +', `dnl +Maintainer: MAINTAINER +')dnl DIST +ifelse(regexp(SRCNAME, `gnat'),0,`dnl +Uploaders: Ludovic Brenta +', regexp(SRCNAME, `gdc'),0,`dnl +Uploaders: Iain Buclaw , Matthias Klose +', `dnl +Uploaders: Matthias Klose +')dnl SRCNAME +Standards-Version: 3.9.8 +ifdef(`TARGET',`dnl cross +Build-Depends: DEBHELPER_BUILD_DEP DPKG_BUILD_DEP + LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP + kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any], linux-libc-dev [m68k], + LIBUNWIND_BUILD_DEP LIBATOMIC_OPS_BUILD_DEP AUTO_BUILD_DEP + SOURCE_BUILD_DEP CROSS_BUILD_DEP + ISL_BUILD_DEP MPC_BUILD_DEP MPFR_BUILD_DEP GMP_BUILD_DEP, + autogen , zlib1g-dev, gawk, lzma, xz-utils, patchutils, + pkg-config, libgc-dev, + zlib1g-dev, SDT_BUILD_DEP + bison (>= 1:2.3), flex, realpath (>= 1.9.12), lsb-release, quilt +',`dnl native +Build-Depends: DEBHELPER_BUILD_DEP DPKG_BUILD_DEP + GCC_MULTILIB_BUILD_DEP + LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP LIBC_DBG_DEP + kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any], linux-libc-dev [m68k], + AUTO_BUILD_DEP BASE_BUILD_DEP + libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], + autogen , gawk, lzma, xz-utils, patchutils, + zlib1g-dev, SDT_BUILD_DEP + BINUTILS_BUILD_DEP, + gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, + gdb`'NT, OFFLOAD_BUILD_DEP + texinfo (>= 4.3), locales, sharutils, + procps, FORTRAN_BUILD_DEP GNAT_BUILD_DEP GO_BUILD_DEP GDC_BUILD_DEP + ISL_BUILD_DEP MPC_BUILD_DEP MPFR_BUILD_DEP GMP_BUILD_DEP PHOBOS_BUILD_DEP + CHECK_BUILD_DEP realpath (>= 1.9.12), chrpath, lsb-release, quilt, + pkg-config, libgc-dev, + TARGET_TOOL_BUILD_DEP +Build-Depends-Indep: LIBSTDCXX_BUILD_INDEP +')dnl +ifelse(regexp(SRCNAME, `gnat'),0,`dnl +Homepage: http://gcc.gnu.org/ +', regexp(SRCNAME, `gdc'),0,`dnl +Homepage: http://gdcproject.org/ +', `dnl +Homepage: http://gcc.gnu.org/ +')dnl SRCNAME +Vcs-Browser: http://svn.debian.org/viewsvn/gcccvs/branches/sid/gcc`'PV/ +Vcs-Svn: svn://anonscm.debian.org/gcccvs/branches/sid/gcc`'PV + +ifelse(regexp(SRCNAME, `gcc-snapshot'),0,`dnl +Package: gcc-snapshot`'TS +Architecture: any +Section: devel +Priority: extra +Depends: binutils`'TS (>= ${binutils:Version}), ${dep:libcbiarchdev}, ${dep:libcdev}, ${dep:libunwinddev}, ${snap:depends}, ${shlibs:Depends}, ${dep:ecj}, python, ${misc:Depends} +Recommends: ${snap:recommends} +Suggests: ${dep:gold} +Provides: c++-compiler`'TS`'ifdef(`TARGET',`',`, c++abi2-dev') +BUILT_USING`'dnl +Description: SNAPSHOT of the GNU Compiler Collection + This package contains a recent development SNAPSHOT of all files + contained in the GNU Compiler Collection (GCC). + . + The source code for this package has been exported from SVN trunk. + . + DO NOT USE THIS SNAPSHOT FOR BUILDING DEBIAN PACKAGES! + . + This package will NEVER hit the testing distribution. It is used for + tracking gcc bugs submitted to the Debian BTS in recent development + versions of gcc. +',`dnl gcc-X.Y + +dnl default base package dependencies +define(`BASEDEP', `gcc`'PV`'TS-base (= ${gcc:Version})') +define(`SOFTBASEDEP', `gcc`'PV`'TS-base (>= ${gcc:SoftVersion})') + +ifdef(`TARGET',` +define(`BASELDEP', `gcc`'PV`'ifelse(CROSS_ARCH,`all',`-cross')-base`'GCC_PORTS_BUILD (= ${gcc:Version})') +define(`SOFTBASELDEP', `gcc`'PV`'ifelse(CROSS_ARCH, `all',`-cross')-base`'GCC_PORTS_BUILD (>= ${gcc:SoftVersion})') +',`dnl +define(`BASELDEP', `BASEDEP') +define(`SOFTBASELDEP', `SOFTBASEDEP') +') + +ifelse(index(SRCNAME, `gnat'), 0, ` +define(`BASEDEP', `gnat`'PV-base (= ${gnat:Version})') +define(`SOFTBASEDEP', `gnat`'PV-base (>= ${gnat:SoftVersion})') +') + +ifenabled(`gccbase',` +Package: gcc`'PV`'TS-base +Architecture: any +Multi-Arch: same +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',`PRI(required)') +Depends: ${misc:Depends} +Replaces: ${base:Replaces} +Breaks: ${base:Breaks} +BUILT_USING`'dnl +Description: GCC, the GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). +ifdef(`BASE_ONLY', `dnl + . + This version of GCC is not yet available for this architecture. + Please use the compilers from the gcc-snapshot package for testing. +')`'dnl +')`'dnl gccbase + +ifenabled(`gcclbase',` +Package: gcc`'PV-cross-base`'GCC_PORTS_BUILD +Architecture: all +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',`PRI(required)') +Depends: ${misc:Depends} +BUILT_USING`'dnl +Description: GCC, the GNU Compiler Collection (library base package) + This empty package contains changelog and copyright files common to + all libraries contained in the GNU Compiler Collection (GCC). +ifdef(`BASE_ONLY', `dnl + . + This version of GCC is not yet available for this architecture. + Please use the compilers from the gcc-snapshot package for testing. +')`'dnl +')`'dnl gcclbase + +ifenabled(`gnatbase',` +Package: gnat`'PV-base`'TS +Architecture: any +# "all" causes build instabilities for "any" dependencies (see #748388). +Section: libs +Priority: PRI(optional) +Depends: ${misc:Depends} +Breaks: gcc-4.6 (<< 4.6.1-8~) +BUILT_USING`'dnl +Description: GNU Ada compiler (common files) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package contains files common to all GNAT related packages. +')`'dnl gnatbase + +ifenabled(`libgcc',` +Package: libgcc1`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',required) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Provides: ifdef(`TARGET',`libgcc1-TARGET-dcv1',`libgcc1-armel [armel], libgcc1-armhf [armhf]') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +')`'dnl +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libgcc1-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gcc1,,=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`TARGET',`',`Provides: libgcc1-dbg-armel [armel], libgcc1-dbg-armhf [armhf] +')dnl +ifdef(`MULTIARCH',`Multi-Arch: same +')dnl +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libgcc2`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`m68k') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',required) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libgcc2-TARGET-dcv1 +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +')`'dnl +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libgcc2-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`m68k') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gcc2,,=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libgcc + +ifenabled(`cdev',` +Package: libgcc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgcc}, ${dep:libssp}, ${dep:libgomp}, ${dep:libitm}, + ${dep:libatomic}, ${dep:libbtrace}, ${dep:libasan}, ${dep:liblsan}, + ${dep:libtsan}, ${dep:libubsan}, ${dep:libcilkrts}, ${dep:libvtv}, + ${dep:libmpx}, + ${dep:libqmath}, ${dep:libunwinddev}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Replaces: gccgo-7 (<< ${gcc:Version}) +BUILT_USING`'dnl +Description: GCC support library (development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl libgcc + +Package: libgcc4`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`hppa') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +')`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',required) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libgcc4-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`hppa') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gcc4,,=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`lib64gcc',` +Package: lib64gcc1`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends} +ifdef(`TARGET',`Provides: lib64gcc1-TARGET-dcv1 +',`')`'dnl +Conflicts: libdep(gcc`'GCC_SO,,<=,1:3.3-0pre9) +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') (64bit) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib64gcc1-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gcc1,64,=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib64gcc + +ifenabled(`cdev',` +Package: lib64gcc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +BUILT_USING`'dnl +Description: GCC support library (64bit development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl cdev + +ifenabled(`lib32gcc',` +Package: lib32gcc1`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends} +Conflicts: ${confl:lib32} +ifdef(`TARGET',`Provides: lib32gcc1-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GCC support library (32 bit Version) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib32gcc1-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gcc1,32,=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib32gcc1 + +ifenabled(`cdev',` +Package: lib32gcc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +BUILT_USING`'dnl +Description: GCC support library (32 bit development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl cdev + +ifenabled(`libneongcc',` +Package: libgcc1-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library [neon optimized] + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneongcc1 + +ifenabled(`libhfgcc',` +Package: libhfgcc1`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends} +ifdef(`TARGET',`Provides: libhfgcc1-TARGET-dcv1 +',`Conflicts: libgcc1-armhf [biarchhf_archs] +')`'dnl +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') (hard float ABI) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libhfgcc1-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gcc1,hf,=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libgcc1-dbg-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libhfgcc + +ifenabled(`cdev',` +ifenabled(`armml',` +Package: libhfgcc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +BUILT_USING`'dnl +Description: GCC support library (hard float ABI development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl armml +')`'dnl cdev + +ifenabled(`libsfgcc',` +Package: libsfgcc1`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends} +ifdef(`TARGET',`Provides: libsfgcc1-TARGET-dcv1 +',`Conflicts: libgcc1-armel [biarchsf_archs] +')`'dnl +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') (soft float ABI) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libsfgcc1-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gcc1,sf,=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libgcc1-dbg-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libsfgcc + +ifenabled(`cdev',` +ifenabled(`armml',` +Package: libsfgcc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +BUILT_USING`'dnl +Description: GCC support library (soft float ABI development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl armml +')`'dnl cdev + +ifenabled(`libn32gcc',` +Package: libn32gcc1`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends} +Conflicts: libdep(gcc`'GCC_SO,,<=,1:3.3-0pre9) +ifdef(`TARGET',`Provides: libn32gcc1-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') (n32) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libn32gcc1-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gcc1,n32,=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libn32gcc + +ifenabled(`cdev',` +Package: libn32gcc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +BUILT_USING`'dnl +Description: GCC support library (n32 development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl cdev + +ifenabled(`libx32gcc',` +Package: libx32gcc1`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends} +ifdef(`TARGET',`Provides: libx32gcc1-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') (x32) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libx32gcc1-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gcc1,x32,=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libx32gcc + +ifenabled(`cdev',` +ifenabled(`x32dev',` +Package: libx32gcc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, + ${dep:libvtvbiarch}, ${dep:libcilkrtsbiarch}, ${dep:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-7-multilib (<< ${gcc:Version}) +BUILT_USING`'dnl +Description: GCC support library (x32 development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl x32dev +')`'dnl cdev + +ifenabled(`cdev',` +Package: gcc`'PV`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: cpp`'PV`'TS (= ${gcc:Version}),ifenabled(`gccbase',` BASEDEP,') + ifenabled(`gccxbase',` BASEDEP,') + ${dep:libcc1}, + binutils`'TS (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Replaces: gccgo-7 (<< ${gcc:Version}) +Suggests: ${gcc:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}), + gcc`'PV-locales (>= ${gcc:SoftVersion}), + libdbgdep(gcc`'GCC_SO-dbg,,>=,${libgcc:Version}), + libdbgdep(gomp`'GOMP_SO-dbg,), + libdbgdep(itm`'ITM_SO-dbg,), + libdbgdep(atomic`'ATOMIC_SO-dbg,), + libdbgdep(asan`'ASAN_SO-dbg,), + libdbgdep(lsan`'LSAN_SO-dbg,), + libdbgdep(tsan`'TSAN_SO-dbg,), + libdbgdep(ubsan`'UBSAN_SO-dbg,), +ifenabled(`libvtv',`',` + libdbgdep(vtv`'VTV_SO-dbg,), +')`'dnl + libdbgdep(cilkrts`'CILKRTS_SO-dbg,), + libdbgdep(mpx`'MPX_SO-dbg,), + libdbgdep(quadmath`'QMATH_SO-dbg,) +Provides: c-compiler`'TS +ifdef(`TARGET',`Conflicts: gcc-multilib +')`'dnl +BUILT_USING`'dnl +Description: GNU C compiler`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU C compiler, a fairly portable optimizing compiler for C. +ifdef(`TARGET', `dnl + . + This package contains C cross-compiler for TARGET architecture. +')`'dnl + +ifenabled(`multilib',` +Package: gcc`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), ${dep:libcbiarchdev}, ${dep:libgccbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU C compiler (multilib support)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib + +ifenabled(`testresults',` +Package: gcc`'PV-test-results +Architecture: any +Section: devel +Priority: extra +Depends: BASEDEP, ${misc:Depends} +Replaces: g++-5 (<< 5.2.1-28) +BUILT_USING`'dnl +Description: Test results for the GCC test suite + This package contains the test results for running the GCC test suite + for a post build analysis. +')`'dnl testresults + +ifenabled(`plugindev',` +Package: gcc`'PV-plugin-dev`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), GMP_BUILD_DEP MPC_BUILD_DEP ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Files for GNU GCC plugin development. + This package contains (header) files for GNU GCC plugin development. It + is only used for the development of GCC plugins, but not needed to run + plugins. +')`'dnl plugindev +')`'dnl cdev + +ifenabled(`cdev',` +Package: gcc`'PV-hppa64-linux-gnu +Architecture: ifdef(`TARGET',`any',hppa amd64 i386 x32) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: devel +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), + binutils-hppa64-linux-gnu | binutils-hppa64, + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU C compiler (cross compiler for hppa64) + This is the GNU C compiler, a fairly portable optimizing compiler for C. +')`'dnl cdev + +ifenabled(`cdev',` +Package: cpp`'PV`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: ifdef(`TARGET',`devel',`interpreters') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc`'PV-locales (>= ${gcc:SoftVersion}) +Replaces: gccgo-7 (<< ${gcc:Version}) +Breaks: libmagics++-dev (<< 2.28.0-4)ifdef(`TARGET',`',`, hardening-wrapper (<< 2.8+nmu3)') +BUILT_USING`'dnl +Description: GNU C preprocessor + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. +ifdef(`TARGET', `dnl + . + This package contains preprocessor configured for TARGET architecture. +')`'dnl + +ifdef(`TARGET', `', ` +ifenabled(`gfdldoc',` +Package: cpp`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends} +Description: Documentation for the GNU C preprocessor (cpp) + Documentation for the GNU C preprocessor in info `format'. +')`'dnl gfdldoc +')`'dnl native + +ifdef(`TARGET', `', ` +Package: gcc`'PV-locales +Architecture: all +Section: devel +Priority: PRI(optional) +Depends: SOFTBASEDEP, cpp`'PV (>= ${gcc:SoftVersion}), ${misc:Depends} +Recommends: gcc`'PV (>= ${gcc:SoftVersion}) +Description: GCC, the GNU compiler collection (native language support files) + Native language support for GCC. Lets GCC speak your language, + if translations are available. + . + Please do NOT submit bug reports in other languages than "C". + Always reset your language settings to use the "C" locales. +')`'dnl native +')`'dnl cdev + +ifenabled(`c++',` +ifenabled(`c++dev',` +Package: g++`'PV`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), libidevdep(stdc++`'PV-dev,,=), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler`'TS`'ifdef(`TARGET)',`',`, c++abi2-dev') +Suggests: ${gxx:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}), libdbgdep(stdc++CXX_SO`'PV-dbg,) +BUILT_USING`'dnl +Description: GNU C++ compiler`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. +ifdef(`TARGET', `dnl + . + This package contains C++ cross-compiler for TARGET architecture. +')`'dnl + +ifenabled(`multilib',` +Package: g++`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, g++`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libcxxbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: ${dep:libcxxbiarchdbg} +BUILT_USING`'dnl +Description: GNU C++ compiler (multilib support)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib +')`'dnl c++dev +')`'dnl c++ + +ifdef(`TARGET', `', ` +ifenabled(`ssp',` +Package: libssp`'SSP_SO`'LS +Architecture: any +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Section: libs +Priority: PRI(optional) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC stack smashing protection library + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: lib32ssp`'SSP_SO`'LS +Architecture: biarch32_archs +Section: libs +Priority: PRI(optional) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libssp0 (<< 4.1) +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: GCC stack smashing protection library (32bit) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: lib64ssp`'SSP_SO`'LS +Architecture: biarch64_archs +Section: libs +Priority: PRI(optional) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libssp0 (<< 4.1) +BUILT_USING`'dnl +Description: GCC stack smashing protection library (64bit) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: libn32ssp`'SSP_SO`'LS +Architecture: biarchn32_archs +Section: libs +Priority: PRI(optional) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libssp0 (<< 4.1) +BUILT_USING`'dnl +Description: GCC stack smashing protection library (n32) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: libx32ssp`'SSP_SO`'LS +Architecture: biarchx32_archs +Section: libs +Priority: PRI(optional) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libssp0 (<< 4.1) +BUILT_USING`'dnl +Description: GCC stack smashing protection library (x32) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: libhfssp`'SSP_SO`'LS +Architecture: biarchhf_archs +Section: libs +Priority: PRI(optional) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC stack smashing protection library (hard float ABI) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: libsfssp`'SSP_SO`'LS +Architecture: biarchsf_archs +Section: libs +Priority: PRI(optional) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC stack smashing protection library (soft float ABI) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. +')`'dnl +')`'dnl native + +ifenabled(`libgomp',` +Package: libgomp`'GOMP_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libgomp'GOMP_SO`-armel [armel], libgomp'GOMP_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libgomp`'GOMP_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gomp`'GOMP_SO,,=), ${misc:Depends} +ifdef(`TARGET',`',`Provides: libgomp'GOMP_SO`-dbg-armel [armel], libgomp'GOMP_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: lib32gomp`'GOMP_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (32bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: lib32gomp`'GOMP_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gomp`'GOMP_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (32 bit debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: lib64gomp`'GOMP_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (64bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: lib64gomp`'GOMP_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gomp`'GOMP_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (64bit debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libn32gomp`'GOMP_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (n32) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libn32gomp`'GOMP_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gomp`'GOMP_SO,n32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (n32 debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + +ifenabled(`libx32gomp',` +Package: libx32gomp`'GOMP_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (x32) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libx32gomp`'GOMP_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gomp`'GOMP_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (x32 debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers +')`'dnl libx32gomp + +ifenabled(`libhfgomp',` +Package: libhfgomp`'GOMP_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libgomp'GOMP_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (hard float ABI) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libhfgomp`'GOMP_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gomp`'GOMP_SO,hf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libgomp'GOMP_SO`-dbg-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (hard float ABI debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers +')`'dnl libhfgomp + +ifenabled(`libsfgomp',` +Package: libsfgomp`'GOMP_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libgomp'GOMP_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (soft float ABI) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libsfgomp`'GOMP_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(gomp`'GOMP_SO,sf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libgomp'GOMP_SO`-dbg-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (soft float ABI debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers +')`'dnl libsfgomp + +ifenabled(`libneongomp',` +Package: libgomp`'GOMP_SO-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library [neon optimized] + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneongomp +')`'dnl libgomp + +ifenabled(`libitm',` +Package: libitm`'ITM_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libitm'ITM_SO`-armel [armel], libitm'ITM_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: libitm`'ITM_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(itm`'ITM_SO,,=), ${misc:Depends} +ifdef(`TARGET',`',`Provides: libitm'ITM_SO`-dbg-armel [armel], libitm'ITM_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: lib32itm`'ITM_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (32bit) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: lib32itm`'ITM_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(itm`'ITM_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (32 bit debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: lib64itm`'ITM_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (64bit) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: lib64itm`'ITM_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(itm`'ITM_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (64bit debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +#Package: libn32itm`'ITM_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(optional)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: GNU Transactional Memory Library (n32) +# GNU Transactional Memory Library (libitm) provides transaction support for +# accesses to the memory of a process, enabling easy-to-use synchronization of +# accesses to shared memory by several threads. + +#Package: libn32itm`'ITM_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(itm`'ITM_SO,n32,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: GNU Transactional Memory Library (n32 debug symbols) +# GNU Transactional Memory Library (libitm) provides transaction support for +# accesses to the memory of a process, enabling easy-to-use synchronization of +# accesses to shared memory by several threads. + +ifenabled(`libx32itm',` +Package: libx32itm`'ITM_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (x32) + This manual documents the usage and internals of libitm. It provides + transaction support for accesses to the memory of a process, enabling + easy-to-use synchronization of accesses to shared memory by several threads. + +Package: libx32itm`'ITM_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(itm`'ITM_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (x32 debug symbols) + This manual documents the usage and internals of libitm. It provides + transaction support for accesses to the memory of a process, enabling + easy-to-use synchronization of accesses to shared memory by several threads. +')`'dnl libx32itm + +ifenabled(`libhfitm',` +Package: libhfitm`'ITM_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libitm'ITM_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (hard float ABI) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: libhfitm`'ITM_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(itm`'ITM_SO,hf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libitm'ITM_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (hard float ABI debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. +')`'dnl libhfitm + +ifenabled(`libsfitm',` +Package: libsfitm`'ITM_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (soft float ABI) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: libsfitm`'ITM_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(itm`'ITM_SO,sf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (soft float ABI debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. +')`'dnl libsfitm + +ifenabled(`libneonitm',` +Package: libitm`'ITM_SO-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library [neon optimized] + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneonitm +')`'dnl libitm + +ifenabled(`libatomic',` +Package: libatomic`'ATOMIC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libatomic'ATOMIC_SO`-armel [armel], libatomic'ATOMIC_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libatomic`'ATOMIC_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,,=), ${misc:Depends} +ifdef(`TARGET',`',`Provides: libatomic'ATOMIC_SO`-dbg-armel [armel], libatomic'ATOMIC_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: lib32atomic`'ATOMIC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (32bit) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: lib32atomic`'ATOMIC_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (32 bit debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: lib64atomic`'ATOMIC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (64bit) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: lib64atomic`'ATOMIC_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (64bit debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libn32atomic`'ATOMIC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (n32) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libn32atomic`'ATOMIC_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,n32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (n32 debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +ifenabled(`libx32atomic',` +Package: libx32atomic`'ATOMIC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (x32) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libx32atomic`'ATOMIC_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (x32 debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. +')`'dnl libx32atomic + +ifenabled(`libhfatomic',` +Package: libhfatomic`'ATOMIC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libatomic'ATOMIC_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (hard float ABI) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libhfatomic`'ATOMIC_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,hf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libatomic'ATOMIC_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (hard float ABI debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. +')`'dnl libhfatomic + +ifenabled(`libsfatomic',` +Package: libsfatomic`'ATOMIC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (soft float ABI) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libsfatomic`'ATOMIC_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,sf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (soft float ABI debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. +')`'dnl libsfatomic + +ifenabled(`libneonatomic',` +Package: libatomic`'ATOMIC_SO-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions [neon optimized] + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneonatomic +')`'dnl libatomic + +ifenabled(`libasan',` +Package: libasan`'ASAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libasan'ASAN_SO`-armel [armel], libasan'ASAN_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libasan`'ASAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(asan`'ASAN_SO,,=), ${misc:Depends} +ifdef(`TARGET',`',`Provides: libasan'ASAN_SO`-dbg-armel [armel], libasan'ASAN_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: lib32asan`'ASAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (32bit) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: lib32asan`'ASAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(asan`'ASAN_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (32 bit debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: lib64asan`'ASAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (64bit) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: lib64asan`'ASAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(asan`'ASAN_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (64bit debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +#Package: libn32asan`'ASAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(extra)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: AddressSanitizer -- a fast memory error detector (n32) +# AddressSanitizer (ASan) is a fast memory error detector. It finds +# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +#Package: libn32asan`'ASAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(asan`'ASAN_SO,n32,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: AddressSanitizer -- a fast memory error detector (n32 debug symbols) +# AddressSanitizer (ASan) is a fast memory error detector. It finds +# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +ifenabled(`libx32asan',` +Package: libx32asan`'ASAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (x32) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libx32asan`'ASAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(asan`'ASAN_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (x32 debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. +')`'dnl libx32asan + +ifenabled(`libhfasan',` +Package: libhfasan`'ASAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(extra)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libasan'ASAN_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (hard float ABI) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libhfasan`'ASAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(asan`'ASAN_SO,hf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libasan'ASAN_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (hard float ABI debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. +')`'dnl libhfasan + +ifenabled(`libsfasan',` +Package: libsfasan`'ASAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(extra)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (soft float ABI) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libsfasan`'ASAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(asan`'ASAN_SO,sf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (soft float ABI debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. +')`'dnl libsfasan + +ifenabled(`libneonasan',` +Package: libasan`'ASAN_SO-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector [neon optimized] + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneonasan +')`'dnl libasan + +ifenabled(`liblsan',` +Package: liblsan`'LSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (runtime) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. + +Package: liblsan`'LSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(lsan`'LSAN_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (debug symbols) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. + +ifenabled(`lib32lsan',` +Package: lib32lsan`'LSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (32bit) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). + +Package: lib32lsan`'LSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(lsan`'LSAN_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (32 bit debug symbols) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). +')`'dnl lib32lsan + +ifenabled(`lib64lsan',` +#Package: lib64lsan`'LSAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(optional)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (64bit) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. + +#Package: lib64lsan`'LSAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(lsan`'LSAN_SO,64,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (64bit debug symbols) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. +')`'dnl lib64lsan + +ifenabled(`libn32lsan',` +#Package: libn32lsan`'LSAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(optional)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (n32) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. + +#Package: libn32lsan`'LSAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(lsan`'LSAN_SO,n32,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (n32 debug symbols) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. +')`'dnl libn32lsan + +ifenabled(`libx32lsan',` +Package: libx32lsan`'LSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (x32) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). + +Package: libx32lsan`'LSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(lsan`'LSAN_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (x32 debug symbols) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). +')`'dnl libx32lsan + +ifenabled(`libhflsan',` +Package: libhflsan`'LSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: liblsan'LSAN_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (hard float ABI) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. + +Package: libhflsan`'LSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(lsan`'LSAN_SO,hf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: liblsan'LSAN_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (hard float ABI debug symbols) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. +')`'dnl libhflsan + +ifenabled(`libsflsan',` +Package: libsflsan`'LSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (soft float ABI) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. + +Package: libsflsan`'LSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(lsan`'LSAN_SO,sf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (soft float ABI debug symbols) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. +')`'dnl libsflsan + +ifenabled(`libneonlsan',` +Package: liblsan`'LSAN_SO-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector [neon optimized] + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneonlsan +')`'dnl liblsan + +ifenabled(`libtsan',` +Package: libtsan`'TSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libtsan'TSAN_SO`-armel [armel], libtsan'TSAN_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (runtime) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +Package: libtsan`'TSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(tsan`'TSAN_SO,,=), ${misc:Depends} +ifdef(`TARGET',`',`Provides: libtsan'TSAN_SO`-dbg-armel [armel], libtsan'TSAN_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +ifenabled(`lib32tsan',` +Package: lib32tsan`'TSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (32bit) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +Package: lib32tsan`'TSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(tsan`'TSAN_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (32 bit debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. +')`'dnl lib32tsan + +ifenabled(`lib64tsan',` +Package: lib64tsan`'TSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (64bit) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +Package: lib64tsan`'TSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(tsan`'TSAN_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (64bit debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. +')`'dnl lib64tsan + +ifenabled(`libn32tsan',` +Package: libn32tsan`'TSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (n32) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +Package: libn32tsan`'TSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(tsan`'TSAN_SO,n32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (n32 debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. +')`'dnl libn32tsan + +ifenabled(`libx32tsan',` +Package: libx32tsan`'TSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (x32) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +Package: libx32tsan`'TSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(tsan`'TSAN_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (x32 debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. +')`'dnl libx32tsan + +ifenabled(`libhftsan',` +Package: libhftsan`'TSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libtsan'TSAN_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (hard float ABI) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +Package: libhftsan`'TSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(tsan`'TSAN_SO,hf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libtsan'TSAN_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (hard float ABI debug symbols) +')`'dnl libhftsan + +ifenabled(`libsftsan',` +Package: libsftsan`'TSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (soft float ABI) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +Package: libsftsan`'TSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(tsan`'TSAN_SO,sf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (soft float ABI debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. +')`'dnl libsftsan + +ifenabled(`libneontsan',` +Package: libtsan`'TSAN_SO-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races [neon optimized] + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneontsan +')`'dnl libtsan + +ifenabled(`libubsan',` +Package: libubsan`'UBSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libubsan'UBSAN_SO`-armel [armel], libubsan'UBSAN_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (runtime) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libubsan`'UBSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,,=), ${misc:Depends} +ifdef(`TARGET',`',`Provides: libubsan'UBSAN_SO`-dbg-armel [armel], libubsan'UBSAN_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +ifenabled(`lib32ubsan',` +Package: lib32ubsan`'UBSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (32bit) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: lib32ubsan`'UBSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (32 bit debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. +')`'dnl lib32ubsan + +ifenabled(`lib64ubsan',` +Package: lib64ubsan`'UBSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (64bit) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: lib64ubsan`'UBSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (64bit debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. +')`'dnl lib64ubsan + +ifenabled(`libn32ubsan',` +#Package: libn32ubsan`'UBSAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(optional)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: UBSan -- undefined behaviour sanitizer (n32) +# UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. +# Various computations will be instrumented to detect undefined behavior +# at runtime. Available for C and C++. + +#Package: libn32ubsan`'UBSAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,n32,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: UBSan -- undefined behaviour sanitizer (n32 debug symbols) +# UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. +# Various computations will be instrumented to detect undefined behavior +# at runtime. Available for C and C++. +')`'dnl libn32ubsan + +ifenabled(`libx32ubsan',` +Package: libx32ubsan`'UBSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (x32) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libx32ubsan`'UBSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (x32 debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. +')`'dnl libx32ubsan + +ifenabled(`libhfubsan',` +Package: libhfubsan`'UBSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libubsan'UBSAN_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (hard float ABI) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libhfubsan`'UBSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,hf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libubsan'UBSAN_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (hard float ABI debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. +')`'dnl libhfubsan + +ifenabled(`libsfubsan',` +Package: libsfubsan`'UBSAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (soft float ABI) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libsfubsan`'UBSAN_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,sf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (soft float ABI debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. +')`'dnl libsfubsan + +ifenabled(`libneonubsan',` +Package: libubsan`'UBSAN_SO-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer [neon optimized] + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneonubsan +')`'dnl libubsan + +ifenabled(`libvtv',` +Package: libvtv`'VTV_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (runtime) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +Package: libvtv`'VTV_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(vtv`'VTV_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: GNU vtable verification library (debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +ifenabled(`lib32vtv',` +Package: lib32vtv`'VTV_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: GNU vtable verification library (32bit) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +Package: lib32vtv`'VTV_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(vtv`'VTV_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (32 bit debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. +')`'dnl lib32vtv + +ifenabled(`lib64vtv',` +Package: lib64vtv`'VTV_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (64bit) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +Package: lib64vtv`'VTV_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(vtv`'VTV_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (64bit debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. +')`'dnl lib64vtv + +ifenabled(`libn32vtv',` +Package: libn32vtv`'VTV_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (n32) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +Package: libn32vtv`'VTV_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(vtv`'VTV_SO,n32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (n32 debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. +')`'dnl libn32vtv + +ifenabled(`libx32vtv',` +Package: libx32vtv`'VTV_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (x32) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +Package: libx32vtv`'VTV_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(vtv`'VTV_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (x32 debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. +')`'dnl libx32vtv + +ifenabled(`libhfvtv',` +Package: libhfvtv`'VTV_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libvtv'VTV_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: GNU vtable verification library (hard float ABI) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +Package: libhfvtv`'VTV_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(vtv`'VTV_SO,hf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libvtv'VTV_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: GNU vtable verification library (hard float ABI debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. +')`'dnl libhfvtv + +ifenabled(`libsfvtv',` +Package: libsfvtv`'VTV_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (soft float ABI) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +Package: libsfvtv`'VTV_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(vtv`'VTV_SO,sf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (soft float ABI debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. +')`'dnl libsfvtv + +ifenabled(`libneonvtv',` +Package: libvtv`'VTV_SO-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library [neon optimized] + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneonvtv +')`'dnl libvtv + +ifenabled(`libcilkrts',` +Package: libcilkrts`'CILKRTS_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libcilkrts'CILKRTS_SO`-armel [armel], libcilkrts'CILKRTS_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (runtime) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libcilkrts`'CILKRTS_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(cilkrts`'CILKRTS_SO,,=), ${misc:Depends} +ifdef(`TARGET',`',`Provides: libcilkrts'CILKRTS_SO`-dbg-armel [armel], libcilkrts'CILKRTS_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +ifenabled(`lib32cilkrts',` +Package: lib32cilkrts`'CILKRTS_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (32bit) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: lib32cilkrts`'CILKRTS_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(cilkrts`'CILKRTS_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (32 bit debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. +')`'dnl lib32cilkrts + +ifenabled(`lib64cilkrts',` +Package: lib64cilkrts`'CILKRTS_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (64bit) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: lib64cilkrts`'CILKRTS_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(cilkrts`'CILKRTS_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (64bit debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. +')`'dnl lib64cilkrts + +ifenabled(`libn32cilkrts',` +Package: libn32cilkrts`'CILKRTS_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (n32) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libn32cilkrts`'CILKRTS_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(cilkrts`'CILKRTS_SO,n32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (n32 debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. +')`'dnl libn32cilkrts + +ifenabled(`libx32cilkrts',` +Package: libx32cilkrts`'CILKRTS_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (x32) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libx32cilkrts`'CILKRTS_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(cilkrts`'CILKRTS_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (x32 debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. +')`'dnl libx32cilkrts + +ifenabled(`libhfcilkrts',` +Package: libhfcilkrts`'CILKRTS_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libcilkrts'CILKRTS_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (hard float ABI) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libhfcilkrts`'CILKRTS_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(cilkrts`'CILKRTS_SO,hf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libcilkrts'CILKRTS_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (hard float ABI debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. +')`'dnl libhfcilkrts + +ifenabled(`libsfcilkrts',` +Package: libsfcilkrts`'CILKRTS_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (soft float ABI) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + +Package: libsfcilkrts`'CILKRTS_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(cilkrts`'CILKRTS_SO,sf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions (soft float ABI debug symbols) + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. +')`'dnl libsfcilkrts + +ifenabled(`libneoncilkrts',` +Package: libcilkrts`'CILKRTS_SO-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Intel Cilk Plus language extensions [neon optimized] + Intel Cilk Plus is an extension to the C and C++ languages to support + data and task parallelism. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneoncilkrts +')`'dnl libcilkrts + +ifenabled(`libmpx',` +Package: libmpx`'MPX_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libmpx'MPX_SO`-armel [armel], libmpx'MPX_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: libmpx0 (<< 6-20160120-1) +BUILT_USING`'dnl +Description: Intel memory protection extensions (runtime) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: libmpx`'MPX_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(mpx`'MPX_SO,,=), ${misc:Depends} +ifdef(`TARGET',`',`Provides: libmpx'MPX_SO`-dbg-armel [armel], libmpx'MPX_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: Intel memory protection extensions (debug symbols) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +ifenabled(`lib32mpx',` +Package: lib32mpx`'MPX_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Replaces: lib32mpx0 (<< 6-20160120-1) +BUILT_USING`'dnl +Description: Intel memory protection extensions (32bit) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: lib32mpx`'MPX_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(mpx`'MPX_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Intel memory protection extensions (32 bit debug symbols) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. +')`'dnl lib32mpx + +ifenabled(`lib64mpx',` +Package: lib64mpx`'MPX_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: lib64mpx0 (<< 6-20160120-1) +BUILT_USING`'dnl +Description: Intel memory protection extensions (64bit) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: lib64mpx`'MPX_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(mpx`'MPX_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Intel memory protection extensions (64bit debug symbols) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. +')`'dnl lib64mpx + +ifenabled(`libn32mpx',` +Package: libn32mpx`'MPX_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Intel memory protection extensions (n32) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: libn32mpx`'MPX_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(mpx`'MPX_SO,n32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Intel memory protection extensions (n32 debug symbols) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. +')`'dnl libn32mpx + +ifenabled(`libx32mpx',` +Package: libx32mpx`'MPX_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Intel memory protection extensions (x32) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: libx32mpx`'MPX_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(mpx`'MPX_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Intel memory protection extensions (x32 debug symbols) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. +')`'dnl libx32mpx + +ifenabled(`libhfmpx',` +Package: libhfmpx`'MPX_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libmpx'MPX_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: Intel memory protection extensions (hard float ABI) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: libhfmpx`'MPX_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(mpx`'MPX_SO,hf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libmpx'MPX_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: Intel memory protection extensions (hard float ABI debug symbols) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. +')`'dnl libhfmpx + +ifenabled(`libsfmpx',` +Package: libsfmpx`'MPX_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Intel memory protection extensions (soft float ABI) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. + +Package: libsfmpx`'MPX_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(mpx`'MPX_SO,sf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Intel memory protection extensions (soft float ABI debug symbols) + Intel MPX is a set of processor features which, with compiler, + runtime library and OS support, brings increased robustness to + software by checking pointer references whose compile time normal + intentions are usurped at runtime due to buffer overflow. +')`'dnl libsfmpx +')`'dnl libmpx + +ifenabled(`libbacktrace',` +Package: libbacktrace`'BTRACE_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libbacktrace'BTRACE_SO`-armel [armel], libbacktrace'BTRACE_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +Package: libbacktrace`'BTRACE_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,,=), ${misc:Depends} +ifdef(`TARGET',`',`Provides: libbacktrace'BTRACE_SO`-dbg-armel [armel], libbacktrace'BTRACE_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: stack backtrace library (debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +Package: lib32backtrace`'BTRACE_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: stack backtrace library (32bit) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +Package: lib32backtrace`'BTRACE_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (32 bit debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +Package: lib64backtrace`'BTRACE_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (64bit) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +Package: lib64backtrace`'BTRACE_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (64bit debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +Package: libn32backtrace`'BTRACE_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (n32) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +Package: libn32backtrace`'BTRACE_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,n32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (n32 debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +ifenabled(`libx32backtrace',` +Package: libx32backtrace`'BTRACE_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (x32) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +Package: libx32backtrace`'BTRACE_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (x32 debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. +')`'dnl libx32backtrace + +ifenabled(`libhfbacktrace',` +Package: libhfbacktrace`'BTRACE_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libbacktrace'BTRACE_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: stack backtrace library (hard float ABI) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +Package: libhfbacktrace`'BTRACE_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,hf,=), ${misc:Depends} +wifdef(`TARGET',`dnl',`Conflicts: libbacktrace'BTRACE_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: stack backtrace library (hard float ABI debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. +')`'dnl libhfbacktrace + +ifenabled(`libsfbacktrace',` +Package: libsfbacktrace`'BTRACE_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (soft float ABI) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +Package: libsfbacktrace`'BTRACE_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,sf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (soft float ABI debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. +')`'dnl libsfbacktrace + +ifenabled(`libneonbacktrace',` +Package: libbacktrace`'BTRACE_SO-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library [neon optimized] + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneonbacktrace +')`'dnl libbacktrace + + +ifenabled(`libqmath',` +Package: libquadmath`'QMATH_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: libquadmath`'QMATH_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(quadmath`'QMATH_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. + +Package: lib32quadmath`'QMATH_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (32bit) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: lib32quadmath`'QMATH_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(quadmath`'QMATH_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (32 bit debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. + +Package: lib64quadmath`'QMATH_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (64bit) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: lib64quadmath`'QMATH_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(quadmath`'QMATH_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (64bit debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. + +#Package: libn32quadmath`'QMATH_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: ifdef(`TARGET',`extra',`PRI(optional)') +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: GCC Quad-Precision Math Library (n32) +# A library, which provides quad-precision mathematical functions on targets +# supporting the __float128 datatype. The library is used to provide on such +# targets the REAL(16) type in the GNU Fortran compiler. + +#Package: libn32quadmath`'QMATH_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: extra +#Depends: BASELDEP, libdep(quadmath`'QMATH_SO,n32,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: GCC Quad-Precision Math Library (n32 debug symbols) +# A library, which provides quad-precision mathematical functions on targets +# supporting the __float128 datatype. + +ifenabled(`libx32qmath',` +Package: libx32quadmath`'QMATH_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (x32) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: libx32quadmath`'QMATH_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(quadmath`'QMATH_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (x32 debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. +')`'dnl libx32qmath + +ifenabled(`libhfqmath',` +Package: libhfquadmath`'QMATH_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (hard float ABI) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: libhfquadmath`'QMATH_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(quadmath`'QMATH_SO,hf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (hard float ABI debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. +')`'dnl libhfqmath + +ifenabled(`libsfqmath',` +Package: libsfquadmath`'QMATH_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (soft float ABI) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: libsfquadmath`'QMATH_SO-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(quadmath`'QMATH_SO,sf,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (hard float ABI debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. +')`'dnl libsfqmath +')`'dnl libqmath + +ifenabled(`libcc1',` +Package: libcc1-`'CC1_SO +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC cc1 plugin for GDB + libcc1 is a plugin for GDB. +')`'dnl libcc1 + +ifenabled(`libjit',` +Package: libgccjit`'GCCJIT_SO +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, ${shlibs:Depends}, ${misc:Depends} +Breaks: python-gccjit (<< 0.4-4), python3-gccjit (<< 0.4-4) +BUILT_USING`'dnl +Description: GCC just-in-time compilation (shared library) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. + +Package: libgccjit`'GCCJIT_SO-dbg +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: extra +Depends: BASEDEP, libgccjit`'GCCJIT_SO (= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +Breaks: libgccjit-5-dbg, libgccjit-6-dbg +Replaces: libgccjit-5-dbg, libgccjit-6-dbg +BUILT_USING`'dnl +Description: GCC just-in-time compilation (debug information) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. +')`'dnl libjit + +ifenabled(`jit',` +Package: libgccjit`'PV-doc +Section: doc +Architecture: all +Priority: extra +Depends: BASEDEP, ${misc:Depends} +Conflicts: libgccjit-5-doc, libgccjit-6-doc +Description: GCC just-in-time compilation (documentation) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. + +Package: libgccjit`'PV-dev +Section: ifdef(`TARGET',`devel',`libdevel') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, libgccjit`'GCCJIT_SO (>= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Suggests: libgccjit`'PV-dbg +Description: GCC just-in-time compilation (development files) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. +')`'dnl jit + +ifenabled(`objpp',` +ifenabled(`objppdev',` +Package: gobjc++`'PV`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gobjc`'PV`'TS (= ${gcc:Version}), g++`'PV`'TS (= ${gcc:Version}), ${shlibs:Depends}, libidevdep(objc`'PV-dev,,=), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler`'TS +BUILT_USING`'dnl +Description: GNU Objective-C++ compiler + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. +')`'dnl obcppdev + +ifenabled(`multilib',` +Package: gobjc++`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gobjc++`'PV`'TS (= ${gcc:Version}), g++`'PV-multilib`'TS (= ${gcc:Version}), gobjc`'PV-multilib`'TS (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Objective-C++ compiler (multilib support) + This is the GNU Objective-C++ compiler, which compiles Objective-C++ on + platforms supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib +')`'dnl obcpp + +ifenabled(`objc',` +ifenabled(`objcdev',` +Package: gobjc`'PV`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libidevdep(objc`'PV-dev,,=), ${misc:Depends} +Suggests: ${gobjc:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}), libdbgdep(objc`'OBJC_SO-dbg,) +Provides: objc-compiler`'TS +ifdef(`__sparc__',`Conflicts: gcc`'PV-sparc64', `dnl') +BUILT_USING`'dnl +Description: GNU Objective-C compiler + This is the GNU Objective-C compiler, which compiles + Objective-C on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +ifenabled(`multilib',` +Package: gobjc`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gobjc`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libobjcbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Objective-C compiler (multilib support)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib + +Package: libobjc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,), libdep(objc`'OBJC_SO,), ${shlibs:Depends}, ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: lib64objc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,64), libdep(objc`'OBJC_SO,64), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (64bit development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: lib32objc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,32), libdep(objc`'OBJC_SO,32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (32bit development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: libn32objc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,n32), libdep(objc`'OBJC_SO,n32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (n32 development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +ifenabled(`x32dev',` +Package: libx32objc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,x32), libdep(objc`'OBJC_SO,x32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (x32 development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. +')`'dnl libx32objc + +ifenabled(`armml',` +Package: libhfobjc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,hf), libdep(objc`'OBJC_SO,hf), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (hard float ABI development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. +')`'dnl armml + +ifenabled(`armml',` +Package: libsfobjc`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,sf), libdep(objc`'OBJC_SO,sf), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (soft float development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. +')`'dnl armml +')`'dnl objcdev + +ifenabled(`libobjc',` +Package: libobjc`'OBJC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libobjc'OBJC_SO`-armel [armel], libobjc'OBJC_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +ifelse(OBJC_SO,`2',`Breaks: ${multiarch:breaks} +',`')')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications + Library needed for GNU ObjC applications linked against the shared library. + +Package: libobjc`'OBJC_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libobjc'OBJC_SO`-dbg-armel [armel], libobjc'OBJC_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Priority: extra +Depends: BASELDEP, libdep(objc`'OBJC_SO,,=), libdbgdep(gcc`'GCC_SO-dbg,,>=,${libgcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libobjc + +ifenabled(`lib64objc',` +Package: lib64objc`'OBJC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (64bit) + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib64objc`'OBJC_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: extra +Depends: BASELDEP, libdep(objc`'OBJC_SO,64,=), libdbgdep(gcc`'GCC_SO-dbg,64,>=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (64 bit debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl lib64objc + +ifenabled(`lib32objc',` +Package: lib32objc`'OBJC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (32bit) + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib32objc`'OBJC_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: extra +Depends: BASELDEP, libdep(objc`'OBJC_SO,32,=), libdbgdep(gcc`'GCC_SO-dbg,32,>=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (32 bit debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl lib32objc + +ifenabled(`libn32objc',` +Package: libn32objc`'OBJC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (n32) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libn32objc`'OBJC_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: extra +Depends: BASELDEP, libdep(objc`'OBJC_SO,n32,=), libdbgdep(gcc`'GCC_SO-dbg,n32,>=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (n32 debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libn32objc + +ifenabled(`libx32objc',` +Package: libx32objc`'OBJC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (x32) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libx32objc`'OBJC_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: extra +Depends: BASELDEP, libdep(objc`'OBJC_SO,x32,=), libdbgdep(gcc`'GCC_SO-dbg,x32,>=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (x32 debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libx32objc + +ifenabled(`libhfobjc',` +Package: libhfobjc`'OBJC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libobjc'OBJC_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (hard float ABI) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libhfobjc`'OBJC_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: extra +Depends: BASELDEP, libdep(objc`'OBJC_SO,hf,=), libdbgdep(gcc`'GCC_SO-dbg,hf,>=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libobjc'OBJC_SO`-dbg-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (hard float ABI debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libhfobjc + +ifenabled(`libsfobjc',` +Package: libsfobjc`'OBJC_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libobjc'OBJC_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (soft float ABI) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libsfobjc`'OBJC_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: extra +Depends: BASELDEP, libdep(objc`'OBJC_SO,sf,=), libdbgdep(gcc`'GCC_SO-dbg,sf,>=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libobjc'OBJC_SO`-dbg-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (soft float ABI debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libsfobjc + +ifenabled(`libneonobjc',` +Package: libobjc`'OBJC_SO-neon`'LS +Section: libs +Architecture: NEON_ARCHS +Priority: PRI(optional) +Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications [NEON version] + Library needed for GNU ObjC applications linked against the shared library. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneonobjc +')`'dnl objc + +ifenabled(`fortran',` +ifenabled(`fdev',` +Package: gfortran`'PV`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), libidevdep(gfortran`'PV-dev,,=), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Provides: fortran95-compiler, ${fortran:mod-version} +Suggests: ${gfortran:multilib}, gfortran`'PV-doc, + libdbgdep(gfortran`'FORTRAN_SO-dbg,), + libcoarrays-dev +BUILT_USING`'dnl +Description: GNU Fortran compiler + This is the GNU Fortran compiler, which compiles + Fortran on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +ifenabled(`multilib',` +Package: gfortran`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gfortran`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libgfortranbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Fortran compiler (multilib support)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU Fortran compiler, which compiles Fortran on platforms + supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib + +ifenabled(`gfdldoc',` +Package: gfortran`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends} +Description: Documentation for the GNU Fortran compiler (gfortran) + Documentation for the GNU Fortran compiler in info `format'. +')`'dnl gfdldoc + +Package: libgfortran`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',), libdep(gfortran`'FORTRAN_SO,), ${shlibs:Depends}, ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: lib64gfortran`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',64), libdep(gfortran`'FORTRAN_SO,64), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (64bit development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: lib32gfortran`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',32), libdep(gfortran`'FORTRAN_SO,32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (32bit development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: libn32gfortran`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',n32), libdep(gfortran`'FORTRAN_SO,n32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (n32 development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +ifenabled(`x32dev',` +Package: libx32gfortran`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',x32), libdep(gfortran`'FORTRAN_SO,x32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (x32 development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. +')`'dnl libx32gfortran + +ifenabled(`armml',` +Package: libhfgfortran`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',hf), libdep(gfortran`'FORTRAN_SO,hf), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (hard float ABI development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. +')`'dnl armml + +ifenabled(`armml',` +Package: libsfgfortran`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',sf), libdep(gfortran`'FORTRAN_SO,sf), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (soft float ABI development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. +')`'dnl armml +')`'dnl fdev + +ifenabled(`libgfortran',` +Package: libgfortran`'FORTRAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libgfortran'FORTRAN_SO`-armel [armel], libgfortran'FORTRAN_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +')`'dnl +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libgfortran`'FORTRAN_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libgfortran'FORTRAN_SO`-dbg-armel [armel], libgfortran'FORTRAN_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Priority: extra +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,,=), libdbgdep(gcc`'GCC_SO-dbg,,>=,${libgcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libgfortran + +ifenabled(`lib64gfortran',` +Package: lib64gfortran`'FORTRAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (64bit) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: lib64gfortran`'FORTRAN_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: extra +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (64bit debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl lib64gfortran + +ifenabled(`lib32gfortran',` +Package: lib32gfortran`'FORTRAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (32bit) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: lib32gfortran`'FORTRAN_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: extra +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (32 bit debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl lib32gfortran + +ifenabled(`libn32gfortran',` +Package: libn32gfortran`'FORTRAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (n32) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libn32gfortran`'FORTRAN_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: extra +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,n32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (n32 debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libn32gfortran + +ifenabled(`libx32gfortran',` +Package: libx32gfortran`'FORTRAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (x32) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libx32gfortran`'FORTRAN_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: extra +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (x32 debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libx32gfortran + +ifenabled(`libhfgfortran',` +Package: libhfgfortran`'FORTRAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libgfortran'FORTRAN_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (hard float ABI) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libhfgfortran`'FORTRAN_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: extra +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,hf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libgfortran'FORTRAN_SO`-dbg-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (hard float ABI debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libhfgfortran + +ifenabled(`libsfgfortran',` +Package: libsfgfortran`'FORTRAN_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libgfortran'FORTRAN_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (soft float ABI) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libsfgfortran`'FORTRAN_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: extra +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,sf,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libgfortran'FORTRAN_SO`-dbg-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (hard float ABI debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libsfgfortran + +ifenabled(`libneongfortran',` +Package: libgfortran`'FORTRAN_SO-neon`'LS +Section: libs +Architecture: NEON_ARCHS +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +')`'dnl +Priority: extra +Depends: BASELDEP, libgcc1-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications [NEON version] + Library needed for GNU Fortran applications linked against the + shared library. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl libneongfortran +')`'dnl fortran + +ifenabled(`ggo',` +ifenabled(`godev',` +Package: gccgo`'PV`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, ifdef(`STANDALONEGO',`${dep:libcc1}, ',`gcc`'PV`'TS (= ${gcc:Version}), ')libidevdep(go`'GO_SO,,>=), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Provides: go-compiler +Suggests: ${go:multilib}, gccgo`'PV-doc, libdbgdep(go`'GO_SO-dbg,) +Conflicts: ${golang:Conflicts} +BUILT_USING`'dnl +Description: GNU Go compiler + This is the GNU Go compiler, which compiles Go on platforms supported + by the gcc compiler. It uses the gcc backend to generate optimized code. + +ifenabled(`multilib',` +Package: gccgo`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gccgo`'PV`'TS (= ${gcc:Version}), ifdef(`STANDALONEGO',,`gcc`'PV-multilib`'TS (= ${gcc:Version}), ')${dep:libgobiarch}, ${shlibs:Depends}, ${misc:Depends} +Suggests: ${dep:libgobiarchdbg} +BUILT_USING`'dnl +Description: GNU Go compiler (multilib support)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU Go compiler, which compiles Go on platforms supported + by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib + +ifenabled(`gfdldoc',` +Package: gccgo`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends} +BUILT_USING`'dnl +Description: Documentation for the GNU Go compiler (gccgo) + Documentation for the GNU Go compiler in info `format'. +')`'dnl gfdldoc +')`'dnl fdev + +ifenabled(`libggo',` +Package: libgo`'GO_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libgo'GO_SO`-armel [armel], libgo'GO_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: libgo3`'LS, libgo8`'LS +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications + Library needed for GNU Go applications linked against the + shared library. + +Package: libgo`'GO_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libgo'GO_SO`-dbg-armel [armel], libgo'GO_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Priority: extra +Depends: BASELDEP, libdep(go`'GO_SO,,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. +')`'dnl libgo + +ifenabled(`lib64ggo',` +Package: lib64go`'GO_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: lib64go3`'LS, lib64go8`'LS +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (64bit) + Library needed for GNU Go applications linked against the + shared library. + +Package: lib64go`'GO_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: extra +Depends: BASELDEP, libdep(go`'GO_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (64bit debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. +')`'dnl lib64go + +ifenabled(`lib32ggo',` +Package: lib32go`'GO_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Replaces: lib32go3`'LS, lib32go8`'LS +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (32bit) + Library needed for GNU Go applications linked against the + shared library. + +Package: lib32go`'GO_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: extra +Depends: BASELDEP, libdep(go`'GO_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (32 bit debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. +')`'dnl lib32go + +ifenabled(`libn32ggo',` +Package: libn32go`'GO_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libn32go3`'LS, libn32go8`'LS +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (n32) + Library needed for GNU Go applications linked against the + shared library. + +Package: libn32go`'GO_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: extra +Depends: BASELDEP, libdep(go`'GO_SO,n32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (n32 debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. +')`'dnl libn32go + +ifenabled(`libx32ggo',` +Package: libx32go`'GO_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libx32go3`'LS, libx32go8`'LS +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (x32) + Library needed for GNU Go applications linked against the + shared library. + +Package: libx32go`'GO_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: extra +Depends: BASELDEP, libdep(go`'GO_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (x32 debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. +')`'dnl libx32go +')`'dnl ggo + +ifenabled(`c++',` +ifenabled(`libcxx',` +Package: libstdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(important)) +Depends: BASELDEP, ${dep:libc}, ${shlibs:Depends}, ${misc:Depends} +Provides: ifdef(`TARGET',`libstdc++CXX_SO-TARGET-dcv1',`libstdc++'CXX_SO`-armel [armel], libstdc++'CXX_SO`-armhf [armhf]') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks}, PR66145BREAKS +')`'dnl +Conflicts: scim (<< 1.4.2-1) +Replaces: libstdc++CXX_SO`'PV-dbg`'LS (<< 4.9.0-3) +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `') + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libcxx + +ifenabled(`lib32cxx',` +Package: lib32stdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdep(gcc1,32), ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +ifdef(`TARGET',`Provides: lib32stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (32 bit Version) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib32cxx + +ifenabled(`lib64cxx',` +Package: lib64stdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdep(gcc1,64), ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: lib64stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `') (64bit) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib64cxx + +ifenabled(`libn32cxx',` +Package: libn32stdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdep(gcc1,n32), ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libn32stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `') (n32) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libn32cxx + +ifenabled(`libx32cxx',` +Package: libx32stdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdep(gcc1,x32), ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libx32stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `') (x32) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libx32cxx + +ifenabled(`libhfcxx',` +Package: libhfstdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdep(gcc1,hf), ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libhfstdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +ifdef(`TARGET',`dnl',`Conflicts: libstdc++'CXX_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `') (hard float ABI) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libhfcxx + +ifenabled(`libsfcxx',` +Package: libsfstdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdep(gcc1,sf), ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libsfstdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +ifdef(`TARGET',`dnl',`Conflicts: libstdc++'CXX_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `') (soft float ABI) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libsfcxx + +ifenabled(`libneoncxx',` +Package: libstdc++CXX_SO-neon`'LS +Architecture: NEON_ARCHS +Section: libs +Priority: extra +Depends: BASELDEP, libc6-neon`'LS, libgcc1-neon`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 [NEON version] + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + This set of libraries is optimized to use a NEON coprocessor, and will + be selected instead when running under systems which have one. +')`'dnl + +ifenabled(`c++dev',` +Package: libstdc++`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,,=), + libdep(stdc++CXX_SO,,>=), ${dep:libcdev}, ${misc:Depends} +ifdef(`TARGET',`',`dnl native +Conflicts: libg++27-dev, libg++272-dev (<< 2.7.2.8-1), libstdc++2.8-dev, + libg++2.8-dev, libstdc++2.9-dev, libstdc++2.9-glibc2.1-dev, + libstdc++2.10-dev (<< 1:2.95.3-2), libstdc++3.0-dev +Suggests: libstdc++`'PV-doc +')`'dnl native +Provides: libstdc++-dev`'LS`'ifdef(`TARGET',`, libstdc++-dev-TARGET-dcv1') +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libstdc++`'PV-pic`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: extra +Depends: BASELDEP, libdep(stdc++CXX_SO,), + libdevdep(stdc++`'PV-dev,), ${misc:Depends} +ifdef(`TARGET',`Provides: libstdc++-pic-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (shared library subset kit)`'ifdef(`TARGET)',` (TARGET)', `') + This is used to develop subsets of the libstdc++ shared libraries for + use on custom installation floppies and in embedded systems. + . + Unless you are making one of those, you will not need this package. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libstdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(stdc++CXX_SO,), + libdbgdep(gcc`'GCC_SO-dbg,,>=,${libgcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: ifdef(`TARGET',`libstdc++CXX_SO-dbg-TARGET-dcv1',`libstdc++'CXX_SO`'PV`-dbg-armel [armel], libstdc++'CXX_SO`'PV`-dbg-armhf [armhf]') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Recommends: libdevdep(stdc++`'PV-dev,) +Conflicts: libstdc++5-dbg`'LS, libstdc++5-3.3-dbg`'LS, libstdc++6-dbg`'LS, + libstdc++6-4.0-dbg`'LS, libstdc++6-4.1-dbg`'LS, libstdc++6-4.2-dbg`'LS, + libstdc++6-4.3-dbg`'LS, libstdc++6-4.4-dbg`'LS, libstdc++6-4.5-dbg`'LS, + libstdc++6-4.6-dbg`'LS, libstdc++6-4.7-dbg`'LS, libstdc++6-4.8-dbg`'LS, + libstdc++6-4.9-dbg`'LS, libstdc++6-5-dbg`'LS, libstdc++6-6-dbg`'LS +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib32stdc++`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,32), + libdep(stdc++CXX_SO,32), libdevdep(stdc++`'PV-dev,), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib32stdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(stdc++CXX_SO,32), + libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,32,>=,${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: lib32stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: lib32stdc++6-dbg`'LS, lib32stdc++6-4.0-dbg`'LS, + lib32stdc++6-4.1-dbg`'LS, lib32stdc++6-4.2-dbg`'LS, lib32stdc++6-4.3-dbg`'LS, + lib32stdc++6-4.4-dbg`'LS, lib32stdc++6-4.5-dbg`'LS, lib32stdc++6-4.6-dbg`'LS, + lib32stdc++6-4.7-dbg`'LS, lib32stdc++6-4.8-dbg`'LS, lib32stdc++6-4.9-dbg`'LS, + lib32stdc++6-5-dbg`'LS, lib32stdc++6-6-dbg`'LS +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib64stdc++`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,64), + libdep(stdc++CXX_SO,64), libdevdep(stdc++`'PV-dev,), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib64stdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(stdc++CXX_SO,64), + libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,64,>=,${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: lib64stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: lib64stdc++6-dbg`'LS, lib64stdc++6-4.0-dbg`'LS, + lib64stdc++6-4.1-dbg`'LS, lib64stdc++6-4.2-dbg`'LS, lib64stdc++6-4.3-dbg`'LS, + lib64stdc++6-4.4-dbg`'LS, lib64stdc++6-4.5-dbg`'LS, lib64stdc++6-4.6-dbg`'LS, + lib64stdc++6-4.7-dbg`'LS, lib64stdc++6-4.8-dbg`'LS, lib64stdc++6-4.9-dbg`'LS, + lib64stdc++6-5-dbg`'LS, lib64stdc++6-6-dbg`'LS +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libn32stdc++`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,n32), + libdep(stdc++CXX_SO,n32), libdevdep(stdc++`'PV-dev,), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libn32stdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(stdc++CXX_SO,n32), + libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,n32,>=,${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libn32stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: libn32stdc++6-dbg`'LS, libn32stdc++6-4.0-dbg`'LS, + libn32stdc++6-4.1-dbg`'LS, libn32stdc++6-4.2-dbg`'LS, libn32stdc++6-4.3-dbg`'LS, + libn32stdc++6-4.4-dbg`'LS, libn32stdc++6-4.5-dbg`'LS, libn32stdc++6-4.6-dbg`'LS, + libn32stdc++6-4.7-dbg`'LS, libn32stdc++6-4.8-dbg`'LS, libn32stdc++6-4.9-dbg`'LS, + libn32stdc++6-5-dbg`'LS, libn32stdc++6-6-dbg`'LS +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`x32dev',` +Package: libx32stdc++`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,x32), libdep(stdc++CXX_SO,x32), + libdevdep(stdc++`'PV-dev,), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl x32dev + +ifenabled(`libx32dbgcxx',` +Package: libx32stdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(stdc++CXX_SO,x32), + libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,x32,>=,${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libx32stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: libx32stdc++6-dbg`'LS, libx32stdc++6-4.6-dbg`'LS, + libx32stdc++6-4.7-dbg`'LS, libx32stdc++6-4.8-dbg`'LS, libx32stdc++6-4.9-dbg`'LS, + libx32stdc++6-5-dbg`'LS, libx32stdc++6-6-dbg`'LS +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libx32dbgcxx + +ifenabled(`libhfdbgcxx',` +Package: libhfstdc++`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,hf), + libdep(stdc++CXX_SO,hf), libdevdep(stdc++`'PV-dev,), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libhfstdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(stdc++CXX_SO,hf), + libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,hf,>=,${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libhfstdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +ifdef(`TARGET',`dnl',`Conflicts: libhfstdc++6-dbg`'LS, libhfstdc++6-4.3-dbg`'LS, libhfstdc++6-4.4-dbg`'LS, libhfstdc++6-4.5-dbg`'LS, libhfstdc++6-4.6-dbg`'LS, libhfstdc++6-4.7-dbg`'LS, libhfstdc++6-4.8-dbg`'LS, libhfstdc++6-4.9-dbg`'LS, libhfstdc++6-5-dbg`'LS, libhfstdc++6-6-dbg`'LS, libstdc++'CXX_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libhfdbgcxx + +ifenabled(`libsfdbgcxx',` +Package: libsfstdc++`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,sf), + libdep(stdc++CXX_SO,sf), libdevdep(stdc++`'PV-dev,), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libsfstdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: extra +Depends: BASELDEP, libdep(stdc++CXX_SO,sf), + libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,sf,>=,${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libsfstdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +ifdef(`TARGET',`dnl',`Conflicts: libsfstdc++6-dbg`'LS, libsfstdc++6-4.3-dbg`'LS, libsfstdc++6-4.4-dbg`'LS, libsfstdc++6-4.5-dbg`'LS, libsfstdc++6-4.6-dbg`'LS, libsfstdc++6-4.7-dbg`'LS, libsfstdc++6-4.8-dbg`'LS, libsfstdc++6-4.9-dbg`'LS, libsfstdc++6-5-dbg`'LS, libhfstdc++6-6-dbg`'LS, libstdc++'CXX_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libsfdbgcxx + +ifdef(`TARGET', `', ` +Package: libstdc++`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), ${misc:Depends} +Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc, + libstdc++6-4.0-doc, libstdc++6-4.1-doc, libstdc++6-4.2-doc, libstdc++6-4.3-doc, + libstdc++6-4.4-doc, libstdc++6-4.5-doc, libstdc++6-4.6-doc, libstdc++6-4.7-doc, + libstdc++-4.8-doc, libstdc++-4.9-doc, libstdc++-5-doc, libstdc++-6-doc +Description: GNU Standard C++ Library v3 (documentation files) + This package contains documentation files for the GNU stdc++ library. + . + One set is the distribution documentation, the other set is the + source documentation including a namespace list, class hierarchy, + alphabetical list, compound list, file list, namespace members, + compound members and file members. +')`'dnl native +')`'dnl c++dev +')`'dnl c++ + +ifenabled(`ada',` +Package: gnat`'-GNAT_V`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +ifdef(`MULTIARCH', `Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASEDEP, gcc`'PV`'TS (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat`'PV-doc, ada-reference-manual-2012, gnat`'-GNAT_V-sjlj +Breaks: gnat (<< 4.6.1), dh-ada-library (<< 6.0), gnat-4.6-base (= 4.6.4-2), + gnat-4.9-base (= 4.9-20140330-1) +Replaces: gnat (<< 4.6.1), dh-ada-library (<< 6.0), gnat-4.6-base (= 4.6.4-2), + gnat-4.9-base (= 4.9-20140330-1) +# Takes over symlink from gnat (<< 4.6.1): /usr/bin/gnatgcc. +# Takes over file from dh-ada-library (<< 6.0): debian_packaging.mk. +# g-base 4.6.4-2, 4.9-20140330-1 contain debian_packaging.mk by mistake. +# Newer versions of gnat and dh-ada-library will not provide these files. +Conflicts: gnat (<< 4.1), gnat-3.1, gnat-3.2, gnat-3.3, gnat-3.4, gnat-3.5, + gnat-4.0, gnat-4.1, gnat-4.2, gnat-4.3, gnat-4.4, gnat-4.6, gnat-4.7, gnat-4.8, + gnat-4.9, gnat-5`'TS, gnat-6`'TS +# These other packages will continue to provide /usr/bin/gnatmake and +# other files. +BUILT_USING`'dnl +Description: GNU Ada compiler + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +ifenabled(`adasjlj',` +Package: gnat`'-GNAT_V-sjlj`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Priority: extra +ifdef(`MULTIARCH', `Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASEDEP, gnat`'-GNAT_V`'TS (= ${gnat:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Ada compiler (setjump/longjump runtime library) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides an alternative runtime library that handles + exceptions using the setjump/longjump mechanism (as a static library + only). You can install it to supplement the normal compiler. +')`'dnl adasjlj + +ifenabled(`libgnat',` +Package: libgnat`'-GNAT_V`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: runtime for applications compiled with GNAT (shared library) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the runtime shared library. + +Package: libgnat`'-GNAT_V-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: extra +Depends: BASELDEP, libgnat`'-GNAT_V`'LS (= ${gnat:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: runtime for applications compiled with GNAT (debugging symbols) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the debugging symbols. + +Package: libgnatvsn`'GNAT_V-dev`'LS +Section: libdevel +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Priority: extra +Depends: BASELDEP, ifdef(`TARGET',`',`gnat`'PV`'TS (ifdef(`TARGET',`>= ${gnat:SoftVersion}',`= ${gnat:Version}')),') + libgnatvsn`'GNAT_V`'LS (= ${gnat:Version}), ${misc:Depends} +ifdef(`TARGET',`Recommends: gnat`'PV`'TS (>= ${gnat:SoftVersion}) +')`'dnl +Conflicts: libgnatvsn-dev (<< `'GNAT_V), + libgnatvsn4.1-dev, libgnatvsn4.3-dev, libgnatvsn4.4-dev, + libgnatvsn4.5-dev, libgnatvsn4.6-dev, libgnatvsn4.9-dev, + libgnatvsn5-dev`'LS, libgnatvsn6-dev`'LS, +BUILT_USING`'dnl +Description: GNU Ada compiler selected components (development files) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnatvsn library exports selected GNAT components for use in other + packages, most notably ASIS tools. It is licensed under the GNAT-Modified + GPL, allowing to link proprietary programs with it. + . + This package contains the development files and static library. + +Package: libgnatvsn`'GNAT_V`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Section: ifdef(`TARGET',`devel',`libs') +Depends: BASELDEP, libgnat`'-GNAT_V`'LS (= ${gnat:Version}), + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Ada compiler selected components (shared library) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnatvsn library exports selected GNAT components for use in other + packages, most notably ASIS tools. It is licensed under the GNAT-Modified + GPL, allowing to link proprietary programs with it. + . + This package contains the runtime shared library. + +Package: libgnatvsn`'GNAT_V-dbg`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: extra +Section: debug +Depends: BASELDEP, libgnatvsn`'GNAT_V`'LS (= ${gnat:Version}), ${misc:Depends} +Suggests: gnat +BUILT_USING`'dnl +Description: GNU Ada compiler selected components (debugging symbols) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnatvsn library exports selected GNAT components for use in other + packages, most notably ASIS tools. It is licensed under the GNAT-Modified + GPL, allowing to link proprietary programs with it. + . + This package contains the debugging symbols. +')`'dnl libgnat + +ifenabled(`lib64gnat',` +Package: lib64gnat`'-GNAT_V +Section: libs +Architecture: biarch64_archs +Priority: PRI(optional) +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: runtime for applications compiled with GNAT (64 bits shared library) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the runtime shared library for 64 bits architectures. +')`'dnl libgnat + +ifenabled(`gfdldoc',` +Package: gnat`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: dpkg (>= 1.15.4) | install-info, ${misc:Depends} +Suggests: gnat`'PV +Conflicts: gnat-4.1-doc, gnat-4.2-doc, + gnat-4.3-doc, gnat-4.4-doc, + gnat-4.6-doc, gnat-4.9-doc, + gnat-5-doc, gnat-6-doc, +BUILT_USING`'dnl +Description: GNU Ada compiler (documentation) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the documentation in info `format'. +')`'dnl gfdldoc +')`'dnl ada + +ifenabled(`d ',` +Package: gdc`'PV`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: SOFTBASEDEP, g++`'PV`'TS (>= ${gcc:SoftVersion}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Provides: gdc, d-compiler, d-v2-compiler +Replaces: gdc (<< 4.4.6-5) +BUILT_USING`'dnl +Description: GNU D compiler (version 2)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU D compiler, which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +ifenabled(`multilib',` +Package: gdc`'PV-multilib`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: SOFTBASEDEP, gdc`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libphobosbiarchdev}${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU D compiler (version 2, multilib support)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU D compiler, which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib + +ifenabled(`libphobos',` +Package: libgphobos`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libgphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + zlib1g-dev, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libgphobos`'PHOBOS_V`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: libgphobos68`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libgphobos`'PHOBOS_V-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Priority: extra +Depends: BASELDEP, libgphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +Replaces: libgphobos68-dbg`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib64gphobos`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, lib64gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,64), lib64z1-dev, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (64bit development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib64gphobos`'PHOBOS_V`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: lib64gphobos68`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib64gphobos`'PHOBOS_V-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: extra +Depends: BASELDEP, lib64gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +Replaces: lib64gphobos68-dbg`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib32gphobos`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, lib32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,32), lib32z1-dev, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (32bit development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib32gphobos`'PHOBOS_V`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: lib32gphobos68`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib32gphobos`'PHOBOS_V-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: extra +Depends: BASELDEP, lib32gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +Replaces: lib32gphobos68-dbg`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +ifenabled(`libn32phobos',` +Package: libn32gphobos`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libn32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,n32), libn32z1-dev, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (n32 development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libn32gphobos`'PHOBOS_V`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libn32gphobos`'PHOBOS_V-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: extra +Depends: BASELDEP, libn32gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ +')`'dnl libn32phobos + +ifenabled(`libx32phobos',` +Package: libx32gphobos`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libx32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,x32), ${dep:libx32z}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (x32 development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libx32gphobos`'PHOBOS_V`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: libx32gphobos68`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libx32gphobos`'PHOBOS_V-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: extra +Depends: BASELDEP, libx32gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +Replaces: libx32gphobos68-dbg`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ +')`'dnl libx32phobos + +ifenabled(`armml',` +Package: libhfgphobos`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libhfgphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,hf), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (hard float ABI development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libhfgphobos`'PHOBOS_V`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: libhfgphobos68`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libhfgphobos`'PHOBOS_V-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: extra +Depends: BASELDEP, libhfgphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +Replaces: libhfgphobos68-dbg`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libsfgphobos`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libsfgphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,sf), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (soft float ABI development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libsfgphobos`'PHOBOS_V`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: libsfgphobos68`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libsfgphobos`'PHOBOS_V-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: extra +Depends: BASELDEP, libsfgphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +Replaces: libsfgphobos68-dbg`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ +')`'dnl armml +')`'dnl libphobos +')`'dnl d + +ifenabled(`brig',` +ifenabled(`brigdev',` +Package: gccbrig`'PV`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), ${dep:libcdev}, + hsail-tools, + ${shlibs:Depends}, libidevdep(hsail-rt`'PV-dev,,=), ${misc:Depends} +Suggests: ${gccbrig:multilib}, + libdbgdep(hsail-rt`'HSAIL_SO-dbg,) +Provides: brig-compiler`'TS +BUILT_USING`'dnl +Description: GNU BRIG (HSA IL) frontend + This is the GNU BRIG (HSA IL) frontend. + The consumed format is a binary representation. The textual HSAIL + can be compiled to it with a separate assembler. + +ifenabled(`multiXXXlib',` +Package: gccbrig`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gccbrig`'PV`'TS (= ${gcc:Version}), + gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libhsailrtbiarchdev}, + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU BRIG (HSA IL) frontend (multilib support)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU BRIG (HSA IL) frontend. + The consumed format is a binary representation. The textual HSAIL + can be compiled to it with a separate assembler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib + +Package: libhsail-rt`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,), libdep(hsail-rt`'HSAIL_SO,), + ${shlibs:Depends}, ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: HSAIL runtime library (development files) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. + +ifenabled(`lib64hsail',` +Package: lib64hsail-rt`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,64), libdep(hsail-rt`'HSAIL_SO,64), + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (64bit development files) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl lib64hsail + +ifenabled(`lib32hsail',` +Package: lib32hsail-rt`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,32), libdep(hsail-rt`'HSAIL_SO,32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (32bit development files) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl lib32hsail + +ifenabled(`libn32hsail',` +Package: libn32hsail-rt`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,n32), libdep(hsail-rt`'HSAIL_SO,n32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (n32 development files) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl libn32hsail + +ifenabled(`x32dev',` +ifenabled(`libx32hsail',` +Package: libx32hsail-rt`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,x32), libdep(hsail-rt`'HSAIL_SO,x32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (x32 development files) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl libx32hsail +')`'dnl x32dev + +ifenabled(`armml',` +ifenabled(`libhfhsail',` +Package: libhfhsail-rt`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,hf), libdep(hsail-rt`'HSAIL_SO,hf), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (hard float ABI development files) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl libhfhsail +')`'dnl armml + +ifenabled(`armml',` +ifenabled(`libsfhsail',` +Package: libsfhsail-rt`'PV-dev`'LS +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: libdevel +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASELDEP, libdevdep(gcc`'PV-dev,sf), libdep(hsail-rt`'HSAIL_SO,sf), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (soft float development files) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl libsfhsail +')`'dnl armml +')`'dnl hsailrtdev + +ifenabled(`libhsail',` +Package: libhsail-rt`'HSAIL_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libhsail-rt'HSAIL_SO`-armel [armel], libhsail-rt'HSAIL_SO`-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +ifelse(HSAIL_SO,`2',`Breaks: ${multiarch:breaks} +',`')')`'dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. + +Package: libhsail-rt`'HSAIL_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`',`Provides: libhsail-rt'HSAIL_SO`-dbg-armel [armel], libhsail-rt'HSAIL_SO`-dbg-armhf [armhf] +')`'dnl +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Priority: extra +Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,,=), libdbgdep(gcc`'GCC_SO-dbg,,>=,${libgcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (debug symbols) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl libhsail + +ifenabled(`lib64hsail',` +Package: lib64hsail-rt`'HSAIL_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (64bit) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. + +Package: lib64hsail-rt`'HSAIL_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: extra +Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,64,=), libdbgdep(gcc`'GCC_SO-dbg,64,>=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (64 bit debug symbols) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl lib64hsail + +ifenabled(`lib32hsail',` +Package: lib32hsail-rt`'HSAIL_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: HSAIL runtime library (32bit) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. + +Package: lib32hsail-rt`'HSAIL_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: extra +Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,32,=), libdbgdep(gcc`'GCC_SO-dbg,32,>=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (32 bit debug symbols) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl lib32hsail + +ifenabled(`libn32hsail',` +Package: libn32hsail-rt`'HSAIL_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (n32) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. + +Package: libn32hsail-rt`'HSAIL_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: extra +Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,n32,=), libdbgdep(gcc`'GCC_SO-dbg,n32,>=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (n32 debug symbols) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl libn32hsail + +ifenabled(`libx32hsail',` +Package: libx32hsail-rt`'HSAIL_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (x32) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. + +Package: libx32hsail-rt`'HSAIL_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: extra +Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,x32,=), libdbgdep(gcc`'GCC_SO-dbg,x32,>=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: HSAIL runtime library (x32 debug symbols) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl libx32hsail + +ifenabled(`libhfhsail',` +Package: libhfhsail-rt`'HSAIL_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libhsail-rt'HSAIL_SO`-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: HSAIL runtime library (hard float ABI) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. + +Package: libhfhsail-rt`'HSAIL_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: extra +Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,hf,=), libdbgdep(gcc`'GCC_SO-dbg,hf,>=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libhsail-rt'HSAIL_SO`-dbg-armhf [biarchhf_archs]') +BUILT_USING`'dnl +Description: HSAIL runtime library (hard float ABI debug symbols) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl libhfhsailrt + +ifenabled(`libsfhsail',` +Package: libsfhsail-rt`'HSAIL_SO`'LS +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libhsail-rt'HSAIL_SO`-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: HSAIL runtime library (soft float ABI) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. + +Package: libsfhsail-rt`'HSAIL_SO-dbg`'LS +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: extra +Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,sf,=), libdbgdep(gcc`'GCC_SO-dbg,sf,>=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: libhsail-rt'HSAIL_SO`-dbg-armel [biarchsf_archs]') +BUILT_USING`'dnl +Description: HSAIL runtime library (soft float ABI debug symbols) + This library implements the agent-side runtime functionality required + to run HSA finalized programs produced by the BRIG frontend. + . + The library contains both the code required to run kernels on the agent + and also functions implementing more complex HSAIL instructions. +')`'dnl libsfhsailrt +')`'dnl brig + +ifdef(`TARGET',`',`dnl +ifenabled(`libs',` +#Package: gcc`'PV-soft-float +#Architecture: arm armel armhf +#Priority: PRI(optional) +#Depends: BASEDEP, depifenabled(`cdev',`gcc`'PV (= ${gcc:Version}),') ${shlibs:Depends}, ${misc:Depends} +#Conflicts: gcc-4.4-soft-float, gcc-4.5-soft-float, gcc-4.6-soft-float +#BUILT_USING`'dnl +#Description: GCC soft-floating-point gcc libraries (ARM) +# These are versions of basic static libraries such as libgcc.a compiled +# with the -msoft-float option, for CPUs without a floating-point unit. +')`'dnl commonlibs +')`'dnl + +ifenabled(`fixincl',` +Package: fixincludes +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Fix non-ANSI header files + FixIncludes was created to fix non-ANSI system header files. Many + system manufacturers supply proprietary headers that are not ANSI compliant. + The GNU compilers cannot compile non-ANSI headers. Consequently, the + FixIncludes shell script was written to fix the header files. + . + Not all packages with header files are installed on the system, when the + package is built, so we make fixincludes available at build time of other + packages, such that checking tools like lintian can make use of it. +')`'dnl fixincl + +ifenabled(`cdev',` +ifdef(`TARGET', `', ` +ifenabled(`gfdldoc',` +Package: gcc`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends} +Conflicts: gcc-docs (<< 2.95.2) +Replaces: gcc (<=2.7.2.3-4.3), gcc-docs (<< 2.95.2) +Description: Documentation for the GNU compilers (gcc, gobjc, g++) + Documentation for the GNU compilers in info `format'. +')`'dnl gfdldoc +')`'dnl native +')`'dnl cdev + +ifenabled(`olnvptx',` +Package: gcc`'PV-offload-nvptx +Architecture: amd64 +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Priority: ifdef(`TARGET',`extra',`PRI(optional)') +Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), ${dep:libcdev}, + nvptx-tools, libgomp-plugin-nvptx`'GOMP_SO (>= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC offloading compiler to NVPTX + The package provides offloading support for NVidia PTX. OpenMP and OpenACC + programs linked with -fopenmp will by default add PTX code into the binaries, + which can be offloaded to NVidia PTX capable devices if available. + +ifenabled(`libgompnvptx',` +Package: libgomp-plugin-nvptx`'GOMP_SO +Architecture: amd64 +Multi-Arch: same +Section: libs +Depends: BASEDEP, libgomp`'GOMP_SO`'LS, ${shlibs:Depends}, ${misc:Depends} +Suggests: libcuda1 +BUILT_USING`'dnl +Description: GCC OpenMP v4.5 plugin for offloading to NVPTX + This package contains libgomp plugin for offloading to NVidia + PTX. The plugin needs libcuda.so.1 shared library that has to be + installed separately. +')`'dnl libgompnvptx +')`'dnl olnvptx + +ifdef(`TARGET',`',`dnl +ifenabled(`libnof',` +#Package: gcc`'PV-nof +#Architecture: powerpc +#Priority: PRI(optional) +#Depends: BASEDEP, ${shlibs:Depends}ifenabled(`cdev',`, gcc`'PV (= ${gcc:Version})'), ${misc:Depends} +#Conflicts: gcc-3.2-nof +#BUILT_USING`'dnl +#Description: GCC no-floating-point gcc libraries (powerpc) +# These are versions of basic static libraries such as libgcc.a compiled +# with the -msoft-float option, for CPUs without a floating-point unit. +')`'dnl libnof +')`'dnl + +ifenabled(`source',` +Package: gcc`'PV-source +Architecture: all +Priority: PRI(optional) +Depends: make, autoconf2.64, quilt, patchutils, sharutils, gawk, ${misc:Depends} +Description: Source of the GNU Compiler Collection + This package contains the sources and patches which are needed to + build the GNU Compiler Collection (GCC). +')`'dnl source +dnl +')`'dnl gcc-X.Y +dnl last line in file --- gcc-7-7.1.0.orig/debian/copyright +++ gcc-7-7.1.0/debian/copyright @@ -0,0 +1,1404 @@ +This is the Debian GNU/Linux prepackaged version of the GNU compiler +collection, containing Ada, C, C++, Fortran 95, Objective-C, +Objective-C++, and Treelang compilers, documentation, and support +libraries. In addition, Debian provides the gdc compiler, either in +the same source package, or built from a separate same source package. +Packaging is done by the Debian GCC Maintainers +, with sources obtained from: + + ftp://gcc.gnu.org/pub/gcc/releases/ (for full releases) + svn://gcc.gnu.org/svn/gcc/ (for prereleases) + http://bitbucket.org/goshawk/gdc (for D) + https://github.com/MentorEmbedded/nvptx-newlib/ (for newlib-nvptx) + +The current gcc-7 source package is taken from the SVN gcc-7-branch. + +Changes: See changelog.Debian.gz + +Debian splits the GNU Compiler Collection into packages for each language, +library, and documentation as follows: + +Language Compiler package Library package Documentation +--------------------------------------------------------------------------- +Ada gnat-7 libgnat-7 gnat-7-doc +BRIG gccbrig-7 libhsail-rt0 +C gcc-7 gcc-7-doc +C++ g++-7 libstdc++6 libstdc++6-7-doc +D gdc-7 +Fortran 95 gfortran-7 libgfortran3 gfortran-7-doc +Go gccgo-7 libgo0 +Objective C gobjc-7 libobjc2 +Objective C++ gobjc++-7 + +For some language run-time libraries, Debian provides source files, +development files, debugging symbols and libraries containing position- +independent code in separate packages: + +Language Sources Development Debugging Position-Independent +------------------------------------------------------------------------------ +C++ libstdc++6-7-dbg libstdc++6-7-pic +D libphobos-7-dev + +Additional packages include: + +All languages: +libgcc1, libgcc2, libgcc4 GCC intrinsics (platform-dependent) +gcc-7-base Base files common to all compilers +gcc-7-soft-float Software floating point (ARM only) +gcc-7-source The sources with patches + +Ada: +libgnatvsn-dev, libgnatvsn7 GNAT version library + +C: +cpp-7, cpp-7-doc GNU C Preprocessor +libssp0-dev, libssp0 GCC stack smashing protection library +libquadmath0 Math routines for the __float128 type +fixincludes Fix non-ANSI header files + +C, C++ and Fortran 95: +libgomp1-dev, libgomp1 GCC OpenMP (GOMP) support library +libitm1-dev, libitm1 GNU Transactional Memory Library + +Biarch support: On some 64-bit platforms which can also run 32-bit code, +Debian provides additional packages containing 32-bit versions of some +libraries. These packages have names beginning with 'lib32' instead of +'lib', for example lib32stdc++6. Similarly, on some 32-bit platforms which +can also run 64-bit code, Debian provides additional packages with names +beginning with 'lib64' instead of 'lib'. These packages contain 64-bit +versions of the libraries. (At this time, not all platforms and not all +libraries support biarch.) The license terms for these lib32 or lib64 +packages are identical to the ones for the lib packages. + + +COPYRIGHT STATEMENTS AND LICENSING TERMS + + +GCC is Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, +1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Files that have exception clauses are licensed under the terms of the +GNU General Public License; either version 3, or (at your option) any +later version. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License is in `/usr/share/common-licenses/GPL', version 3 of this +license in `/usr/share/common-licenses/GPL-3'. + +The following runtime libraries are licensed under the terms of the +GNU General Public License (v3 or later) with version 3.1 of the GCC +Runtime Library Exception (included in this file): + + - libgcc (libgcc/, gcc/libgcc2.[ch], gcc/unwind*, gcc/gthr*, + gcc/coretypes.h, gcc/crtstuff.c, gcc/defaults.h, gcc/dwarf2.h, + gcc/emults.c, gcc/gbl-ctors.h, gcc/gcov-io.h, gcc/libgcov.c, + gcc/tsystem.h, gcc/typeclass.h). + - libatomic + - libdecnumber + - libgomp + - libitm + - libssp + - libstdc++-v3 + - libobjc + - libgfortran + - The libgnat-7 Ada support library and libgnatvsn library. + - Various config files in gcc/config/ used in runtime libraries. + - libvtv + +The libbacktrace library is licensed under the following terms: + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + (1) Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + (2) Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + (3) The name of the author may not be used to + endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +The libsanitizer libraries (libasan, liblsan, libtsan, libubsan) are +licensed under the following terms: + +Copyright (c) 2009-2014 by the LLVM contributors. + +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +The libffi library is licensed under the following terms: + + libffi - Copyright (c) 1996-2003 Red Hat, Inc. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + ``Software''), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + +The documentation is licensed under the GNU Free Documentation License (v1.2). +On Debian GNU/Linux systems, the complete text of this license is in +`/usr/share/common-licenses/GFDL-1.2'. + + +GCC RUNTIME LIBRARY EXCEPTION + +Version 3.1, 31 March 2009 + +Copyright (C) 2009 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +This GCC Runtime Library Exception ("Exception") is an additional +permission under section 7 of the GNU General Public License, version +3 ("GPLv3"). It applies to a given file (the "Runtime Library") that +bears a notice placed by the copyright holder of the file stating that +the file is governed by GPLv3 along with this Exception. + +When you use GCC to compile a program, GCC may combine portions of +certain GCC header files and runtime libraries with the compiled +program. The purpose of this Exception is to allow compilation of +non-GPL (including proprietary) programs to use, in this way, the +header files and runtime libraries covered by this Exception. + +0. Definitions. + +A file is an "Independent Module" if it either requires the Runtime +Library for execution after a Compilation Process, or makes use of an +interface provided by the Runtime Library, but is not otherwise based +on the Runtime Library. + +"GCC" means a version of the GNU Compiler Collection, with or without +modifications, governed by version 3 (or a specified later version) of +the GNU General Public License (GPL) with the option of using any +subsequent versions published by the FSF. + +"GPL-compatible Software" is software whose conditions of propagation, +modification and use would permit combination with GCC in accord with +the license of GCC. + +"Target Code" refers to output from any compiler for a real or virtual +target processor architecture, in executable form or suitable for +input to an assembler, loader, linker and/or execution +phase. Notwithstanding that, Target Code does not include data in any +format that is used as a compiler intermediate representation, or used +for producing a compiler intermediate representation. + +The "Compilation Process" transforms code entirely represented in +non-intermediate languages designed for human-written code, and/or in +Java Virtual Machine byte code, into Target Code. Thus, for example, +use of source code generators and preprocessors need not be considered +part of the Compilation Process, since the Compilation Process can be +understood as starting with the output of the generators or +preprocessors. + +A Compilation Process is "Eligible" if it is done using GCC, alone or +with other GPL-compatible software, or if it is done without using any +work based on GCC. For example, using non-GPL-compatible Software to +optimize any GCC intermediate representations would not qualify as an +Eligible Compilation Process. + +1. Grant of Additional Permission. + +You have permission to propagate a work of Target Code formed by +combining the Runtime Library with Independent Modules, even if such +propagation would otherwise violate the terms of GPLv3, provided that +all Target Code was generated by Eligible Compilation Processes. You +may then convey such a combination under terms of your choice, +consistent with the licensing of the Independent Modules. + +2. No Weakening of GCC Copyleft. + +The availability of this Exception does not imply any general +presumption that third-party software is unaffected by the copyleft +requirements of the license of GCC. + + +libquadmath/*.[hc]: + + Copyright (C) 2010 Free Software Foundation, Inc. + Written by Francois-Xavier Coudert + Written by Tobias Burnus + +This file is part of the libiberty library. +Libiberty is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +Libiberty is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +libquadmath/math: + +atanq.c, expm1q.c, j0q.c, j1q.c, log1pq.c, logq.c: + Copyright 2001 by Stephen L. Moshier + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + +coshq.c, erfq.c, jnq.c, lgammaq.c, powq.c, roundq.c: + Changes for 128-bit __float128 are + Copyright (C) 2001 Stephen L. Moshier + and are incorporated herein by permission of the author. The author + reserves the right to distribute this material elsewhere under different + copying permissions. These modifications are distributed here under + the following terms: + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + +ldexpq.c: + * Conversion to long double by Ulrich Drepper, + * Cygnus Support, drepper@cygnus.com. + +cosq_kernel.c, expq.c, sincos_table.c, sincosq.c, sincosq_kernel.c, +sinq_kernel.c, truncq.c: + Copyright (C) 1997, 1999 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + +isinfq.c: + * Written by J.T. Conklin . + * Change for long double by Jakub Jelinek + * Public domain. + +llroundq.c, lroundq.c, tgammaq.c: + Copyright (C) 1997, 1999, 2002, 2004 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1997 and + Jakub Jelinek , 1999. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + +log10q.c: + Cephes Math Library Release 2.2: January, 1991 + Copyright 1984, 1991 by Stephen L. Moshier + Adapted for glibc November, 2001 + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + +remaining files: + + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + + +gcc/go/gofrontend, libgo: + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +libcilkrts, libmpx: + Copyright (C) 2009-2014, Intel Corporation + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + +D: +gdc-7 GNU D Compiler +libphobos-7-dev D standard runtime library + +The D source package is made up of the following components. + +The D front-end for GCC: + - d/* + +Copyright (C) 2004-2007 David Friedman +Modified by Vincenzo Ampolo, Michael Parrot, Iain Buclaw, (C) 2009, 2010 + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License is in `/usr/share/common-licenses/GPL', version 2 of this +license in `/usr/share/common-licenses/GPL-2'. + + +The DMD Compiler implementation of the D programming language: + - d/dmd/* + +Copyright (c) 1999-2010 by Digital Mars +All Rights Reserved +written by Walter Bright +http://www.digitalmars.com +License for redistribution is by either the Artistic License or +the GNU General Public License (v1). + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License is in `/usr/share/common-licenses/GPL', the Artistic +license in `/usr/share/common-licenses/Artistic'. + + +The Zlib data compression library: + - d/phobos/etc/c/zlib/* + + (C) 1995-2004 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +The Phobos standard runtime library: + - d/phobos/* + +Unless otherwise marked within the file, each file in the source +is under the following licenses: + +Copyright (C) 2004-2005 by Digital Mars, www.digitalmars.com +Written by Walter Bright + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, in both source and binary form, subject to the following +restrictions: + + o The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + o Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + o This notice may not be removed or altered from any source + distribution. + +By plainly marking modifications, something along the lines of adding to each +file that has been changed a "Modified by Foo Bar" line +underneath the "Written by" line would be adequate. + +The libhsail-rt library is licensed under the following terms: + + Copyright (C) 2015-2017 Free Software Foundation, Inc. + Contributed by Pekka Jaaskelainen + for General Processor Tech. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. + +libhsail-rt/rt/fp16.c is licensed under the following terms: + + Copyright (C) 2008-2017 Free Software Foundation, Inc. + Contributed by CodeSourcery. + + 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, 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. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . + +newlib-nvptx-20yymmdd/: + +Upstream Authors: +newlib@sources.redhat.com +Jeff Johnston +Tom Fitzsimmons + +The newlib subdirectory is a collection of software from several sources. +Each file may have its own copyright/license that is embedded in the source +file. + +This list documents those licenses which are more restrictive than +a BSD-like license or require the copyright notice +to be duplicated in documentation and/or other materials associated with +the distribution. Certain licenses documented here only apply to +specific targets. Certain clauses only apply if you are building the +code as part of your binary. + +Note that this list may omit certain licenses that +only pertain to the copying/modifying of the individual source code. +If you are distributing the source code, then you do not need to +worry about these omitted licenses, so long as you do not modify the +copyright information already in place. + +Parts of this work are licensed under the terms of the GNU General +Public License. On Debian systems, the complete text of this license +can be found in /usr/share/common-licenses/GPL. + +Parts of this work are licensed under the terms of the GNU Library +General Public License. On Debian systems, the complete text of this +license be found in /usr/share/common-licenses/LGPL. + +(1) University of California, Berkeley + +[1a] + +Copyright (c) 1990 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms are permitted +provided that the above copyright notice and this paragraph are +duplicated in all such forms and that any documentation, +and other materials related to such distribution and use +acknowledge that the software was developed +by the University of California, Berkeley. The name of the +University may not be used to endorse or promote products derived +from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +[1b] + +Copyright (c) 1990 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms are permitted +provided that the above copyright notice and this paragraph are +duplicated in all such forms and that any documentation, +advertising materials, and other materials related to such +distribution and use acknowledge that the software was developed +by the University of California, Berkeley. The name of the +University may not be used to endorse or promote products derived +from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +[1c] + +Copyright (c) 1981, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 +The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +[1d] + +Copyright (c) 1988, 1990, 1993 Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +[1e] + +Copyright (c) 1982, 1986, 1989, 1991, 1993, 1994 +The Regents of the University of California. All rights reserved. +(c) UNIX System Laboratories, Inc. +All or some portions of this file are derived from material licensed +to the University of California by American Telephone and Telegraph +Co. or Unix System Laboratories, Inc. and are reproduced herein with +the permission of UNIX System Laboratories, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +[1f] + +Copyright (c) 1987, 1988, 2000 Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms are permitted +provided that: (1) source distributions retain this entire copyright +notice and comment, and (2) distributions including binaries display +the following acknowledgement: ``This product includes software +developed by the University of California, Berkeley and its contributors'' +in the documentation or other materials provided with the distribution +and in all advertising materials mentioning features or use of this +software. Neither the name of the University nor the names of its +contributors may be used to endorse or promote products derived +from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +------------------------------------------------------------- + Please note that in some of the above alternate licenses, there is a + statement regarding that acknowledgement must be made in any + advertising materials for products using the code. This restriction + no longer applies due to the following license change: + + ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change + + In some cases the defunct clause has been removed in modified newlib code and + in some cases, the clause has been left as-is. +------------------------------------------------------------- + +(2) Cygwin (cygwin targets only) + +Copyright 2001 Red Hat, Inc. + +This software is a copyrighted work licensed under the terms of the +Cygwin license. Please consult the file "CYGWIN_LICENSE" for +details. + +(3) David M. Gay at AT&T + +The author of this software is David M. Gay. + +Copyright (c) 1991 by AT&T. + +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. + +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY +REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY +OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +(4) Advanced Micro Devices + +Copyright 1989, 1990 Advanced Micro Devices, Inc. + +This software is the property of Advanced Micro Devices, Inc (AMD) which +specifically grants the user the right to modify, use and distribute this +software provided this notice is not removed or altered. All other rights +are reserved by AMD. + +AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS +SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL +DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR +USE OF THIS SOFTWARE. + +So that all may benefit from your experience, please report any problems +or suggestions about this software to the 29K Technical Support Center at +800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or +0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118. + +Advanced Micro Devices, Inc. +29K Support Products +Mail Stop 573 +5900 E. Ben White Blvd. +Austin, TX 78741 +800-292-9263 + +(5) C.W. Sandmann + +Copyright (C) 1993 C.W. Sandmann + +This file may be freely distributed as long as the author's name remains. + +(6) Eric Backus + +(C) Copyright 1992 Eric Backus + +This software may be used freely so long as this copyright notice is +left intact. There is no warrantee on this software. + +(7) Sun Microsystems + +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + +(8) Hewlett Packard + +(c) Copyright 1986 HEWLETT-PACKARD COMPANY + +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: + permission to use, copy, modify, and distribute this file +for any purpose is hereby granted without fee, provided that +the above copyright notice and this notice appears in all +copies, and that the name of Hewlett-Packard Company not be +used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Hewlett-Packard Company makes no representations about the +suitability of this software for any purpose. + +(9) Hans-Peter Nilsson + +Copyright (C) 2001 Hans-Peter Nilsson + +Permission to use, copy, modify, and distribute this software is +freely granted, provided that the above copyright notice, this notice +and the following disclaimer are preserved with no changes. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. + +(10) Stephane Carrez (m68hc11-elf/m68hc12-elf targets only) + +Copyright (C) 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr) + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +(11) Christopher G. Demetriou + +Copyright (c) 2001 Christopher G. Demetriou +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(12) SuperH, Inc. + +Copyright 2002 SuperH, Inc. All rights reserved + +This software is the property of SuperH, Inc (SuperH) which specifically +grants the user the right to modify, use and distribute this software +provided this notice is not removed or altered. All other rights are +reserved by SuperH. + +SUPERH MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO +THIS SOFTWARE. IN NO EVENT SHALL SUPERH BE LIABLE FOR INDIRECT, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING FROM +THE FURNISHING, PERFORMANCE, OR USE OF THIS SOFTWARE. + +So that all may benefit from your experience, please report any problems +or suggestions about this software to the SuperH Support Center via +e-mail at softwaresupport@superh.com . + +SuperH, Inc. +405 River Oaks Parkway +San Jose +CA 95134 +USA + +(13) Royal Institute of Technology + +Copyright (c) 1999 Kungliga Tekniska Hgskolan +(Royal Institute of Technology, Stockholm, Sweden). +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of KTH nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(14) Alexey Zelkin + +Copyright (c) 2000, 2001 Alexey Zelkin +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(15) Andrey A. Chernov + +Copyright (C) 1997 by Andrey A. Chernov, Moscow, Russia. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(16) FreeBSD + +Copyright (c) 1997-2002 FreeBSD Project. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(17) S. L. Moshier + +Author: S. L. Moshier. + +Copyright (c) 1984,2000 S.L. Moshier + +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. + +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION +OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS +SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +(18) Citrus Project + +Copyright (c)1999 Citrus Project, +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(19) Todd C. Miller + +Copyright (c) 1998 Todd C. Miller +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(20) DJ Delorie (i386) + +Copyright (C) 1991 DJ Delorie +All rights reserved. + +Redistribution and use in source and binary forms is permitted +provided that the above copyright notice and following paragraph are +duplicated in all such forms. + +This file is distributed WITHOUT ANY WARRANTY; without even the implied +warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +(21) Free Software Foundation LGPL License (*-linux* targets only) + + Copyright (C) 1990-1999, 2000, 2001 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Mark Kettenis , 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301 USA + +(22) Xavier Leroy LGPL License (i[3456]86-*-linux* targets only) + +Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Library General Public License for more details. + +(23) Intel (i960) + +Copyright (c) 1993 Intel Corporation + +Intel hereby grants you permission to copy, modify, and distribute this +software and its documentation. Intel grants this permission provided +that the above copyright notice appears in all copies and that both the +copyright notice and this permission notice appear in supporting +documentation. In addition, Intel grants this permission provided that +you prominently mark as "not part of the original" any modifications +made to this software or documentation, and that the name of Intel +Corporation not be used in advertising or publicity pertaining to +distribution of the software or the documentation without specific, +written prior permission. + +Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR +IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or +representations regarding the use of, or the results of the use of, +the software and documentation in terms of correctness, accuracy, +reliability, currentness, or otherwise; and you rely on the software, +documentation and results solely at your own risk. + +IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS, +LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES +OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM +PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER. + +(24) Hewlett-Packard (hppa targets only) + +(c) Copyright 1986 HEWLETT-PACKARD COMPANY + +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: + permission to use, copy, modify, and distribute this file +for any purpose is hereby granted without fee, provided that +the above copyright notice and this notice appears in all +copies, and that the name of Hewlett-Packard Company not be +used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Hewlett-Packard Company makes no representations about the +suitability of this software for any purpose. + +(25) Henry Spencer (only *-linux targets) + +Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved. +This software is not subject to any license of the American Telephone +and Telegraph Company or of the Regents of the University of California. + +Permission is granted to anyone to use this software for any purpose on +any computer system, and to alter it and redistribute it, subject +to the following restrictions: + +1. The author is not responsible for the consequences of use of this + software, no matter how awful, even if they arise from flaws in it. + +2. The origin of this software must not be misrepresented, either by + explicit claim or by omission. Since few users ever read sources, + credits must appear in the documentation. + +3. Altered versions must be plainly marked as such, and must not be + misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation. + +4. This notice may not be removed or altered. + +(26) Mike Barcroft + +Copyright (c) 2001 Mike Barcroft +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(27) Konstantin Chuguev (--enable-newlib-iconv) + +Copyright (c) 1999, 2000 + Konstantin Chuguev. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + iconv (Charset Conversion Library) v2.0 + +(27) Artem Bityuckiy (--enable-newlib-iconv) + +Copyright (c) 2003, Artem B. Bityuckiy, SoftMine Corporation. +Rights transferred to Franklin Electronic Publishers. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(28) Red Hat Incorporated + +Unless otherwise stated in each remaining newlib file, the remaining +files in the newlib subdirectory default to the following copyright. +It should be noted that Red Hat Incorporated now owns copyrights +belonging to Cygnus Solutions and Cygnus Support. + +Copyright (c) 1994, 1997, 2001, 2002, 2003, 2004 Red Hat Incorporated. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + The name of Red Hat Incorporated may not be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --- gcc-7-7.1.0.orig/debian/copyright.in +++ gcc-7-7.1.0/debian/copyright.in @@ -0,0 +1,1404 @@ +This is the Debian GNU/Linux prepackaged version of the GNU compiler +collection, containing Ada, C, C++, Fortran 95, Objective-C, +Objective-C++, and Treelang compilers, documentation, and support +libraries. In addition, Debian provides the gdc compiler, either in +the same source package, or built from a separate same source package. +Packaging is done by the Debian GCC Maintainers +, with sources obtained from: + + ftp://gcc.gnu.org/pub/gcc/releases/ (for full releases) + svn://gcc.gnu.org/svn/gcc/ (for prereleases) + http://bitbucket.org/goshawk/gdc (for D) + https://github.com/MentorEmbedded/nvptx-newlib/ (for newlib-nvptx) + +The current gcc-@BV@ source package is taken from the SVN @SVN_BRANCH@. + +Changes: See changelog.Debian.gz + +Debian splits the GNU Compiler Collection into packages for each language, +library, and documentation as follows: + +Language Compiler package Library package Documentation +--------------------------------------------------------------------------- +Ada gnat-@BV@ libgnat-@BV@ gnat-@BV@-doc +BRIG gccbrig-@BV@ libhsail-rt0 +C gcc-@BV@ gcc-@BV@-doc +C++ g++-@BV@ libstdc++6 libstdc++6-@BV@-doc +D gdc-@BV@ +Fortran 95 gfortran-@BV@ libgfortran3 gfortran-@BV@-doc +Go gccgo-@BV@ libgo0 +Objective C gobjc-@BV@ libobjc2 +Objective C++ gobjc++-@BV@ + +For some language run-time libraries, Debian provides source files, +development files, debugging symbols and libraries containing position- +independent code in separate packages: + +Language Sources Development Debugging Position-Independent +------------------------------------------------------------------------------ +C++ libstdc++6-@BV@-dbg libstdc++6-@BV@-pic +D libphobos-@BV@-dev + +Additional packages include: + +All languages: +libgcc1, libgcc2, libgcc4 GCC intrinsics (platform-dependent) +gcc-@BV@-base Base files common to all compilers +gcc-@BV@-soft-float Software floating point (ARM only) +gcc-@BV@-source The sources with patches + +Ada: +libgnatvsn-dev, libgnatvsn@BV@ GNAT version library + +C: +cpp-@BV@, cpp-@BV@-doc GNU C Preprocessor +libssp0-dev, libssp0 GCC stack smashing protection library +libquadmath0 Math routines for the __float128 type +fixincludes Fix non-ANSI header files + +C, C++ and Fortran 95: +libgomp1-dev, libgomp1 GCC OpenMP (GOMP) support library +libitm1-dev, libitm1 GNU Transactional Memory Library + +Biarch support: On some 64-bit platforms which can also run 32-bit code, +Debian provides additional packages containing 32-bit versions of some +libraries. These packages have names beginning with 'lib32' instead of +'lib', for example lib32stdc++6. Similarly, on some 32-bit platforms which +can also run 64-bit code, Debian provides additional packages with names +beginning with 'lib64' instead of 'lib'. These packages contain 64-bit +versions of the libraries. (At this time, not all platforms and not all +libraries support biarch.) The license terms for these lib32 or lib64 +packages are identical to the ones for the lib packages. + + +COPYRIGHT STATEMENTS AND LICENSING TERMS + + +GCC is Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, +1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Files that have exception clauses are licensed under the terms of the +GNU General Public License; either version 3, or (at your option) any +later version. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License is in `/usr/share/common-licenses/GPL', version 3 of this +license in `/usr/share/common-licenses/GPL-3'. + +The following runtime libraries are licensed under the terms of the +GNU General Public License (v3 or later) with version 3.1 of the GCC +Runtime Library Exception (included in this file): + + - libgcc (libgcc/, gcc/libgcc2.[ch], gcc/unwind*, gcc/gthr*, + gcc/coretypes.h, gcc/crtstuff.c, gcc/defaults.h, gcc/dwarf2.h, + gcc/emults.c, gcc/gbl-ctors.h, gcc/gcov-io.h, gcc/libgcov.c, + gcc/tsystem.h, gcc/typeclass.h). + - libatomic + - libdecnumber + - libgomp + - libitm + - libssp + - libstdc++-v3 + - libobjc + - libgfortran + - The libgnat-@BV@ Ada support library and libgnatvsn library. + - Various config files in gcc/config/ used in runtime libraries. + - libvtv + +The libbacktrace library is licensed under the following terms: + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + (1) Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + (2) Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + (3) The name of the author may not be used to + endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +The libsanitizer libraries (libasan, liblsan, libtsan, libubsan) are +licensed under the following terms: + +Copyright (c) 2009-2014 by the LLVM contributors. + +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +The libffi library is licensed under the following terms: + + libffi - Copyright (c) 1996-2003 Red Hat, Inc. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + ``Software''), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + +The documentation is licensed under the GNU Free Documentation License (v1.2). +On Debian GNU/Linux systems, the complete text of this license is in +`/usr/share/common-licenses/GFDL-1.2'. + + +GCC RUNTIME LIBRARY EXCEPTION + +Version 3.1, 31 March 2009 + +Copyright (C) 2009 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +This GCC Runtime Library Exception ("Exception") is an additional +permission under section 7 of the GNU General Public License, version +3 ("GPLv3"). It applies to a given file (the "Runtime Library") that +bears a notice placed by the copyright holder of the file stating that +the file is governed by GPLv3 along with this Exception. + +When you use GCC to compile a program, GCC may combine portions of +certain GCC header files and runtime libraries with the compiled +program. The purpose of this Exception is to allow compilation of +non-GPL (including proprietary) programs to use, in this way, the +header files and runtime libraries covered by this Exception. + +0. Definitions. + +A file is an "Independent Module" if it either requires the Runtime +Library for execution after a Compilation Process, or makes use of an +interface provided by the Runtime Library, but is not otherwise based +on the Runtime Library. + +"GCC" means a version of the GNU Compiler Collection, with or without +modifications, governed by version 3 (or a specified later version) of +the GNU General Public License (GPL) with the option of using any +subsequent versions published by the FSF. + +"GPL-compatible Software" is software whose conditions of propagation, +modification and use would permit combination with GCC in accord with +the license of GCC. + +"Target Code" refers to output from any compiler for a real or virtual +target processor architecture, in executable form or suitable for +input to an assembler, loader, linker and/or execution +phase. Notwithstanding that, Target Code does not include data in any +format that is used as a compiler intermediate representation, or used +for producing a compiler intermediate representation. + +The "Compilation Process" transforms code entirely represented in +non-intermediate languages designed for human-written code, and/or in +Java Virtual Machine byte code, into Target Code. Thus, for example, +use of source code generators and preprocessors need not be considered +part of the Compilation Process, since the Compilation Process can be +understood as starting with the output of the generators or +preprocessors. + +A Compilation Process is "Eligible" if it is done using GCC, alone or +with other GPL-compatible software, or if it is done without using any +work based on GCC. For example, using non-GPL-compatible Software to +optimize any GCC intermediate representations would not qualify as an +Eligible Compilation Process. + +1. Grant of Additional Permission. + +You have permission to propagate a work of Target Code formed by +combining the Runtime Library with Independent Modules, even if such +propagation would otherwise violate the terms of GPLv3, provided that +all Target Code was generated by Eligible Compilation Processes. You +may then convey such a combination under terms of your choice, +consistent with the licensing of the Independent Modules. + +2. No Weakening of GCC Copyleft. + +The availability of this Exception does not imply any general +presumption that third-party software is unaffected by the copyleft +requirements of the license of GCC. + + +libquadmath/*.[hc]: + + Copyright (C) 2010 Free Software Foundation, Inc. + Written by Francois-Xavier Coudert + Written by Tobias Burnus + +This file is part of the libiberty library. +Libiberty is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +Libiberty is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +libquadmath/math: + +atanq.c, expm1q.c, j0q.c, j1q.c, log1pq.c, logq.c: + Copyright 2001 by Stephen L. Moshier + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + +coshq.c, erfq.c, jnq.c, lgammaq.c, powq.c, roundq.c: + Changes for 128-bit __float128 are + Copyright (C) 2001 Stephen L. Moshier + and are incorporated herein by permission of the author. The author + reserves the right to distribute this material elsewhere under different + copying permissions. These modifications are distributed here under + the following terms: + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + +ldexpq.c: + * Conversion to long double by Ulrich Drepper, + * Cygnus Support, drepper@cygnus.com. + +cosq_kernel.c, expq.c, sincos_table.c, sincosq.c, sincosq_kernel.c, +sinq_kernel.c, truncq.c: + Copyright (C) 1997, 1999 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + +isinfq.c: + * Written by J.T. Conklin . + * Change for long double by Jakub Jelinek + * Public domain. + +llroundq.c, lroundq.c, tgammaq.c: + Copyright (C) 1997, 1999, 2002, 2004 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1997 and + Jakub Jelinek , 1999. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + +log10q.c: + Cephes Math Library Release 2.2: January, 1991 + Copyright 1984, 1991 by Stephen L. Moshier + Adapted for glibc November, 2001 + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + +remaining files: + + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + + +gcc/go/gofrontend, libgo: + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +libcilkrts, libmpx: + Copyright (C) 2009-2014, Intel Corporation + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + +D: +gdc-@BV@ GNU D Compiler +libphobos-@BV@-dev D standard runtime library + +The D source package is made up of the following components. + +The D front-end for GCC: + - d/* + +Copyright (C) 2004-2007 David Friedman +Modified by Vincenzo Ampolo, Michael Parrot, Iain Buclaw, (C) 2009, 2010 + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License is in `/usr/share/common-licenses/GPL', version 2 of this +license in `/usr/share/common-licenses/GPL-2'. + + +The DMD Compiler implementation of the D programming language: + - d/dmd/* + +Copyright (c) 1999-2010 by Digital Mars +All Rights Reserved +written by Walter Bright +http://www.digitalmars.com +License for redistribution is by either the Artistic License or +the GNU General Public License (v1). + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License is in `/usr/share/common-licenses/GPL', the Artistic +license in `/usr/share/common-licenses/Artistic'. + + +The Zlib data compression library: + - d/phobos/etc/c/zlib/* + + (C) 1995-2004 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +The Phobos standard runtime library: + - d/phobos/* + +Unless otherwise marked within the file, each file in the source +is under the following licenses: + +Copyright (C) 2004-2005 by Digital Mars, www.digitalmars.com +Written by Walter Bright + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, in both source and binary form, subject to the following +restrictions: + + o The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + o Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + o This notice may not be removed or altered from any source + distribution. + +By plainly marking modifications, something along the lines of adding to each +file that has been changed a "Modified by Foo Bar" line +underneath the "Written by" line would be adequate. + +The libhsail-rt library is licensed under the following terms: + + Copyright (C) 2015-2017 Free Software Foundation, Inc. + Contributed by Pekka Jaaskelainen + for General Processor Tech. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. + +libhsail-rt/rt/fp16.c is licensed under the following terms: + + Copyright (C) 2008-2017 Free Software Foundation, Inc. + Contributed by CodeSourcery. + + 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, 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. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . + +newlib-nvptx-20yymmdd/: + +Upstream Authors: +newlib@sources.redhat.com +Jeff Johnston +Tom Fitzsimmons + +The newlib subdirectory is a collection of software from several sources. +Each file may have its own copyright/license that is embedded in the source +file. + +This list documents those licenses which are more restrictive than +a BSD-like license or require the copyright notice +to be duplicated in documentation and/or other materials associated with +the distribution. Certain licenses documented here only apply to +specific targets. Certain clauses only apply if you are building the +code as part of your binary. + +Note that this list may omit certain licenses that +only pertain to the copying/modifying of the individual source code. +If you are distributing the source code, then you do not need to +worry about these omitted licenses, so long as you do not modify the +copyright information already in place. + +Parts of this work are licensed under the terms of the GNU General +Public License. On Debian systems, the complete text of this license +can be found in /usr/share/common-licenses/GPL. + +Parts of this work are licensed under the terms of the GNU Library +General Public License. On Debian systems, the complete text of this +license be found in /usr/share/common-licenses/LGPL. + +(1) University of California, Berkeley + +[1a] + +Copyright (c) 1990 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms are permitted +provided that the above copyright notice and this paragraph are +duplicated in all such forms and that any documentation, +and other materials related to such distribution and use +acknowledge that the software was developed +by the University of California, Berkeley. The name of the +University may not be used to endorse or promote products derived +from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +[1b] + +Copyright (c) 1990 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms are permitted +provided that the above copyright notice and this paragraph are +duplicated in all such forms and that any documentation, +advertising materials, and other materials related to such +distribution and use acknowledge that the software was developed +by the University of California, Berkeley. The name of the +University may not be used to endorse or promote products derived +from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +[1c] + +Copyright (c) 1981, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 +The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +[1d] + +Copyright (c) 1988, 1990, 1993 Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +[1e] + +Copyright (c) 1982, 1986, 1989, 1991, 1993, 1994 +The Regents of the University of California. All rights reserved. +(c) UNIX System Laboratories, Inc. +All or some portions of this file are derived from material licensed +to the University of California by American Telephone and Telegraph +Co. or Unix System Laboratories, Inc. and are reproduced herein with +the permission of UNIX System Laboratories, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +[1f] + +Copyright (c) 1987, 1988, 2000 Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms are permitted +provided that: (1) source distributions retain this entire copyright +notice and comment, and (2) distributions including binaries display +the following acknowledgement: ``This product includes software +developed by the University of California, Berkeley and its contributors'' +in the documentation or other materials provided with the distribution +and in all advertising materials mentioning features or use of this +software. Neither the name of the University nor the names of its +contributors may be used to endorse or promote products derived +from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +------------------------------------------------------------- + Please note that in some of the above alternate licenses, there is a + statement regarding that acknowledgement must be made in any + advertising materials for products using the code. This restriction + no longer applies due to the following license change: + + ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change + + In some cases the defunct clause has been removed in modified newlib code and + in some cases, the clause has been left as-is. +------------------------------------------------------------- + +(2) Cygwin (cygwin targets only) + +Copyright 2001 Red Hat, Inc. + +This software is a copyrighted work licensed under the terms of the +Cygwin license. Please consult the file "CYGWIN_LICENSE" for +details. + +(3) David M. Gay at AT&T + +The author of this software is David M. Gay. + +Copyright (c) 1991 by AT&T. + +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. + +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY +REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY +OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +(4) Advanced Micro Devices + +Copyright 1989, 1990 Advanced Micro Devices, Inc. + +This software is the property of Advanced Micro Devices, Inc (AMD) which +specifically grants the user the right to modify, use and distribute this +software provided this notice is not removed or altered. All other rights +are reserved by AMD. + +AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS +SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL +DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR +USE OF THIS SOFTWARE. + +So that all may benefit from your experience, please report any problems +or suggestions about this software to the 29K Technical Support Center at +800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or +0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118. + +Advanced Micro Devices, Inc. +29K Support Products +Mail Stop 573 +5900 E. Ben White Blvd. +Austin, TX 78741 +800-292-9263 + +(5) C.W. Sandmann + +Copyright (C) 1993 C.W. Sandmann + +This file may be freely distributed as long as the author's name remains. + +(6) Eric Backus + +(C) Copyright 1992 Eric Backus + +This software may be used freely so long as this copyright notice is +left intact. There is no warrantee on this software. + +(7) Sun Microsystems + +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + +(8) Hewlett Packard + +(c) Copyright 1986 HEWLETT-PACKARD COMPANY + +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: + permission to use, copy, modify, and distribute this file +for any purpose is hereby granted without fee, provided that +the above copyright notice and this notice appears in all +copies, and that the name of Hewlett-Packard Company not be +used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Hewlett-Packard Company makes no representations about the +suitability of this software for any purpose. + +(9) Hans-Peter Nilsson + +Copyright (C) 2001 Hans-Peter Nilsson + +Permission to use, copy, modify, and distribute this software is +freely granted, provided that the above copyright notice, this notice +and the following disclaimer are preserved with no changes. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. + +(10) Stephane Carrez (m68hc11-elf/m68hc12-elf targets only) + +Copyright (C) 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr) + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +(11) Christopher G. Demetriou + +Copyright (c) 2001 Christopher G. Demetriou +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(12) SuperH, Inc. + +Copyright 2002 SuperH, Inc. All rights reserved + +This software is the property of SuperH, Inc (SuperH) which specifically +grants the user the right to modify, use and distribute this software +provided this notice is not removed or altered. All other rights are +reserved by SuperH. + +SUPERH MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO +THIS SOFTWARE. IN NO EVENT SHALL SUPERH BE LIABLE FOR INDIRECT, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING FROM +THE FURNISHING, PERFORMANCE, OR USE OF THIS SOFTWARE. + +So that all may benefit from your experience, please report any problems +or suggestions about this software to the SuperH Support Center via +e-mail at softwaresupport@superh.com . + +SuperH, Inc. +405 River Oaks Parkway +San Jose +CA 95134 +USA + +(13) Royal Institute of Technology + +Copyright (c) 1999 Kungliga Tekniska Hgskolan +(Royal Institute of Technology, Stockholm, Sweden). +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of KTH nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(14) Alexey Zelkin + +Copyright (c) 2000, 2001 Alexey Zelkin +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(15) Andrey A. Chernov + +Copyright (C) 1997 by Andrey A. Chernov, Moscow, Russia. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(16) FreeBSD + +Copyright (c) 1997-2002 FreeBSD Project. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(17) S. L. Moshier + +Author: S. L. Moshier. + +Copyright (c) 1984,2000 S.L. Moshier + +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. + +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION +OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS +SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +(18) Citrus Project + +Copyright (c)1999 Citrus Project, +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(19) Todd C. Miller + +Copyright (c) 1998 Todd C. Miller +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(20) DJ Delorie (i386) + +Copyright (C) 1991 DJ Delorie +All rights reserved. + +Redistribution and use in source and binary forms is permitted +provided that the above copyright notice and following paragraph are +duplicated in all such forms. + +This file is distributed WITHOUT ANY WARRANTY; without even the implied +warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +(21) Free Software Foundation LGPL License (*-linux* targets only) + + Copyright (C) 1990-1999, 2000, 2001 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Mark Kettenis , 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301 USA + +(22) Xavier Leroy LGPL License (i[3456]86-*-linux* targets only) + +Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Library General Public License for more details. + +(23) Intel (i960) + +Copyright (c) 1993 Intel Corporation + +Intel hereby grants you permission to copy, modify, and distribute this +software and its documentation. Intel grants this permission provided +that the above copyright notice appears in all copies and that both the +copyright notice and this permission notice appear in supporting +documentation. In addition, Intel grants this permission provided that +you prominently mark as "not part of the original" any modifications +made to this software or documentation, and that the name of Intel +Corporation not be used in advertising or publicity pertaining to +distribution of the software or the documentation without specific, +written prior permission. + +Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR +IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or +representations regarding the use of, or the results of the use of, +the software and documentation in terms of correctness, accuracy, +reliability, currentness, or otherwise; and you rely on the software, +documentation and results solely at your own risk. + +IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS, +LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES +OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM +PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER. + +(24) Hewlett-Packard (hppa targets only) + +(c) Copyright 1986 HEWLETT-PACKARD COMPANY + +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: + permission to use, copy, modify, and distribute this file +for any purpose is hereby granted without fee, provided that +the above copyright notice and this notice appears in all +copies, and that the name of Hewlett-Packard Company not be +used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Hewlett-Packard Company makes no representations about the +suitability of this software for any purpose. + +(25) Henry Spencer (only *-linux targets) + +Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved. +This software is not subject to any license of the American Telephone +and Telegraph Company or of the Regents of the University of California. + +Permission is granted to anyone to use this software for any purpose on +any computer system, and to alter it and redistribute it, subject +to the following restrictions: + +1. The author is not responsible for the consequences of use of this + software, no matter how awful, even if they arise from flaws in it. + +2. The origin of this software must not be misrepresented, either by + explicit claim or by omission. Since few users ever read sources, + credits must appear in the documentation. + +3. Altered versions must be plainly marked as such, and must not be + misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation. + +4. This notice may not be removed or altered. + +(26) Mike Barcroft + +Copyright (c) 2001 Mike Barcroft +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(27) Konstantin Chuguev (--enable-newlib-iconv) + +Copyright (c) 1999, 2000 + Konstantin Chuguev. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + iconv (Charset Conversion Library) v2.0 + +(27) Artem Bityuckiy (--enable-newlib-iconv) + +Copyright (c) 2003, Artem B. Bityuckiy, SoftMine Corporation. +Rights transferred to Franklin Electronic Publishers. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(28) Red Hat Incorporated + +Unless otherwise stated in each remaining newlib file, the remaining +files in the newlib subdirectory default to the following copyright. +It should be noted that Red Hat Incorporated now owns copyrights +belonging to Cygnus Solutions and Cygnus Support. + +Copyright (c) 1994, 1997, 2001, 2002, 2003, 2004 Red Hat Incorporated. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + The name of Red Hat Incorporated may not be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --- gcc-7-7.1.0.orig/debian/cpp-BV-CRB.preinst.in +++ gcc-7-7.1.0/debian/cpp-BV-CRB.preinst.in @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then + update-alternatives --quiet --remove @TARGET@-cpp /usr/bin/@TARGET@-cpp-@BV@ +fi + +#DEBHELPER# + +exit 0 --- gcc-7-7.1.0.orig/debian/cpp-BV-doc.doc-base.cpp +++ gcc-7-7.1.0/debian/cpp-BV-doc.doc-base.cpp @@ -0,0 +1,16 @@ +Document: cpp-@BV@ +Title: The GNU C preprocessor +Author: Various +Abstract: The C preprocessor is a "macro processor" that is used automatically + by the C compiler to transform your program before actual compilation. + It is called a macro processor because it allows you to define "macros", + which are brief abbreviations for longer constructs. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/cpp.html +Files: /usr/share/doc/gcc-@BV@-base/cpp.html + +Format: info +Index: /usr/share/info/cpp-@BV@.info.gz +Files: /usr/share/info/cpp-@BV@* --- gcc-7-7.1.0.orig/debian/cpp-BV-doc.doc-base.cppint +++ gcc-7-7.1.0/debian/cpp-BV-doc.doc-base.cppint @@ -0,0 +1,17 @@ +Document: cppinternals-@BV@ +Title: The GNU C preprocessor (internals) +Author: Various +Abstract: This brief manual documents the internals of cpplib, and + explains some of the tricky issues. It is intended that, along with + the comments in the source code, a reasonably competent C programmer + should be able to figure out what the code is doing, and why things + have been implemented the way they have. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/cppinternals.html +Files: /usr/share/doc/gcc-@BV@-base/cppinternals.html + +Format: info +Index: /usr/share/info/cppinternals-@BV@.info.gz +Files: /usr/share/info/cppinternals-@BV@* --- gcc-7-7.1.0.orig/debian/dh_doclink +++ gcc-7-7.1.0/debian/dh_doclink @@ -0,0 +1,12 @@ +#! /bin/sh + +pkg=`echo $1 | sed 's/^-p//'` +target=$2 + +[ -d debian/$pkg/usr/share/doc ] || mkdir -p debian/$pkg/usr/share/doc +if [ -d debian/$pkg/usr/share/doc/$p -a ! -h debian/$pkg/usr/share/doc/$p ] +then + echo "WARNING: removing doc directory $pkg" + rm -rf debian/$pkg/usr/share/doc/$pkg +fi +ln -sf $target debian/$pkg/usr/share/doc/$pkg --- gcc-7-7.1.0.orig/debian/dh_rmemptydirs +++ gcc-7-7.1.0/debian/dh_rmemptydirs @@ -0,0 +1,10 @@ +#! /bin/sh -e + +pkg=`echo $1 | sed 's/^-p//'` + +: # remove empty directories, when all components are in place +for d in `find debian/$pkg -depth -type d -empty 2> /dev/null`; do \ + while rmdir $d 2> /dev/null; do d=`dirname $d`; done; \ +done + +exit 0 --- gcc-7-7.1.0.orig/debian/dummy-man.1 +++ gcc-7-7.1.0/debian/dummy-man.1 @@ -0,0 +1,29 @@ +.TH @NAME@ 1 "May 24, 2003" @name@ "Debian Free Documentation" +.SH NAME +@name@ \- A program with a man page covered by the GFDL with invariant sections +.SH SYNOPSIS +@name@ [\fB\s-1OPTION\s0\fR] ... [\fI\s-1ARGS\s0\fR...] + +.SH DESCRIPTION + +\fB@name@\fR is documented by a man page, which is covered by the "GNU +Free Documentation License" (GFDL) containing invariant sections. +.P +In November 2002, version 1.2 of the GNU Free Documentation License (GNU +FDL) was released by the Free Software Foundation after a long period +of consultation. Unfortunately, some concerns raised by members of the +Debian Project were not addressed, and as such the GNU FDL can apply +to works that do not pass the Debian Free Software Guidelines (DFSG), +and may thus only be included in the non-free component of the Debian +archive, not the Debian distribution itself. + +.SH "SEE ALSO" +.BR http://gcc.gnu.org/onlinedocs/ +for the complete documentation, +.BR http://lists.debian.org/debian-legal/2003/debian-legal-200304/msg00307.html +for a proposed statement of Debian with respect to the GFDL, +.BR gfdl(7) + +.SH AUTHOR +This manual page was written by the Debian GCC maintainers, +for the Debian GNU/Linux system. --- gcc-7-7.1.0.orig/debian/dummy.texi +++ gcc-7-7.1.0/debian/dummy.texi @@ -0,0 +1 @@ +@c This file is empty because the original one has a non DFSG free license (GFDL) --- gcc-7-7.1.0.orig/debian/fixincludes.in +++ gcc-7-7.1.0/debian/fixincludes.in @@ -0,0 +1,8 @@ +#! /bin/sh + +PATH="/@LIBEXECDIR@/install-tools:$PATH" + +TARGET_MACHINE=`dpkg-architecture -qDEB_HOST_GNU_TYPE` +export TARGET_MACHINE + +exec fixinc.sh "$@" --- gcc-7-7.1.0.orig/debian/g++-BV-CRB.preinst.in +++ gcc-7-7.1.0/debian/g++-BV-CRB.preinst.in @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then + update-alternatives --quiet --remove @TARGET@-g++ /usr/bin/@TARGET@-g++-@BV@ +fi + +#DEBHELPER# + +exit 0 --- gcc-7-7.1.0.orig/debian/gcc-BV-CRB.preinst.in +++ gcc-7-7.1.0/debian/gcc-BV-CRB.preinst.in @@ -0,0 +1,12 @@ +#!/bin/sh + +set -e + +if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then + update-alternatives --quiet --remove @TARGET@-gcc /usr/bin/@TARGET@-gcc-@BV@ + update-alternatives --quiet --remove @TARGET@-gcov /usr/bin/@TARGET@-gcov-@BV@ +fi + +#DEBHELPER# + +exit 0 --- gcc-7-7.1.0.orig/debian/gcc-BV-doc.doc-base.gcc +++ gcc-7-7.1.0/debian/gcc-BV-doc.doc-base.gcc @@ -0,0 +1,14 @@ +Document: gcc-@BV@ +Title: The GNU C and C++ compiler +Author: Various +Abstract: This manual documents how to run, install and port the GNU compiler, + as well as its new features and incompatibilities, and how to report bugs. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/gcc.html +Files: /usr/share/doc/gcc-@BV@-base/gcc.html + +Format: info +Index: /usr/share/info/gcc-@BV@.info.gz +Files: /usr/share/info/gcc-@BV@* --- gcc-7-7.1.0.orig/debian/gcc-BV-doc.doc-base.gccint +++ gcc-7-7.1.0/debian/gcc-BV-doc.doc-base.gccint @@ -0,0 +1,17 @@ +Document: gccint-@BV@ +Title: Internals of the GNU C and C++ compiler +Author: Various +Abstract: This manual documents the internals of the GNU compilers, + including how to port them to new targets and some information about + how to write front ends for new languages. It corresponds to GCC + version @BV@.x. The use of the GNU compilers is documented in a + separate manual. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/gccint.html +Files: /usr/share/doc/gcc-@BV@-base/gccint.html + +Format: info +Index: /usr/share/info/gccint-@BV@.info.gz +Files: /usr/share/info/gccint-@BV@* --- gcc-7-7.1.0.orig/debian/gcc-BV-doc.doc-base.gomp +++ gcc-7-7.1.0/debian/gcc-BV-doc.doc-base.gomp @@ -0,0 +1,15 @@ +Document: gcc-@BV@-gomp +Title: The GNU OpenMP Implementation (for GCC @BV@) +Author: Various +Abstract: This manual documents the usage of libgomp, the GNU implementation + of the OpenMP Application Programming Interface (API) for multi-platform + shared-memory parallel programming in C/C++ and Fortran. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/libgomp.html +Files: /usr/share/doc/gcc-@BV@-base/libgomp.html + +Format: info +Index: /usr/share/info/libgomp-@BV@.info.gz +Files: /usr/share/info/libgomp-@BV@* --- gcc-7-7.1.0.orig/debian/gcc-BV-doc.doc-base.itm +++ gcc-7-7.1.0/debian/gcc-BV-doc.doc-base.itm @@ -0,0 +1,16 @@ +Document: gcc-@BV@-itm +Title: The GNU Transactional Memory Library (for GCC @BV@) +Author: Various +Abstract: This manual documents the usage and internals of libitm, + the GNU Transactional Memory Library. It provides transaction support + for accesses to a process' memory, enabling easy-to-use synchronization + of accesses to shared memory by several threads. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/libitm.html +Files: /usr/share/doc/gcc-@BV@-base/libitm.html + +Format: info +Index: /usr/share/info/libitm-@BV@.info.gz +Files: /usr/share/info/libitm-@BV@* --- gcc-7-7.1.0.orig/debian/gcc-BV-doc.doc-base.qmath +++ gcc-7-7.1.0/debian/gcc-BV-doc.doc-base.qmath @@ -0,0 +1,14 @@ +Document: gcc-@BV@-qmath +Title: The GCC Quad-Precision Math Library (for GCC @BV@) +Author: Various +Abstract: This manual documents the usage of libquadmath, the GCC + Quad-Precision Math Library Application Programming Interface (API). +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/libquadmath.html +Files: /usr/share/doc/gcc-@BV@-base/libquadmath.html + +Format: info +Index: /usr/share/info/libquadmath-@BV@.info.gz +Files: /usr/share/info/libquadmath-@BV@* --- gcc-7-7.1.0.orig/debian/gcc-BV-hppa64-linux-gnu.overrides +++ gcc-7-7.1.0/debian/gcc-BV-hppa64-linux-gnu.overrides @@ -0,0 +1,2 @@ +gcc-@BV@-hppa64-linux-gnu binary: binary-from-other-architecture +gcc-@BV@-hppa64-linux-gnu binary: binary-without-manpage --- gcc-7-7.1.0.orig/debian/gcc-BV-multilib.overrides +++ gcc-7-7.1.0/debian/gcc-BV-multilib.overrides @@ -0,0 +1 @@ +gcc-@BV@-multilib binary: binary-from-other-architecture --- gcc-7-7.1.0.orig/debian/gcc-BV-source.overrides +++ gcc-7-7.1.0/debian/gcc-BV-source.overrides @@ -0,0 +1,5 @@ +gcc-@BV@-source: changelog-file-not-compressed + +# these are patches taken over unmodified from 4.3 +gcc-@BV@-source: script-not-executable +gcc-@BV@-source: shell-script-fails-syntax-check --- gcc-7-7.1.0.orig/debian/gcc-XX-BV.1 +++ gcc-7-7.1.0/debian/gcc-XX-BV.1 @@ -0,0 +1,17 @@ +.TH GCC-@TOOL@-@BV@ 1 "May 8, 2012" gcc-@TOOL@-@BV@ "" +.SH NAME +gcc-@TOOL@ \- a wrapper around @TOOL@ adding the --plugin option + +.SH SYNOPSIS +gcc-@TOOL@ [\fB\s-1OPTION\s0\fR] ... [\fI\s-1ARGS\s0\fR...] + +.SH DESCRIPTION + +\fBgcc-@TOOL@\fR is a wrapper around @TOOL@(1) adding the appropriate +\fB\-\-plugin\fR option for the GCC @BV@ compiler. + +.SH OPTIONS +See @TOOL@(1) for a list of options that @TOOL@ understands. + +.SH "SEE ALSO" +.BR @TOOL@(1) --- gcc-7-7.1.0.orig/debian/gcc-dummy.texi +++ gcc-7-7.1.0/debian/gcc-dummy.texi @@ -0,0 +1,41 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header + +@settitle The GNU Compiler Collection (GCC) + +@c Create a separate index for command line options. +@defcodeindex op +@c Merge the standard indexes into a single one. +@syncodeindex fn cp +@syncodeindex vr cp +@syncodeindex ky cp +@syncodeindex pg cp +@syncodeindex tp cp + +@paragraphindent 1 + +@c %**end of header + +@copying +The current documentation is licensed under the same terms as the Debian packaging. +@end copying +@ifnottex +@dircategory Programming +@direntry +* @name@: (@name@). The GNU Compiler Collection (@name@). +@end direntry +@sp 1 +@end ifnottex + +@summarycontents +@contents +@page + +@node Top +@top Introduction +@cindex introduction +The official GNU compilers' documentation is released under the terms +of the GNU Free Documentation License with cover texts. This has been +considered non free by the Debian Project. Thus you will find it in the +non-free section of the Debian archive. +@bye --- gcc-7-7.1.0.orig/debian/gcc-snapshot.overrides +++ gcc-7-7.1.0/debian/gcc-snapshot.overrides @@ -0,0 +1,10 @@ +gcc-snapshot binary: bad-permissions-for-ali-file + +# keep patched ltdl copy +gcc-snapshot binary: embedded-library + +gcc-snapshot binary: binary-from-other-architecture +gcc-snapshot binary: extra-license-file +gcc-snapshot binary: jar-not-in-usr-share +gcc-snapshot binary: triplet-dir-and-architecture-mismatch +gcc-snapshot binary: unstripped-binary-or-object --- gcc-7-7.1.0.orig/debian/gcc-snapshot.prerm +++ gcc-7-7.1.0/debian/gcc-snapshot.prerm @@ -0,0 +1,5 @@ +#! /bin/sh -e + +rm -f /usr/lib/gcc-snapshot/share/python/*.py[co] + +#DEBHELPER# --- gcc-7-7.1.0.orig/debian/gccgo-BV-doc.doc-base +++ gcc-7-7.1.0/debian/gccgo-BV-doc.doc-base @@ -0,0 +1,17 @@ +Document: gccgo-@BV@ +Title: The GNU Go compiler (version @BV@) +Author: Various +Abstract: This manual describes how to use gccgo, the GNU compiler for + the Go programming language. This manual is specifically about + gccgo. For more information about the Go programming + language in general, including language specifications and standard + package documentation, see http://golang.org/. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/gccgo.html +Files: /usr/share/doc/gcc-@BV@-base/gccgo.html + +Format: info +Index: /usr/share/info/gccgo-@BV@.info.gz +Files: /usr/share/info/gccgo-@BV@* --- gcc-7-7.1.0.orig/debian/gen-libstdc-breaks.sh +++ gcc-7-7.1.0/debian/gen-libstdc-breaks.sh @@ -0,0 +1,178 @@ +#! /bin/sh + +# https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=gcc-pr66145;users=debian-gcc@lists.debian.org + +vendor=Debian +if dpkg-vendor --derives-from Ubuntu; then + vendor=Ubuntu +fi + +if [ "$vendor" = Debian ]; then + : + pkgs=$(echo ' +antlr +libaqsis1 +libassimp3 +blockattack +boo +libboost-date-time1.54.0 +libboost-date-time1.55.0 +libcpprest2.4 +printer-driver-brlaser +c++-annotations +clustalx +libdavix0 +libdballe6 +dff +libdiet-sed2.8 +libdiet-client2.8 +libdiet-admin2.8 +digikam-private-libs +emscripten +ergo +fceux +flush +libfreefem++ +freeorion +fslview +fwbuilder +libgazebo5 +libgetfem4++ +libgmsh2 +gnote +gnudatalanguage +python-healpy +innoextract +libinsighttoolkit4.7 +libdap17 +libdapclient6 +libdapserver7 +libkolabxml1 +libpqxx-4.0 +libreoffice-core +librime1 +libwibble-dev +lightspark +libmarisa0 +mira-assembler +mongodb +mongodb-server +ncbi-blast+ +libogre-1.8.0 +libogre-1.9.0 +openscad +libopenwalnut1 +passepartout +pdf2djvu +photoprint +plastimatch +plee-the-bear +povray +powertop +psi4 +python3-taglib +realtimebattle +ruby-passenger +libapache2-mod-passenger +schroot +sqlitebrowser +tecnoballz +wesnoth-1.12-core +widelands +libwreport2 +xflr5 +libxmltooling6') +else + pkgs=$(echo ' +antlr +libaqsis1 +libassimp3 +blockattack +boo +libboost-date-time1.55.0 +libcpprest2.2 +printer-driver-brlaser +c++-annotations +chromium-browser +clustalx +libdavix0 +libdballe6 +dff +libdiet-sed2.8 +libdiet-client2.8 +libdiet-admin2.8 +libkgeomap2 +libmediawiki1 +libkvkontakte1 +emscripten +ergo +fceux +flush +libfreefem++ +freeorion +fslview +fwbuilder +libgazebo5 +libgetfem4++ +libgmsh2 +gnote +gnudatalanguage +python-healpy +innoextract +libinsighttoolkit4.6 +libdap17 +libdapclient6 +libdapserver7 +libkolabxml1 +libpqxx-4.0 +libreoffice-core +librime1 +libwibble-dev +lightspark +libmarisa0 +mira-assembler +mongodb +mongodb-server +ncbi-blast+ +libogre-1.8.0 +libogre-1.9.0 +openscad +libopenwalnut1 +passepartout +pdf2djvu +photoprint +plastimatch +plee-the-bear +povray +powertop +psi4 +python3-taglib +realtimebattle +ruby-passenger +libapache2-mod-passenger +sqlitebrowser +tecnoballz +wesnoth-1.12-core +widelands +libwreport2 +xflr5 +libxmltooling6') +fi + +fn=debian/libstdc++-breaks.$vendor +rm -f $fn +echo $pkgs +for p in $pkgs; do + #echo $p + if ! apt-cache show --no-all-versions $p >/dev/null; then + echo "not found: $p" + fi + v=$(apt-cache show --no-all-versions $p | awk '/^Version/ {print $2}') + case "$p" in + libboost-date-time*) + echo "$p," >> $fn + ;; + *) + echo "$p (<= $v)," >> $fn + esac +done --- gcc-7-7.1.0.orig/debian/gfortran-BV-CRB.preinst.in +++ gcc-7-7.1.0/debian/gfortran-BV-CRB.preinst.in @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then + update-alternatives --quiet --remove @TARGET@-gfortran /usr/bin/@TARGET@-gfortran-@BV@ +fi + +#DEBHELPER# + +exit 0 --- gcc-7-7.1.0.orig/debian/gfortran-BV-doc.doc-base +++ gcc-7-7.1.0/debian/gfortran-BV-doc.doc-base @@ -0,0 +1,14 @@ +Document: gfortran-@BV@ +Title: The GNU Fortran Compiler +Author: Various +Abstract: This manual documents how to run, install and port `gfortran', + as well as its new features and incompatibilities, and how to report bugs. +Section: Programming/Fortran + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/fortran/gfortran.html +Files: /usr/share/doc/gcc-@BV@-base/fortran/gfortran.html + +Format: info +Index: /usr/share/info/gfortran-@BV@.info.gz +Files: /usr/share/info/gfortran-@BV@* --- gcc-7-7.1.0.orig/debian/gnat-BV-doc.doc-base.rm +++ gcc-7-7.1.0/debian/gnat-BV-doc.doc-base.rm @@ -0,0 +1,16 @@ +Document: gnat-rm-@BV@ +Title: GNAT (GNU Ada) Reference Manual +Author: Various +Abstract: This manual contains useful information in writing programs + using the GNAT compiler. It includes information on implementation + dependent characteristics of GNAT, including all the information + required by Annex M of the standard. +Section: Programming/Ada + +Format: html +Index: /usr/share/doc/gnat-@BV@-doc/gnat_rm.html +Files: /usr/share/doc/gnat-@BV@-doc/gnat_rm.html + +Format: info +Index: /usr/share/info/gnat_rm-@BV@.info.gz +Files: /usr/share/info/gnat_rm-@BV@* --- gcc-7-7.1.0.orig/debian/gnat-BV-doc.doc-base.style +++ gcc-7-7.1.0/debian/gnat-BV-doc.doc-base.style @@ -0,0 +1,16 @@ +Document: gnat-style-@BV@ +Title: GNAT Coding Style +Author: Various +Abstract: Most of GNAT is written in Ada using a consistent style to + ensure readability of the code. This document has been written to + help maintain this consistent style, while having a large group of + developers work on the compiler. +Section: Programming/Ada + +Format: html +Index: /usr/share/doc/gnat-@BV@-doc/gnat-style.html +Files: /usr/share/doc/gnat-@BV@-doc/gnat-style.html + +Format: info +Index: /usr/share/info/gnat-style-@BV@.info.gz +Files: /usr/share/info/gnat-style-@BV@* --- gcc-7-7.1.0.orig/debian/gnat-BV-doc.doc-base.ug +++ gcc-7-7.1.0/debian/gnat-BV-doc.doc-base.ug @@ -0,0 +1,16 @@ +Document: gnat-ugn-@BV@ +Title: GNAT User's Guide for Unix Platforms +Author: Various +Abstract: This guide describes the use of GNAT, a compiler and + software development toolset for the full Ada 95 programming language. + It describes the features of the compiler and tools, and details how + to use them to build Ada 95 applications. +Section: Programming/Ada + +Format: html +Index: /usr/share/doc/gnat-@BV@-doc/gnat_ugn.html +Files: /usr/share/doc/gnat-@BV@-doc/gnat_ugn.html + +Format: info +Index: /usr/share/info/gnat_ugn-@BV@.info.gz +Files: /usr/share/info/gnat_ugn-@BV@* --- gcc-7-7.1.0.orig/debian/gnat.1 +++ gcc-7-7.1.0/debian/gnat.1 @@ -0,0 +1,43 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 1996 Erick Branderhorst +.\" Copyright (C) 2011 Nicolas Boulenguez +.\" +.\" This is free software; you can redistribute it and/or modify it under +.\" the terms of the GNU General Public License as published by the Free +.\" Software Foundation; either version 2, or (at your option) any later +.\" version. +.\" +.\" This 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 with +.\" your Debian GNU/Linux system, in /usr/doc/copyright/GPL, or with the +.\" dpkg source package as the file COPYING. If not, write to the Free +.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +.\" +.\" +.TH "GNAT TOOLBOX" 1 "Jun 2002" "Debian Project" "Debian Linux" +.SH NAME +gnat, gnatbind, gnatbl, gnatchop, gnatfind, gnathtml, gnatkr, gnatlink, +gnatls, gnatmake, gnatprep, gnatpsta, gnatpsys, gnatxref \- +GNAT toolbox +.SH DESCRIPTION +Those programs are part of GNU GNAT, a freely available Ada 95 compiler. +.PP +For accessing the full GNAT manuals, use +.B info gnat-ug-4.8 +and +.B info gnat-rm-4.8 +for the sections related to the reference manual. +If those sections cannot be found, you will have to install the +gnat-4.4-doc package as well (since these manuals contain invariant parts, +the package is located in the non-free part of the Debian archive). +You may also browse +.B http://gcc.gnu.org/onlinedocs +which provides the GCC online documentation. +.SH AUTHOR +This manpage has been written by Samuel Tardieu , for the +Debian GNU/Linux project. --- gcc-7-7.1.0.orig/debian/gnatvsn.gpr +++ gcc-7-7.1.0/debian/gnatvsn.gpr @@ -0,0 +1,31 @@ +-- Project file for use with GNAT +-- Copyright (c) 2005, 2008 Ludovic Brenta +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- This project file is designed to help build applications that use +-- GNAT project files. Here is an example of how to use this project file: +-- +-- with "gnatvsn"; +-- project Example is +-- for Object_Dir use "obj"; +-- for Exec_Dir use "."; +-- for Main use ("example"); +-- end Example; + +library project Gnatvsn is + for Library_Name use "gnatvsn"; + for Library_Dir use "/usr/lib"; + for Library_Kind use "dynamic"; + for Source_Dirs use ("/usr/share/ada/adainclude/gnatvsn"); + for Library_ALI_Dir use "/usr/lib/ada/adalib/gnatvsn"; + for Externally_Built use "true"; +end Gnatvsn; --- gcc-7-7.1.0.orig/debian/go-relocation-test-gcc620-sparc64.obj.uue +++ gcc-7-7.1.0/debian/go-relocation-test-gcc620-sparc64.obj.uue @@ -0,0 +1,136 @@ +begin 644 src/libgo/go/debug/elf/testdata/go-relocation-test-gcc620-sparc64.obj +M?T5,1@("`0`````````````!`"L````!```````````````````````````` +M`!(``````@!```````!``!4`$IWCOU""$``8\G>HA\(GJ'\#````D!!@`$`` +M```!`````0```('/X`@!`````````&AE;&QO+"!W;W)L9`````-"``0````` +M"`$`````#```````````````````````````````+``````"``````+8```` +M.`,(!P`````#`0@``````P('``````,$!P`````#`08``````P(%``````0$ +M!6EN=``#"`4``````@`````#@P```&D"``````.$````:0,(!P`````%"`8( +M````E0,!!@`````'````E0@`````V`3Q```"'@D`````!/(```!B``D````` +M!/<```"/"`D`````!/@```"/$`D`````!/D```"/&`D`````!/H```"/(`D` +M````!/L```"/*`D`````!/P```"/,`D`````!/T```"/.`D`````!/X```"/ +M0`H`````!`$`````CT@*``````0!`0```(]0"@`````$`0(```"/6`H````` +M!`$$```"5F`*``````0!!@```EQH"@`````$`0@```!B<`H`````!`$,```` +M8G0*``````0!#@```'!X"@`````$`1(```!&@`H`````!`$3````5((*```` +M``0!%````F*#"@`````$`1@```)RB`H`````!`$A````>Y`*``````0!*0`` +M`(V8"@`````$`2H```"-H`H`````!`$K````C:@*``````0!+````(VP"@`` +M```$`2X````MN`H`````!`$O````8L`*``````0!,0```GC$``L`````!)8( +M`````!@$G````E8)``````2=```"5@`)``````2>```"7`@)``````2B```` +M8A``!@@```(E!@@```"A#````)4```)R#0```(8```8(```"'@P```"5```" +MB`T```"&$P`.``````\`````!`$[```"B`\`````!`$\```"B`\`````!`$] +M```"B`8(````G`<```*Q$``````%J@```EP0``````6K```"7!``````!:P` +M``)<$``````&&@```&(,```"MP```O,1``<```+H$``````&&P```O,2```` +M``$$````````````````````+`&<```#/Q,``````00```!B`Y&``1,````` +M`00```,_`Y&(`0`&"````(\``1$!)0X3"P,.&PX1`1('$!<```(6``,..@L[ +M"TD3```#)``+"SX+`PX```0D``L+/@L#"```!0\`"PL```8/``L+21,```7-?;F5R<@!?24]?F5?=`!S:7IE +M='EP90!?;V9F7-?97)R;&ES=`!?9FEL96YO`&AE;&QO+F,` +MH````````!`@````H````7`````````&4````````! +M#@````H````7```````````````````!&@````H````7`````````F(````` +M```!)P````H````7`````````B$````````!-`````H````7`````````"$` +M```````!00````H````7`````````'(````````!3@````H````7```````` +M`AH````````!6P````H````7`````````GP````````!:`````H````7```` +M`````C<````````!=0````H````7``````````P````````!@@````H````7 +M`````````-H````````!CP````H````7`````````E,````````!G`````H` +M```7`````````6,````````!J0````H````7`````````(\````````!M@`` +M``H````7`````````$@````````!PP````H````7`````````;4````````! +MT`````H````7`````````;P````````!W0````H````7`````````<,````` +M```!Z@````H````7`````````/dev/null || true + fi +esac + +#DEBHELPER# --- gcc-7-7.1.0.orig/debian/libstdc++CXX.prerm +++ gcc-7-7.1.0/debian/libstdc++CXX.prerm @@ -0,0 +1,13 @@ +#! /bin/sh + +set -e + +case "$1" in + remove|upgrade) + files=$(dpkg -L libstdc++@CXX@@TARGET_QUAL@ | awk -F/ 'BEGIN {OFS="/"} /\.py$/ {$NF=sprintf("__pycache__/%s.*.py[co]", substr($NF,1,length($NF)-3)); print}') + rm -f $files + dirs=$(dpkg -L libstdc++@CXX@@TARGET_QUAL@ | awk -F/ 'BEGIN {OFS="/"} /\.py$/ {NF--; print}' | sort -u) + find $dirs -mindepth 1 -maxdepth 1 -name __pycache__ -type d -empty | xargs -r rmdir +esac + +#DEBHELPER# --- gcc-7-7.1.0.orig/debian/libtsan0.symbols +++ gcc-7-7.1.0/debian/libtsan0.symbols @@ -0,0 +1,1806 @@ +libtsan.so.0 libtsan0 #MINVER# + AnnotateBenignRace@Base 4.9 + AnnotateBenignRaceSized@Base 4.9 + AnnotateCondVarSignal@Base 4.9 + AnnotateCondVarSignalAll@Base 4.9 + AnnotateCondVarWait@Base 4.9 + AnnotateEnableRaceDetection@Base 4.9 + AnnotateExpectRace@Base 4.9 + AnnotateFlushExpectedRaces@Base 4.9 + AnnotateFlushState@Base 4.9 + AnnotateHappensAfter@Base 4.9 + AnnotateHappensBefore@Base 4.9 + AnnotateIgnoreReadsBegin@Base 4.9 + AnnotateIgnoreReadsEnd@Base 4.9 + AnnotateIgnoreSyncBegin@Base 4.9 + AnnotateIgnoreSyncEnd@Base 4.9 + AnnotateIgnoreWritesBegin@Base 4.9 + AnnotateIgnoreWritesEnd@Base 4.9 + AnnotateMemoryIsInitialized@Base 4.9 + AnnotateMemoryIsUninitialized@Base 5 + AnnotateMutexIsNotPHB@Base 4.9 + AnnotateMutexIsUsedAsCondVar@Base 4.9 + AnnotateNewMemory@Base 4.9 + AnnotateNoOp@Base 4.9 + AnnotatePCQCreate@Base 4.9 + AnnotatePCQDestroy@Base 4.9 + AnnotatePCQGet@Base 4.9 + AnnotatePCQPut@Base 4.9 + AnnotatePublishMemoryRange@Base 4.9 + AnnotateRWLockAcquired@Base 4.9 + AnnotateRWLockCreate@Base 4.9 + AnnotateRWLockCreateStatic@Base 4.9 + AnnotateRWLockDestroy@Base 4.9 + AnnotateRWLockReleased@Base 4.9 + AnnotateThreadName@Base 4.9 + AnnotateTraceMemory@Base 4.9 + AnnotateUnpublishMemoryRange@Base 4.9 + RunningOnValgrind@Base 4.9 + ThreadSanitizerQuery@Base 4.9 + ValgrindSlowdown@Base 4.9 + WTFAnnotateBenignRaceSized@Base 4.9 + WTFAnnotateHappensAfter@Base 4.9 + WTFAnnotateHappensBefore@Base 4.9 + _ZN11__sanitizer11CheckFailedEPKciS1_yy@Base 4.9 + _ZN11__sanitizer7OnPrintEPKc@Base 4.9 + _ZN6__tsan10OnFinalizeEb@Base 4.9 + _ZN6__tsan12OnInitializeEv@Base 5 + _ZN6__tsan8OnReportEPKNS_10ReportDescEb@Base 4.9 + _ZdaPv@Base 4.9 + _ZdaPvRKSt9nothrow_t@Base 4.9 + _ZdlPv@Base 4.9 + _ZdlPvRKSt9nothrow_t@Base 4.9 + _Znam@Base 4.9 + _ZnamRKSt9nothrow_t@Base 4.9 + _Znwm@Base 4.9 + _ZnwmRKSt9nothrow_t@Base 4.9 + __asan_backtrace_alloc@Base 4.9 + __asan_backtrace_close@Base 4.9 + __asan_backtrace_create_state@Base 4.9 + __asan_backtrace_dwarf_add@Base 4.9 + __asan_backtrace_free@Base 4.9 + __asan_backtrace_get_view@Base 4.9 + __asan_backtrace_initialize@Base 4.9 + __asan_backtrace_open@Base 4.9 + __asan_backtrace_pcinfo@Base 4.9 + __asan_backtrace_qsort@Base 4.9 + __asan_backtrace_release_view@Base 4.9 + __asan_backtrace_syminfo@Base 4.9 + __asan_backtrace_vector_finish@Base 4.9 + __asan_backtrace_vector_grow@Base 4.9 + __asan_backtrace_vector_release@Base 4.9 + __asan_cplus_demangle_builtin_types@Base 4.9 + __asan_cplus_demangle_fill_ctor@Base 4.9 + __asan_cplus_demangle_fill_dtor@Base 4.9 + __asan_cplus_demangle_fill_extended_operator@Base 4.9 + __asan_cplus_demangle_fill_name@Base 4.9 + __asan_cplus_demangle_init_info@Base 4.9 + __asan_cplus_demangle_mangled_name@Base 4.9 + __asan_cplus_demangle_operators@Base 4.9 + __asan_cplus_demangle_print@Base 4.9 + __asan_cplus_demangle_print_callback@Base 4.9 + __asan_cplus_demangle_type@Base 4.9 + __asan_cplus_demangle_v3@Base 4.9 + __asan_cplus_demangle_v3_callback@Base 4.9 + __asan_internal_memcmp@Base 4.9 + __asan_internal_memcpy@Base 4.9 + __asan_internal_memset@Base 4.9 + __asan_internal_strcmp@Base 4.9 + __asan_internal_strlen@Base 4.9 + __asan_internal_strncmp@Base 4.9 + __asan_internal_strnlen@Base 4.9 + __asan_is_gnu_v3_mangled_ctor@Base 4.9 + __asan_is_gnu_v3_mangled_dtor@Base 4.9 + __asan_java_demangle_v3@Base 4.9 + __asan_java_demangle_v3_callback@Base 4.9 + __close@Base 4.9 + __cxa_atexit@Base 4.9 + __cxa_guard_abort@Base 4.9 + __cxa_guard_acquire@Base 4.9 + __cxa_guard_release@Base 4.9 + __fxstat64@Base 4.9 + __fxstat@Base 4.9 + __getdelim@Base 5 + __interceptor___close@Base 4.9 + __interceptor___cxa_atexit@Base 4.9 + __interceptor___fxstat64@Base 4.9 + __interceptor___fxstat@Base 4.9 + __interceptor___getdelim@Base 5 + __interceptor___isoc99_fprintf@Base 5 + __interceptor___isoc99_fscanf@Base 4.9 + __interceptor___isoc99_printf@Base 5 + __interceptor___isoc99_scanf@Base 4.9 + __interceptor___isoc99_snprintf@Base 5 + __interceptor___isoc99_sprintf@Base 5 + __interceptor___isoc99_sscanf@Base 4.9 + __interceptor___isoc99_vfprintf@Base 5 + __interceptor___isoc99_vfscanf@Base 4.9 + __interceptor___isoc99_vprintf@Base 5 + __interceptor___isoc99_vscanf@Base 4.9 + __interceptor___isoc99_vsnprintf@Base 5 + __interceptor___isoc99_vsprintf@Base 5 + __interceptor___isoc99_vsscanf@Base 4.9 + __interceptor___libc_memalign@Base 4.9 + __interceptor___lxstat64@Base 4.9 + __interceptor___lxstat@Base 4.9 + __interceptor___overflow@Base 5 + __interceptor___res_iclose@Base 4.9 + __interceptor___sigsetjmp@Base 4.9 + __interceptor___tls_get_addr@Base 6 + __interceptor___uflow@Base 5 + __interceptor___underflow@Base 5 + __interceptor___woverflow@Base 5 + __interceptor___wuflow@Base 5 + __interceptor___wunderflow@Base 5 + __interceptor___xpg_strerror_r@Base 4.9 + __interceptor___xstat64@Base 4.9 + __interceptor___xstat@Base 4.9 + __interceptor__exit@Base 4.9 + __interceptor__obstack_begin@Base 5 + __interceptor__obstack_begin_1@Base 5 + __interceptor__obstack_newchunk@Base 5 + __interceptor__setjmp@Base 4.9 + __interceptor_abort@Base 4.9 + __interceptor_accept4@Base 4.9 + __interceptor_accept@Base 4.9 + __interceptor_aligned_alloc@Base 5 + __interceptor_asctime@Base 4.9 + __interceptor_asctime_r@Base 4.9 + __interceptor_asprintf@Base 5 + __interceptor_atexit@Base 4.9 + __interceptor_backtrace@Base 4.9 + __interceptor_backtrace_symbols@Base 4.9 + __interceptor_bind@Base 4.9 + __interceptor_calloc@Base 4.9 + __interceptor_canonicalize_file_name@Base 4.9 + __interceptor_capget@Base 5 + __interceptor_capset@Base 5 + __interceptor_cfree@Base 4.9 + __interceptor_clock_getres@Base 4.9 + __interceptor_clock_gettime@Base 4.9 + __interceptor_clock_settime@Base 4.9 + __interceptor_close@Base 4.9 + __interceptor_closedir@Base 6 + __interceptor_confstr@Base 4.9 + __interceptor_connect@Base 4.9 + __interceptor_creat64@Base 4.9 + __interceptor_creat@Base 4.9 + __interceptor_ctermid@Base 7 + __interceptor_ctime@Base 4.9 + __interceptor_ctime_r@Base 4.9 + __interceptor_dl_iterate_phdr@Base 6 + __interceptor_dlclose@Base 4.9 + __interceptor_dlopen@Base 4.9 + __interceptor_drand48_r@Base 4.9 + __interceptor_dup2@Base 4.9 + __interceptor_dup3@Base 4.9 + __interceptor_dup@Base 4.9 + __interceptor_endgrent@Base 5 + __interceptor_endpwent@Base 5 + __interceptor_epoll_create1@Base 4.9 + __interceptor_epoll_create@Base 4.9 + __interceptor_epoll_ctl@Base 4.9 + __interceptor_epoll_pwait@Base 7 + __interceptor_epoll_wait@Base 4.9 + __interceptor_ether_aton@Base 4.9 + __interceptor_ether_aton_r@Base 4.9 + __interceptor_ether_hostton@Base 4.9 + __interceptor_ether_line@Base 4.9 + __interceptor_ether_ntoa@Base 4.9 + __interceptor_ether_ntoa_r@Base 4.9 + __interceptor_ether_ntohost@Base 4.9 + __interceptor_eventfd@Base 4.9 + __interceptor_eventfd_read@Base 7 + __interceptor_eventfd_write@Base 7 + __interceptor_fclose@Base 4.9 + __interceptor_fdopen@Base 5 + __interceptor_fflush@Base 4.9 + __interceptor_fgetxattr@Base 5 + __interceptor_flistxattr@Base 5 + __interceptor_fmemopen@Base 5 + __interceptor_fopen64@Base 5 + __interceptor_fopen@Base 4.9 + __interceptor_fopencookie@Base 6 + __interceptor_fork@Base 4.9 + __interceptor_fprintf@Base 5 + __interceptor_fread@Base 4.9 + __interceptor_free@Base 4.9 + __interceptor_freopen64@Base 5 + __interceptor_freopen@Base 4.9 + __interceptor_frexp@Base 4.9 + __interceptor_frexpf@Base 4.9 + __interceptor_frexpl@Base 4.9 + __interceptor_fscanf@Base 4.9 + __interceptor_fstat64@Base 4.9 + __interceptor_fstat@Base 4.9 + __interceptor_fstatfs64@Base 4.9 + __interceptor_fstatfs@Base 4.9 + __interceptor_fstatvfs64@Base 4.9 + __interceptor_fstatvfs@Base 4.9 + __interceptor_ftime@Base 5 + __interceptor_fwrite@Base 4.9 + __interceptor_get_current_dir_name@Base 4.9 + __interceptor_getaddrinfo@Base 4.9 + __interceptor_getcwd@Base 4.9 + __interceptor_getdelim@Base 4.9 + __interceptor_getgroups@Base 4.9 + __interceptor_gethostbyaddr@Base 4.9 + __interceptor_gethostbyaddr_r@Base 4.9 + __interceptor_gethostbyname2@Base 4.9 + __interceptor_gethostbyname2_r@Base 4.9 + __interceptor_gethostbyname@Base 4.9 + __interceptor_gethostbyname_r@Base 4.9 + __interceptor_gethostent@Base 4.9 + __interceptor_gethostent_r@Base 4.9 + __interceptor_getifaddrs@Base 5 + __interceptor_getitimer@Base 4.9 + __interceptor_getline@Base 4.9 + __interceptor_getmntent@Base 4.9 + __interceptor_getmntent_r@Base 4.9 + __interceptor_getnameinfo@Base 5 + __interceptor_getpass@Base 5 + __interceptor_getpeername@Base 4.9 + __interceptor_getresgid@Base 5 + __interceptor_getresuid@Base 5 + __interceptor_getsockname@Base 4.9 + __interceptor_getsockopt@Base 4.9 + __interceptor_gettimeofday@Base 4.9 + __interceptor_getxattr@Base 5 + __interceptor_glob64@Base 5 + __interceptor_glob@Base 5 + __interceptor_gmtime@Base 4.9 + __interceptor_gmtime_r@Base 4.9 + __interceptor_iconv@Base 4.9 + __interceptor_if_indextoname@Base 5 + __interceptor_if_nametoindex@Base 5 + __interceptor_inet_aton@Base 4.9 + __interceptor_inet_ntop@Base 4.9 + __interceptor_inet_pton@Base 4.9 + __interceptor_initgroups@Base 4.9 + __interceptor_inotify_init1@Base 4.9 + __interceptor_inotify_init@Base 4.9 + __interceptor_ioctl@Base 4.9 + __interceptor_kill@Base 4.9 + __interceptor_lgamma@Base 4.9 + __interceptor_lgamma_r@Base 4.9 + __interceptor_lgammaf@Base 4.9 + __interceptor_lgammaf_r@Base 4.9 + __interceptor_lgammal@Base 4.9 + __interceptor_lgammal_r@Base 4.9 + __interceptor_lgetxattr@Base 5 + __interceptor_listen@Base 4.9 + __interceptor_listxattr@Base 5 + __interceptor_llistxattr@Base 5 + __interceptor_localtime@Base 4.9 + __interceptor_localtime_r@Base 4.9 + __interceptor_longjmp@Base 4.9 + __interceptor_lrand48_r@Base 4.9 + __interceptor_malloc@Base 4.9 + __interceptor_malloc_usable_size@Base 4.9 + __interceptor_mbsnrtowcs@Base 4.9 + __interceptor_mbsrtowcs@Base 4.9 + __interceptor_mbstowcs@Base 4.9 + __interceptor_memalign@Base 4.9 + __interceptor_memchr@Base 4.9 + __interceptor_memcmp@Base 4.9 + __interceptor_memcpy@Base 4.9 + __interceptor_memmem@Base 7 + __interceptor_memmove@Base 4.9 + __interceptor_memrchr@Base 4.9 + __interceptor_memset@Base 4.9 + __interceptor_mincore@Base 6 + __interceptor_mktime@Base 5 + __interceptor_mlock@Base 4.9 + __interceptor_mlockall@Base 4.9 + __interceptor_mmap64@Base 4.9 + __interceptor_mmap@Base 4.9 + __interceptor_modf@Base 4.9 + __interceptor_modff@Base 4.9 + __interceptor_modfl@Base 4.9 + __interceptor_munlock@Base 4.9 + __interceptor_munlockall@Base 4.9 + __interceptor_munmap@Base 4.9 + __interceptor_nanosleep@Base 4.9 + __interceptor_on_exit@Base 4.9 + __interceptor_open64@Base 4.9 + __interceptor_open@Base 4.9 + __interceptor_open_memstream@Base 5 + __interceptor_open_wmemstream@Base 5 + __interceptor_opendir@Base 4.9 + __interceptor_pipe2@Base 4.9 + __interceptor_pipe@Base 4.9 + __interceptor_poll@Base 4.9 + __interceptor_posix_memalign@Base 4.9 + __interceptor_ppoll@Base 4.9 + __interceptor_prctl@Base 4.9 + __interceptor_pread64@Base 4.9 + __interceptor_pread@Base 4.9 + __interceptor_preadv64@Base 4.9 + __interceptor_preadv@Base 4.9 + __interceptor_printf@Base 5 + __interceptor_process_vm_readv@Base 6 + __interceptor_process_vm_writev@Base 6 + __interceptor_pthread_attr_getaffinity_np@Base 4.9 + __interceptor_pthread_attr_getdetachstate@Base 4.9 + __interceptor_pthread_attr_getguardsize@Base 4.9 + __interceptor_pthread_attr_getinheritsched@Base 4.9 + __interceptor_pthread_attr_getschedparam@Base 4.9 + __interceptor_pthread_attr_getschedpolicy@Base 4.9 + __interceptor_pthread_attr_getscope@Base 4.9 + __interceptor_pthread_attr_getstack@Base 4.9 + __interceptor_pthread_attr_getstacksize@Base 4.9 + __interceptor_pthread_barrier_destroy@Base 4.9 + __interceptor_pthread_barrier_init@Base 4.9 + __interceptor_pthread_barrier_wait@Base 4.9 + __interceptor_pthread_barrierattr_getpshared@Base 5 + __interceptor_pthread_cond_broadcast@Base 4.9 + __interceptor_pthread_cond_destroy@Base 4.9 + __interceptor_pthread_cond_init@Base 4.9 + __interceptor_pthread_cond_signal@Base 4.9 + __interceptor_pthread_cond_timedwait@Base 4.9 + __interceptor_pthread_cond_wait@Base 4.9 + __interceptor_pthread_condattr_getclock@Base 5 + __interceptor_pthread_condattr_getpshared@Base 5 + __interceptor_pthread_create@Base 4.9 + __interceptor_pthread_detach@Base 4.9 + __interceptor_pthread_getschedparam@Base 4.9 + __interceptor_pthread_join@Base 4.9 + __interceptor_pthread_kill@Base 4.9 + __interceptor_pthread_mutex_destroy@Base 4.9 + __interceptor_pthread_mutex_init@Base 4.9 + __interceptor_pthread_mutex_lock@Base 4.9 + __interceptor_pthread_mutex_timedlock@Base 4.9 + __interceptor_pthread_mutex_trylock@Base 4.9 + __interceptor_pthread_mutex_unlock@Base 4.9 + __interceptor_pthread_mutexattr_getprioceiling@Base 5 + __interceptor_pthread_mutexattr_getprotocol@Base 5 + __interceptor_pthread_mutexattr_getpshared@Base 5 + __interceptor_pthread_mutexattr_getrobust@Base 5 + __interceptor_pthread_mutexattr_getrobust_np@Base 5 + __interceptor_pthread_mutexattr_gettype@Base 5 + __interceptor_pthread_once@Base 4.9 + __interceptor_pthread_rwlock_destroy@Base 4.9 + __interceptor_pthread_rwlock_init@Base 4.9 + __interceptor_pthread_rwlock_rdlock@Base 4.9 + __interceptor_pthread_rwlock_timedrdlock@Base 4.9 + __interceptor_pthread_rwlock_timedwrlock@Base 4.9 + __interceptor_pthread_rwlock_tryrdlock@Base 4.9 + __interceptor_pthread_rwlock_trywrlock@Base 4.9 + __interceptor_pthread_rwlock_unlock@Base 4.9 + __interceptor_pthread_rwlock_wrlock@Base 4.9 + __interceptor_pthread_rwlockattr_getkind_np@Base 5 + __interceptor_pthread_rwlockattr_getpshared@Base 5 + __interceptor_pthread_setcancelstate@Base 6 + __interceptor_pthread_setcanceltype@Base 6 + __interceptor_pthread_setname_np@Base 4.9 + __interceptor_pthread_sigmask@Base 7 + __interceptor_pthread_spin_destroy@Base 4.9 + __interceptor_pthread_spin_init@Base 4.9 + __interceptor_pthread_spin_lock@Base 4.9 + __interceptor_pthread_spin_trylock@Base 4.9 + __interceptor_pthread_spin_unlock@Base 4.9 + __interceptor_ptrace@Base 4.9 + __interceptor_puts@Base 4.9 + __interceptor_pvalloc@Base 4.9 + __interceptor_pwrite64@Base 4.9 + __interceptor_pwrite@Base 4.9 + __interceptor_pwritev64@Base 4.9 + __interceptor_pwritev@Base 4.9 + __interceptor_raise@Base 4.9 + __interceptor_rand_r@Base 5 + __interceptor_random_r@Base 4.9 + __interceptor_read@Base 4.9 + __interceptor_readdir64@Base 4.9 + __interceptor_readdir64_r@Base 4.9 + __interceptor_readdir@Base 4.9 + __interceptor_readdir_r@Base 4.9 + __interceptor_readv@Base 4.9 + __interceptor_realloc@Base 4.9 + __interceptor_realpath@Base 4.9 + __interceptor_recv@Base 4.9 + __interceptor_recvfrom@Base 7 + __interceptor_recvmsg@Base 4.9 + __interceptor_remquo@Base 4.9 + __interceptor_remquof@Base 4.9 + __interceptor_remquol@Base 4.9 + __interceptor_rmdir@Base 4.9 + __interceptor_scandir64@Base 4.9 + __interceptor_scandir@Base 4.9 + __interceptor_scanf@Base 4.9 + __interceptor_sched_getaffinity@Base 4.9 + __interceptor_sched_getparam@Base 6 + __interceptor_sem_destroy@Base 4.9 + __interceptor_sem_getvalue@Base 4.9 + __interceptor_sem_init@Base 4.9 + __interceptor_sem_post@Base 4.9 + __interceptor_sem_timedwait@Base 4.9 + __interceptor_sem_trywait@Base 4.9 + __interceptor_sem_wait@Base 4.9 + __interceptor_send@Base 4.9 + __interceptor_sendmsg@Base 4.9 + __interceptor_sendto@Base 7 + __interceptor_setgrent@Base 5 + __interceptor_setitimer@Base 4.9 + __interceptor_setjmp@Base 4.9 + __interceptor_setlocale@Base 4.9 + __interceptor_setpwent@Base 5 + __interceptor_shmctl@Base 4.9 + __interceptor_sigaction@Base 4.9 + __interceptor_sigblock@Base 7 + __interceptor_sigemptyset@Base 4.9 + __interceptor_sigfillset@Base 4.9 + __interceptor_siglongjmp@Base 4.9 + __interceptor_signal@Base 4.9 + __interceptor_signalfd@Base 4.9 + __interceptor_sigpending@Base 4.9 + __interceptor_sigprocmask@Base 4.9 + __interceptor_sigsetjmp@Base 4.9 + __interceptor_sigsetmask@Base 7 + __interceptor_sigsuspend@Base 4.9 + __interceptor_sigtimedwait@Base 4.9 + __interceptor_sigwait@Base 4.9 + __interceptor_sigwaitinfo@Base 4.9 + __interceptor_sincos@Base 4.9 + __interceptor_sincosf@Base 4.9 + __interceptor_sincosl@Base 4.9 + __interceptor_sleep@Base 4.9 + __interceptor_snprintf@Base 5 + __interceptor_socket@Base 4.9 + __interceptor_socketpair@Base 4.9 + __interceptor_sprintf@Base 5 + __interceptor_sscanf@Base 4.9 + __interceptor_statfs64@Base 4.9 + __interceptor_statfs@Base 4.9 + __interceptor_statvfs64@Base 4.9 + __interceptor_statvfs@Base 4.9 + __interceptor_strcasecmp@Base 4.9 + __interceptor_strcasestr@Base 6 + __interceptor_strchr@Base 4.9 + __interceptor_strchrnul@Base 4.9 + __interceptor_strcmp@Base 4.9 + __interceptor_strcpy@Base 4.9 + __interceptor_strcspn@Base 6 + __interceptor_strdup@Base 4.9 + __interceptor_strerror@Base 4.9 + __interceptor_strerror_r@Base 4.9 + __interceptor_strlen@Base 4.9 + __interceptor_strncasecmp@Base 4.9 + __interceptor_strncmp@Base 4.9 + __interceptor_strncpy@Base 4.9 + __interceptor_strnlen@Base 7 + __interceptor_strpbrk@Base 6 + __interceptor_strptime@Base 4.9 + __interceptor_strrchr@Base 4.9 + __interceptor_strspn@Base 6 + __interceptor_strstr@Base 4.9 + __interceptor_strtoimax@Base 4.9 + __interceptor_strtoumax@Base 4.9 + __interceptor_sysinfo@Base 4.9 + __interceptor_tcgetattr@Base 4.9 + __interceptor_tempnam@Base 4.9 + __interceptor_textdomain@Base 4.9 + __interceptor_time@Base 4.9 + __interceptor_timerfd_gettime@Base 5 + __interceptor_timerfd_settime@Base 5 + __interceptor_times@Base 4.9 + __interceptor_tmpfile64@Base 5 + __interceptor_tmpfile@Base 5 + __interceptor_tmpnam@Base 4.9 + __interceptor_tmpnam_r@Base 4.9 + __interceptor_tsearch@Base 5 + __interceptor_ttyname_r@Base 7 + __interceptor_unlink@Base 4.9 + __interceptor_usleep@Base 4.9 + __interceptor_valloc@Base 4.9 + __interceptor_vasprintf@Base 5 + __interceptor_vfork@Base 5 + __interceptor_vfprintf@Base 5 + __interceptor_vfscanf@Base 4.9 + __interceptor_vprintf@Base 5 + __interceptor_vscanf@Base 4.9 + __interceptor_vsnprintf@Base 5 + __interceptor_vsprintf@Base 5 + __interceptor_vsscanf@Base 4.9 + __interceptor_wait3@Base 4.9 + __interceptor_wait4@Base 4.9 + __interceptor_wait@Base 4.9 + __interceptor_waitid@Base 4.9 + __interceptor_waitpid@Base 4.9 + __interceptor_wcrtomb@Base 6 + __interceptor_wcsnrtombs@Base 4.9 + __interceptor_wcsrtombs@Base 4.9 + __interceptor_wcstombs@Base 4.9 + __interceptor_wordexp@Base 4.9 + __interceptor_write@Base 4.9 + __interceptor_writev@Base 4.9 + __interceptor_xdr_bool@Base 5 + __interceptor_xdr_bytes@Base 5 + __interceptor_xdr_char@Base 5 + __interceptor_xdr_double@Base 5 + __interceptor_xdr_enum@Base 5 + __interceptor_xdr_float@Base 5 + __interceptor_xdr_hyper@Base 5 + __interceptor_xdr_int16_t@Base 5 + __interceptor_xdr_int32_t@Base 5 + __interceptor_xdr_int64_t@Base 5 + __interceptor_xdr_int8_t@Base 5 + __interceptor_xdr_int@Base 5 + __interceptor_xdr_long@Base 5 + __interceptor_xdr_longlong_t@Base 5 + __interceptor_xdr_quad_t@Base 5 + __interceptor_xdr_short@Base 5 + __interceptor_xdr_string@Base 5 + __interceptor_xdr_u_char@Base 5 + __interceptor_xdr_u_hyper@Base 5 + __interceptor_xdr_u_int@Base 5 + __interceptor_xdr_u_long@Base 5 + __interceptor_xdr_u_longlong_t@Base 5 + __interceptor_xdr_u_quad_t@Base 5 + __interceptor_xdr_u_short@Base 5 + __interceptor_xdr_uint16_t@Base 5 + __interceptor_xdr_uint32_t@Base 5 + __interceptor_xdr_uint64_t@Base 5 + __interceptor_xdr_uint8_t@Base 5 + __interceptor_xdrmem_create@Base 5 + __interceptor_xdrstdio_create@Base 5 + __isoc99_fprintf@Base 5 + __isoc99_fscanf@Base 4.9 + __isoc99_printf@Base 5 + __isoc99_scanf@Base 4.9 + __isoc99_snprintf@Base 5 + __isoc99_sprintf@Base 5 + __isoc99_sscanf@Base 4.9 + __isoc99_vfprintf@Base 5 + __isoc99_vfscanf@Base 4.9 + __isoc99_vprintf@Base 5 + __isoc99_vscanf@Base 4.9 + __isoc99_vsnprintf@Base 5 + __isoc99_vsprintf@Base 5 + __isoc99_vsscanf@Base 4.9 + __libc_memalign@Base 4.9 + __lxstat64@Base 4.9 + __lxstat@Base 4.9 + __overflow@Base 5 + __res_iclose@Base 4.9 + __sanitizer_cov@Base 4.9 + __sanitizer_cov_dump@Base 4.9 + __sanitizer_cov_indir_call16@Base 5 + __sanitizer_cov_init@Base 5 + __sanitizer_cov_module_init@Base 5 + __sanitizer_cov_trace_basic_block@Base 6 + __sanitizer_cov_trace_cmp1@Base 7 + __sanitizer_cov_trace_cmp2@Base 7 + __sanitizer_cov_trace_cmp4@Base 7 + __sanitizer_cov_trace_cmp8@Base 7 + __sanitizer_cov_trace_cmp@Base 6 + __sanitizer_cov_trace_div4@Base 7 + __sanitizer_cov_trace_div8@Base 7 + __sanitizer_cov_trace_func_enter@Base 6 + __sanitizer_cov_trace_gep@Base 7 + __sanitizer_cov_trace_pc_guard@Base 7 + __sanitizer_cov_trace_pc_guard_init@Base 7 + __sanitizer_cov_trace_pc_indir@Base 7 + __sanitizer_cov_trace_switch@Base 6 + __sanitizer_cov_with_check@Base 6 + __sanitizer_free_hook@Base 5 + __sanitizer_get_allocated_size@Base 5 + __sanitizer_get_coverage_guards@Base 6 + __sanitizer_get_current_allocated_bytes@Base 5 + __sanitizer_get_estimated_allocated_size@Base 5 + __sanitizer_get_free_bytes@Base 5 + __sanitizer_get_heap_size@Base 5 + __sanitizer_get_number_of_counters@Base 6 + __sanitizer_get_ownership@Base 5 + __sanitizer_get_total_unique_caller_callee_pairs@Base 6 + __sanitizer_get_total_unique_coverage@Base 6 + __sanitizer_get_unmapped_bytes@Base 5 + __sanitizer_install_malloc_and_free_hooks@Base 7 + __sanitizer_malloc_hook@Base 5 + __sanitizer_maybe_open_cov_file@Base 5 + __sanitizer_print_stack_trace@Base 5 + __sanitizer_report_error_summary@Base 4.9 + __sanitizer_reset_coverage@Base 6 + __sanitizer_sandbox_on_notify@Base 4.9 + __sanitizer_set_death_callback@Base 6 + __sanitizer_set_report_fd@Base 7 + __sanitizer_set_report_path@Base 4.9 + __sanitizer_symbolize_global@Base 7 + __sanitizer_symbolize_pc@Base 7 + __sanitizer_syscall_post_impl_accept4@Base 4.9 + __sanitizer_syscall_post_impl_accept@Base 4.9 + __sanitizer_syscall_post_impl_access@Base 4.9 + __sanitizer_syscall_post_impl_acct@Base 4.9 + __sanitizer_syscall_post_impl_add_key@Base 4.9 + __sanitizer_syscall_post_impl_adjtimex@Base 4.9 + __sanitizer_syscall_post_impl_alarm@Base 4.9 + __sanitizer_syscall_post_impl_bdflush@Base 4.9 + __sanitizer_syscall_post_impl_bind@Base 4.9 + __sanitizer_syscall_post_impl_brk@Base 4.9 + __sanitizer_syscall_post_impl_capget@Base 4.9 + __sanitizer_syscall_post_impl_capset@Base 4.9 + __sanitizer_syscall_post_impl_chdir@Base 4.9 + __sanitizer_syscall_post_impl_chmod@Base 4.9 + __sanitizer_syscall_post_impl_chown@Base 4.9 + __sanitizer_syscall_post_impl_chroot@Base 4.9 + __sanitizer_syscall_post_impl_clock_adjtime@Base 4.9 + __sanitizer_syscall_post_impl_clock_getres@Base 4.9 + __sanitizer_syscall_post_impl_clock_gettime@Base 4.9 + __sanitizer_syscall_post_impl_clock_nanosleep@Base 4.9 + __sanitizer_syscall_post_impl_clock_settime@Base 4.9 + __sanitizer_syscall_post_impl_close@Base 4.9 + __sanitizer_syscall_post_impl_connect@Base 4.9 + __sanitizer_syscall_post_impl_creat@Base 4.9 + __sanitizer_syscall_post_impl_delete_module@Base 4.9 + __sanitizer_syscall_post_impl_dup2@Base 4.9 + __sanitizer_syscall_post_impl_dup3@Base 4.9 + __sanitizer_syscall_post_impl_dup@Base 4.9 + __sanitizer_syscall_post_impl_epoll_create1@Base 4.9 + __sanitizer_syscall_post_impl_epoll_create@Base 4.9 + __sanitizer_syscall_post_impl_epoll_ctl@Base 4.9 + __sanitizer_syscall_post_impl_epoll_pwait@Base 4.9 + __sanitizer_syscall_post_impl_epoll_wait@Base 4.9 + __sanitizer_syscall_post_impl_eventfd2@Base 4.9 + __sanitizer_syscall_post_impl_eventfd@Base 4.9 + __sanitizer_syscall_post_impl_exit@Base 4.9 + __sanitizer_syscall_post_impl_exit_group@Base 4.9 + __sanitizer_syscall_post_impl_faccessat@Base 4.9 + __sanitizer_syscall_post_impl_fchdir@Base 4.9 + __sanitizer_syscall_post_impl_fchmod@Base 4.9 + __sanitizer_syscall_post_impl_fchmodat@Base 4.9 + __sanitizer_syscall_post_impl_fchown@Base 4.9 + __sanitizer_syscall_post_impl_fchownat@Base 4.9 + __sanitizer_syscall_post_impl_fcntl64@Base 4.9 + __sanitizer_syscall_post_impl_fcntl@Base 4.9 + __sanitizer_syscall_post_impl_fdatasync@Base 4.9 + __sanitizer_syscall_post_impl_fgetxattr@Base 4.9 + __sanitizer_syscall_post_impl_flistxattr@Base 4.9 + __sanitizer_syscall_post_impl_flock@Base 4.9 + __sanitizer_syscall_post_impl_fork@Base 4.9 + __sanitizer_syscall_post_impl_fremovexattr@Base 4.9 + __sanitizer_syscall_post_impl_fsetxattr@Base 4.9 + __sanitizer_syscall_post_impl_fstat64@Base 4.9 + __sanitizer_syscall_post_impl_fstat@Base 4.9 + __sanitizer_syscall_post_impl_fstatat64@Base 4.9 + __sanitizer_syscall_post_impl_fstatfs64@Base 4.9 + __sanitizer_syscall_post_impl_fstatfs@Base 4.9 + __sanitizer_syscall_post_impl_fsync@Base 4.9 + __sanitizer_syscall_post_impl_ftruncate@Base 4.9 + __sanitizer_syscall_post_impl_futimesat@Base 4.9 + __sanitizer_syscall_post_impl_get_mempolicy@Base 4.9 + __sanitizer_syscall_post_impl_get_robust_list@Base 4.9 + __sanitizer_syscall_post_impl_getcpu@Base 4.9 + __sanitizer_syscall_post_impl_getcwd@Base 4.9 + __sanitizer_syscall_post_impl_getdents64@Base 4.9 + __sanitizer_syscall_post_impl_getdents@Base 4.9 + __sanitizer_syscall_post_impl_getegid@Base 4.9 + __sanitizer_syscall_post_impl_geteuid@Base 4.9 + __sanitizer_syscall_post_impl_getgid@Base 4.9 + __sanitizer_syscall_post_impl_getgroups@Base 4.9 + __sanitizer_syscall_post_impl_gethostname@Base 4.9 + __sanitizer_syscall_post_impl_getitimer@Base 4.9 + __sanitizer_syscall_post_impl_getpeername@Base 4.9 + __sanitizer_syscall_post_impl_getpgid@Base 4.9 + __sanitizer_syscall_post_impl_getpgrp@Base 4.9 + __sanitizer_syscall_post_impl_getpid@Base 4.9 + __sanitizer_syscall_post_impl_getppid@Base 4.9 + __sanitizer_syscall_post_impl_getpriority@Base 4.9 + __sanitizer_syscall_post_impl_getresgid@Base 4.9 + __sanitizer_syscall_post_impl_getresuid@Base 4.9 + __sanitizer_syscall_post_impl_getrlimit@Base 4.9 + __sanitizer_syscall_post_impl_getrusage@Base 4.9 + __sanitizer_syscall_post_impl_getsid@Base 4.9 + __sanitizer_syscall_post_impl_getsockname@Base 4.9 + __sanitizer_syscall_post_impl_getsockopt@Base 4.9 + __sanitizer_syscall_post_impl_gettid@Base 4.9 + __sanitizer_syscall_post_impl_gettimeofday@Base 4.9 + __sanitizer_syscall_post_impl_getuid@Base 4.9 + __sanitizer_syscall_post_impl_getxattr@Base 4.9 + __sanitizer_syscall_post_impl_init_module@Base 4.9 + __sanitizer_syscall_post_impl_inotify_add_watch@Base 4.9 + __sanitizer_syscall_post_impl_inotify_init1@Base 4.9 + __sanitizer_syscall_post_impl_inotify_init@Base 4.9 + __sanitizer_syscall_post_impl_inotify_rm_watch@Base 4.9 + __sanitizer_syscall_post_impl_io_cancel@Base 4.9 + __sanitizer_syscall_post_impl_io_destroy@Base 4.9 + __sanitizer_syscall_post_impl_io_getevents@Base 4.9 + __sanitizer_syscall_post_impl_io_setup@Base 4.9 + __sanitizer_syscall_post_impl_io_submit@Base 4.9 + __sanitizer_syscall_post_impl_ioctl@Base 4.9 + __sanitizer_syscall_post_impl_ioperm@Base 4.9 + __sanitizer_syscall_post_impl_ioprio_get@Base 4.9 + __sanitizer_syscall_post_impl_ioprio_set@Base 4.9 + __sanitizer_syscall_post_impl_ipc@Base 4.9 + __sanitizer_syscall_post_impl_kexec_load@Base 4.9 + __sanitizer_syscall_post_impl_keyctl@Base 4.9 + __sanitizer_syscall_post_impl_kill@Base 4.9 + __sanitizer_syscall_post_impl_lchown@Base 4.9 + __sanitizer_syscall_post_impl_lgetxattr@Base 4.9 + __sanitizer_syscall_post_impl_link@Base 4.9 + __sanitizer_syscall_post_impl_linkat@Base 4.9 + __sanitizer_syscall_post_impl_listen@Base 4.9 + __sanitizer_syscall_post_impl_listxattr@Base 4.9 + __sanitizer_syscall_post_impl_llistxattr@Base 4.9 + __sanitizer_syscall_post_impl_llseek@Base 4.9 + __sanitizer_syscall_post_impl_lookup_dcookie@Base 4.9 + __sanitizer_syscall_post_impl_lremovexattr@Base 4.9 + __sanitizer_syscall_post_impl_lseek@Base 4.9 + __sanitizer_syscall_post_impl_lsetxattr@Base 4.9 + __sanitizer_syscall_post_impl_lstat64@Base 4.9 + __sanitizer_syscall_post_impl_lstat@Base 4.9 + __sanitizer_syscall_post_impl_madvise@Base 4.9 + __sanitizer_syscall_post_impl_mbind@Base 4.9 + __sanitizer_syscall_post_impl_migrate_pages@Base 4.9 + __sanitizer_syscall_post_impl_mincore@Base 4.9 + __sanitizer_syscall_post_impl_mkdir@Base 4.9 + __sanitizer_syscall_post_impl_mkdirat@Base 4.9 + __sanitizer_syscall_post_impl_mknod@Base 4.9 + __sanitizer_syscall_post_impl_mknodat@Base 4.9 + __sanitizer_syscall_post_impl_mlock@Base 4.9 + __sanitizer_syscall_post_impl_mlockall@Base 4.9 + __sanitizer_syscall_post_impl_mmap_pgoff@Base 4.9 + __sanitizer_syscall_post_impl_mount@Base 4.9 + __sanitizer_syscall_post_impl_move_pages@Base 4.9 + __sanitizer_syscall_post_impl_mprotect@Base 4.9 + __sanitizer_syscall_post_impl_mq_getsetattr@Base 4.9 + __sanitizer_syscall_post_impl_mq_notify@Base 4.9 + __sanitizer_syscall_post_impl_mq_open@Base 4.9 + __sanitizer_syscall_post_impl_mq_timedreceive@Base 4.9 + __sanitizer_syscall_post_impl_mq_timedsend@Base 4.9 + __sanitizer_syscall_post_impl_mq_unlink@Base 4.9 + __sanitizer_syscall_post_impl_mremap@Base 4.9 + __sanitizer_syscall_post_impl_msgctl@Base 4.9 + __sanitizer_syscall_post_impl_msgget@Base 4.9 + __sanitizer_syscall_post_impl_msgrcv@Base 4.9 + __sanitizer_syscall_post_impl_msgsnd@Base 4.9 + __sanitizer_syscall_post_impl_msync@Base 4.9 + __sanitizer_syscall_post_impl_munlock@Base 4.9 + __sanitizer_syscall_post_impl_munlockall@Base 4.9 + __sanitizer_syscall_post_impl_munmap@Base 4.9 + __sanitizer_syscall_post_impl_name_to_handle_at@Base 4.9 + __sanitizer_syscall_post_impl_nanosleep@Base 4.9 + __sanitizer_syscall_post_impl_newfstat@Base 4.9 + __sanitizer_syscall_post_impl_newfstatat@Base 4.9 + __sanitizer_syscall_post_impl_newlstat@Base 4.9 + __sanitizer_syscall_post_impl_newstat@Base 4.9 + __sanitizer_syscall_post_impl_newuname@Base 4.9 + __sanitizer_syscall_post_impl_ni_syscall@Base 4.9 + __sanitizer_syscall_post_impl_nice@Base 4.9 + __sanitizer_syscall_post_impl_old_getrlimit@Base 4.9 + __sanitizer_syscall_post_impl_old_mmap@Base 4.9 + __sanitizer_syscall_post_impl_old_readdir@Base 4.9 + __sanitizer_syscall_post_impl_old_select@Base 4.9 + __sanitizer_syscall_post_impl_oldumount@Base 4.9 + __sanitizer_syscall_post_impl_olduname@Base 4.9 + __sanitizer_syscall_post_impl_open@Base 4.9 + __sanitizer_syscall_post_impl_open_by_handle_at@Base 4.9 + __sanitizer_syscall_post_impl_openat@Base 4.9 + __sanitizer_syscall_post_impl_pause@Base 4.9 + __sanitizer_syscall_post_impl_pciconfig_iobase@Base 4.9 + __sanitizer_syscall_post_impl_pciconfig_read@Base 4.9 + __sanitizer_syscall_post_impl_pciconfig_write@Base 4.9 + __sanitizer_syscall_post_impl_perf_event_open@Base 4.9 + __sanitizer_syscall_post_impl_personality@Base 4.9 + __sanitizer_syscall_post_impl_pipe2@Base 4.9 + __sanitizer_syscall_post_impl_pipe@Base 4.9 + __sanitizer_syscall_post_impl_pivot_root@Base 4.9 + __sanitizer_syscall_post_impl_poll@Base 4.9 + __sanitizer_syscall_post_impl_ppoll@Base 4.9 + __sanitizer_syscall_post_impl_pread64@Base 4.9 + __sanitizer_syscall_post_impl_preadv@Base 4.9 + __sanitizer_syscall_post_impl_prlimit64@Base 4.9 + __sanitizer_syscall_post_impl_process_vm_readv@Base 4.9 + __sanitizer_syscall_post_impl_process_vm_writev@Base 4.9 + __sanitizer_syscall_post_impl_pselect6@Base 4.9 + __sanitizer_syscall_post_impl_ptrace@Base 4.9 + __sanitizer_syscall_post_impl_pwrite64@Base 4.9 + __sanitizer_syscall_post_impl_pwritev@Base 4.9 + __sanitizer_syscall_post_impl_quotactl@Base 4.9 + __sanitizer_syscall_post_impl_read@Base 4.9 + __sanitizer_syscall_post_impl_readlink@Base 4.9 + __sanitizer_syscall_post_impl_readlinkat@Base 4.9 + __sanitizer_syscall_post_impl_readv@Base 4.9 + __sanitizer_syscall_post_impl_reboot@Base 4.9 + __sanitizer_syscall_post_impl_recv@Base 4.9 + __sanitizer_syscall_post_impl_recvfrom@Base 4.9 + __sanitizer_syscall_post_impl_recvmmsg@Base 4.9 + __sanitizer_syscall_post_impl_recvmsg@Base 4.9 + __sanitizer_syscall_post_impl_remap_file_pages@Base 4.9 + __sanitizer_syscall_post_impl_removexattr@Base 4.9 + __sanitizer_syscall_post_impl_rename@Base 4.9 + __sanitizer_syscall_post_impl_renameat@Base 4.9 + __sanitizer_syscall_post_impl_request_key@Base 4.9 + __sanitizer_syscall_post_impl_restart_syscall@Base 4.9 + __sanitizer_syscall_post_impl_rmdir@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigaction@Base 7 + __sanitizer_syscall_post_impl_rt_sigpending@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigprocmask@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigqueueinfo@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigtimedwait@Base 4.9 + __sanitizer_syscall_post_impl_rt_tgsigqueueinfo@Base 4.9 + __sanitizer_syscall_post_impl_sched_get_priority_max@Base 4.9 + __sanitizer_syscall_post_impl_sched_get_priority_min@Base 4.9 + __sanitizer_syscall_post_impl_sched_getaffinity@Base 4.9 + __sanitizer_syscall_post_impl_sched_getparam@Base 4.9 + __sanitizer_syscall_post_impl_sched_getscheduler@Base 4.9 + __sanitizer_syscall_post_impl_sched_rr_get_interval@Base 4.9 + __sanitizer_syscall_post_impl_sched_setaffinity@Base 4.9 + __sanitizer_syscall_post_impl_sched_setparam@Base 4.9 + __sanitizer_syscall_post_impl_sched_setscheduler@Base 4.9 + __sanitizer_syscall_post_impl_sched_yield@Base 4.9 + __sanitizer_syscall_post_impl_select@Base 4.9 + __sanitizer_syscall_post_impl_semctl@Base 4.9 + __sanitizer_syscall_post_impl_semget@Base 4.9 + __sanitizer_syscall_post_impl_semop@Base 4.9 + __sanitizer_syscall_post_impl_semtimedop@Base 4.9 + __sanitizer_syscall_post_impl_send@Base 4.9 + __sanitizer_syscall_post_impl_sendfile64@Base 4.9 + __sanitizer_syscall_post_impl_sendfile@Base 4.9 + __sanitizer_syscall_post_impl_sendmmsg@Base 4.9 + __sanitizer_syscall_post_impl_sendmsg@Base 4.9 + __sanitizer_syscall_post_impl_sendto@Base 4.9 + __sanitizer_syscall_post_impl_set_mempolicy@Base 4.9 + __sanitizer_syscall_post_impl_set_robust_list@Base 4.9 + __sanitizer_syscall_post_impl_set_tid_address@Base 4.9 + __sanitizer_syscall_post_impl_setdomainname@Base 4.9 + __sanitizer_syscall_post_impl_setfsgid@Base 4.9 + __sanitizer_syscall_post_impl_setfsuid@Base 4.9 + __sanitizer_syscall_post_impl_setgid@Base 4.9 + __sanitizer_syscall_post_impl_setgroups@Base 4.9 + __sanitizer_syscall_post_impl_sethostname@Base 4.9 + __sanitizer_syscall_post_impl_setitimer@Base 4.9 + __sanitizer_syscall_post_impl_setns@Base 4.9 + __sanitizer_syscall_post_impl_setpgid@Base 4.9 + __sanitizer_syscall_post_impl_setpriority@Base 4.9 + __sanitizer_syscall_post_impl_setregid@Base 4.9 + __sanitizer_syscall_post_impl_setresgid@Base 4.9 + __sanitizer_syscall_post_impl_setresuid@Base 4.9 + __sanitizer_syscall_post_impl_setreuid@Base 4.9 + __sanitizer_syscall_post_impl_setrlimit@Base 4.9 + __sanitizer_syscall_post_impl_setsid@Base 4.9 + __sanitizer_syscall_post_impl_setsockopt@Base 4.9 + __sanitizer_syscall_post_impl_settimeofday@Base 4.9 + __sanitizer_syscall_post_impl_setuid@Base 4.9 + __sanitizer_syscall_post_impl_setxattr@Base 4.9 + __sanitizer_syscall_post_impl_sgetmask@Base 4.9 + __sanitizer_syscall_post_impl_shmat@Base 4.9 + __sanitizer_syscall_post_impl_shmctl@Base 4.9 + __sanitizer_syscall_post_impl_shmdt@Base 4.9 + __sanitizer_syscall_post_impl_shmget@Base 4.9 + __sanitizer_syscall_post_impl_shutdown@Base 4.9 + __sanitizer_syscall_post_impl_sigaction@Base 7 + __sanitizer_syscall_post_impl_signal@Base 4.9 + __sanitizer_syscall_post_impl_signalfd4@Base 4.9 + __sanitizer_syscall_post_impl_signalfd@Base 4.9 + __sanitizer_syscall_post_impl_sigpending@Base 4.9 + __sanitizer_syscall_post_impl_sigprocmask@Base 4.9 + __sanitizer_syscall_post_impl_socket@Base 4.9 + __sanitizer_syscall_post_impl_socketcall@Base 4.9 + __sanitizer_syscall_post_impl_socketpair@Base 4.9 + __sanitizer_syscall_post_impl_splice@Base 4.9 + __sanitizer_syscall_post_impl_spu_create@Base 4.9 + __sanitizer_syscall_post_impl_spu_run@Base 4.9 + __sanitizer_syscall_post_impl_ssetmask@Base 4.9 + __sanitizer_syscall_post_impl_stat64@Base 4.9 + __sanitizer_syscall_post_impl_stat@Base 4.9 + __sanitizer_syscall_post_impl_statfs64@Base 4.9 + __sanitizer_syscall_post_impl_statfs@Base 4.9 + __sanitizer_syscall_post_impl_stime@Base 4.9 + __sanitizer_syscall_post_impl_swapoff@Base 4.9 + __sanitizer_syscall_post_impl_swapon@Base 4.9 + __sanitizer_syscall_post_impl_symlink@Base 4.9 + __sanitizer_syscall_post_impl_symlinkat@Base 4.9 + __sanitizer_syscall_post_impl_sync@Base 4.9 + __sanitizer_syscall_post_impl_syncfs@Base 4.9 + __sanitizer_syscall_post_impl_sysctl@Base 4.9 + __sanitizer_syscall_post_impl_sysfs@Base 4.9 + __sanitizer_syscall_post_impl_sysinfo@Base 4.9 + __sanitizer_syscall_post_impl_syslog@Base 4.9 + __sanitizer_syscall_post_impl_tee@Base 4.9 + __sanitizer_syscall_post_impl_tgkill@Base 4.9 + __sanitizer_syscall_post_impl_time@Base 4.9 + __sanitizer_syscall_post_impl_timer_create@Base 4.9 + __sanitizer_syscall_post_impl_timer_delete@Base 4.9 + __sanitizer_syscall_post_impl_timer_getoverrun@Base 4.9 + __sanitizer_syscall_post_impl_timer_gettime@Base 4.9 + __sanitizer_syscall_post_impl_timer_settime@Base 4.9 + __sanitizer_syscall_post_impl_timerfd_create@Base 4.9 + __sanitizer_syscall_post_impl_timerfd_gettime@Base 4.9 + __sanitizer_syscall_post_impl_timerfd_settime@Base 4.9 + __sanitizer_syscall_post_impl_times@Base 4.9 + __sanitizer_syscall_post_impl_tkill@Base 4.9 + __sanitizer_syscall_post_impl_truncate@Base 4.9 + __sanitizer_syscall_post_impl_umask@Base 4.9 + __sanitizer_syscall_post_impl_umount@Base 4.9 + __sanitizer_syscall_post_impl_uname@Base 4.9 + __sanitizer_syscall_post_impl_unlink@Base 4.9 + __sanitizer_syscall_post_impl_unlinkat@Base 4.9 + __sanitizer_syscall_post_impl_unshare@Base 4.9 + __sanitizer_syscall_post_impl_uselib@Base 4.9 + __sanitizer_syscall_post_impl_ustat@Base 4.9 + __sanitizer_syscall_post_impl_utime@Base 4.9 + __sanitizer_syscall_post_impl_utimensat@Base 4.9 + __sanitizer_syscall_post_impl_utimes@Base 4.9 + __sanitizer_syscall_post_impl_vfork@Base 4.9 + __sanitizer_syscall_post_impl_vhangup@Base 4.9 + __sanitizer_syscall_post_impl_vmsplice@Base 4.9 + __sanitizer_syscall_post_impl_wait4@Base 4.9 + __sanitizer_syscall_post_impl_waitid@Base 4.9 + __sanitizer_syscall_post_impl_waitpid@Base 4.9 + __sanitizer_syscall_post_impl_write@Base 4.9 + __sanitizer_syscall_post_impl_writev@Base 4.9 + __sanitizer_syscall_pre_impl_accept4@Base 4.9 + __sanitizer_syscall_pre_impl_accept@Base 4.9 + __sanitizer_syscall_pre_impl_access@Base 4.9 + __sanitizer_syscall_pre_impl_acct@Base 4.9 + __sanitizer_syscall_pre_impl_add_key@Base 4.9 + __sanitizer_syscall_pre_impl_adjtimex@Base 4.9 + __sanitizer_syscall_pre_impl_alarm@Base 4.9 + __sanitizer_syscall_pre_impl_bdflush@Base 4.9 + __sanitizer_syscall_pre_impl_bind@Base 4.9 + __sanitizer_syscall_pre_impl_brk@Base 4.9 + __sanitizer_syscall_pre_impl_capget@Base 4.9 + __sanitizer_syscall_pre_impl_capset@Base 4.9 + __sanitizer_syscall_pre_impl_chdir@Base 4.9 + __sanitizer_syscall_pre_impl_chmod@Base 4.9 + __sanitizer_syscall_pre_impl_chown@Base 4.9 + __sanitizer_syscall_pre_impl_chroot@Base 4.9 + __sanitizer_syscall_pre_impl_clock_adjtime@Base 4.9 + __sanitizer_syscall_pre_impl_clock_getres@Base 4.9 + __sanitizer_syscall_pre_impl_clock_gettime@Base 4.9 + __sanitizer_syscall_pre_impl_clock_nanosleep@Base 4.9 + __sanitizer_syscall_pre_impl_clock_settime@Base 4.9 + __sanitizer_syscall_pre_impl_close@Base 4.9 + __sanitizer_syscall_pre_impl_connect@Base 4.9 + __sanitizer_syscall_pre_impl_creat@Base 4.9 + __sanitizer_syscall_pre_impl_delete_module@Base 4.9 + __sanitizer_syscall_pre_impl_dup2@Base 4.9 + __sanitizer_syscall_pre_impl_dup3@Base 4.9 + __sanitizer_syscall_pre_impl_dup@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_create1@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_create@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_ctl@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_pwait@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_wait@Base 4.9 + __sanitizer_syscall_pre_impl_eventfd2@Base 4.9 + __sanitizer_syscall_pre_impl_eventfd@Base 4.9 + __sanitizer_syscall_pre_impl_exit@Base 4.9 + __sanitizer_syscall_pre_impl_exit_group@Base 4.9 + __sanitizer_syscall_pre_impl_faccessat@Base 4.9 + __sanitizer_syscall_pre_impl_fchdir@Base 4.9 + __sanitizer_syscall_pre_impl_fchmod@Base 4.9 + __sanitizer_syscall_pre_impl_fchmodat@Base 4.9 + __sanitizer_syscall_pre_impl_fchown@Base 4.9 + __sanitizer_syscall_pre_impl_fchownat@Base 4.9 + __sanitizer_syscall_pre_impl_fcntl64@Base 4.9 + __sanitizer_syscall_pre_impl_fcntl@Base 4.9 + __sanitizer_syscall_pre_impl_fdatasync@Base 4.9 + __sanitizer_syscall_pre_impl_fgetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_flistxattr@Base 4.9 + __sanitizer_syscall_pre_impl_flock@Base 4.9 + __sanitizer_syscall_pre_impl_fork@Base 4.9 + __sanitizer_syscall_pre_impl_fremovexattr@Base 4.9 + __sanitizer_syscall_pre_impl_fsetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_fstat64@Base 4.9 + __sanitizer_syscall_pre_impl_fstat@Base 4.9 + __sanitizer_syscall_pre_impl_fstatat64@Base 4.9 + __sanitizer_syscall_pre_impl_fstatfs64@Base 4.9 + __sanitizer_syscall_pre_impl_fstatfs@Base 4.9 + __sanitizer_syscall_pre_impl_fsync@Base 4.9 + __sanitizer_syscall_pre_impl_ftruncate@Base 4.9 + __sanitizer_syscall_pre_impl_futimesat@Base 4.9 + __sanitizer_syscall_pre_impl_get_mempolicy@Base 4.9 + __sanitizer_syscall_pre_impl_get_robust_list@Base 4.9 + __sanitizer_syscall_pre_impl_getcpu@Base 4.9 + __sanitizer_syscall_pre_impl_getcwd@Base 4.9 + __sanitizer_syscall_pre_impl_getdents64@Base 4.9 + __sanitizer_syscall_pre_impl_getdents@Base 4.9 + __sanitizer_syscall_pre_impl_getegid@Base 4.9 + __sanitizer_syscall_pre_impl_geteuid@Base 4.9 + __sanitizer_syscall_pre_impl_getgid@Base 4.9 + __sanitizer_syscall_pre_impl_getgroups@Base 4.9 + __sanitizer_syscall_pre_impl_gethostname@Base 4.9 + __sanitizer_syscall_pre_impl_getitimer@Base 4.9 + __sanitizer_syscall_pre_impl_getpeername@Base 4.9 + __sanitizer_syscall_pre_impl_getpgid@Base 4.9 + __sanitizer_syscall_pre_impl_getpgrp@Base 4.9 + __sanitizer_syscall_pre_impl_getpid@Base 4.9 + __sanitizer_syscall_pre_impl_getppid@Base 4.9 + __sanitizer_syscall_pre_impl_getpriority@Base 4.9 + __sanitizer_syscall_pre_impl_getresgid@Base 4.9 + __sanitizer_syscall_pre_impl_getresuid@Base 4.9 + __sanitizer_syscall_pre_impl_getrlimit@Base 4.9 + __sanitizer_syscall_pre_impl_getrusage@Base 4.9 + __sanitizer_syscall_pre_impl_getsid@Base 4.9 + __sanitizer_syscall_pre_impl_getsockname@Base 4.9 + __sanitizer_syscall_pre_impl_getsockopt@Base 4.9 + __sanitizer_syscall_pre_impl_gettid@Base 4.9 + __sanitizer_syscall_pre_impl_gettimeofday@Base 4.9 + __sanitizer_syscall_pre_impl_getuid@Base 4.9 + __sanitizer_syscall_pre_impl_getxattr@Base 4.9 + __sanitizer_syscall_pre_impl_init_module@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_add_watch@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_init1@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_init@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_rm_watch@Base 4.9 + __sanitizer_syscall_pre_impl_io_cancel@Base 4.9 + __sanitizer_syscall_pre_impl_io_destroy@Base 4.9 + __sanitizer_syscall_pre_impl_io_getevents@Base 4.9 + __sanitizer_syscall_pre_impl_io_setup@Base 4.9 + __sanitizer_syscall_pre_impl_io_submit@Base 4.9 + __sanitizer_syscall_pre_impl_ioctl@Base 4.9 + __sanitizer_syscall_pre_impl_ioperm@Base 4.9 + __sanitizer_syscall_pre_impl_ioprio_get@Base 4.9 + __sanitizer_syscall_pre_impl_ioprio_set@Base 4.9 + __sanitizer_syscall_pre_impl_ipc@Base 4.9 + __sanitizer_syscall_pre_impl_kexec_load@Base 4.9 + __sanitizer_syscall_pre_impl_keyctl@Base 4.9 + __sanitizer_syscall_pre_impl_kill@Base 4.9 + __sanitizer_syscall_pre_impl_lchown@Base 4.9 + __sanitizer_syscall_pre_impl_lgetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_link@Base 4.9 + __sanitizer_syscall_pre_impl_linkat@Base 4.9 + __sanitizer_syscall_pre_impl_listen@Base 4.9 + __sanitizer_syscall_pre_impl_listxattr@Base 4.9 + __sanitizer_syscall_pre_impl_llistxattr@Base 4.9 + __sanitizer_syscall_pre_impl_llseek@Base 4.9 + __sanitizer_syscall_pre_impl_lookup_dcookie@Base 4.9 + __sanitizer_syscall_pre_impl_lremovexattr@Base 4.9 + __sanitizer_syscall_pre_impl_lseek@Base 4.9 + __sanitizer_syscall_pre_impl_lsetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_lstat64@Base 4.9 + __sanitizer_syscall_pre_impl_lstat@Base 4.9 + __sanitizer_syscall_pre_impl_madvise@Base 4.9 + __sanitizer_syscall_pre_impl_mbind@Base 4.9 + __sanitizer_syscall_pre_impl_migrate_pages@Base 4.9 + __sanitizer_syscall_pre_impl_mincore@Base 4.9 + __sanitizer_syscall_pre_impl_mkdir@Base 4.9 + __sanitizer_syscall_pre_impl_mkdirat@Base 4.9 + __sanitizer_syscall_pre_impl_mknod@Base 4.9 + __sanitizer_syscall_pre_impl_mknodat@Base 4.9 + __sanitizer_syscall_pre_impl_mlock@Base 4.9 + __sanitizer_syscall_pre_impl_mlockall@Base 4.9 + __sanitizer_syscall_pre_impl_mmap_pgoff@Base 4.9 + __sanitizer_syscall_pre_impl_mount@Base 4.9 + __sanitizer_syscall_pre_impl_move_pages@Base 4.9 + __sanitizer_syscall_pre_impl_mprotect@Base 4.9 + __sanitizer_syscall_pre_impl_mq_getsetattr@Base 4.9 + __sanitizer_syscall_pre_impl_mq_notify@Base 4.9 + __sanitizer_syscall_pre_impl_mq_open@Base 4.9 + __sanitizer_syscall_pre_impl_mq_timedreceive@Base 4.9 + __sanitizer_syscall_pre_impl_mq_timedsend@Base 4.9 + __sanitizer_syscall_pre_impl_mq_unlink@Base 4.9 + __sanitizer_syscall_pre_impl_mremap@Base 4.9 + __sanitizer_syscall_pre_impl_msgctl@Base 4.9 + __sanitizer_syscall_pre_impl_msgget@Base 4.9 + __sanitizer_syscall_pre_impl_msgrcv@Base 4.9 + __sanitizer_syscall_pre_impl_msgsnd@Base 4.9 + __sanitizer_syscall_pre_impl_msync@Base 4.9 + __sanitizer_syscall_pre_impl_munlock@Base 4.9 + __sanitizer_syscall_pre_impl_munlockall@Base 4.9 + __sanitizer_syscall_pre_impl_munmap@Base 4.9 + __sanitizer_syscall_pre_impl_name_to_handle_at@Base 4.9 + __sanitizer_syscall_pre_impl_nanosleep@Base 4.9 + __sanitizer_syscall_pre_impl_newfstat@Base 4.9 + __sanitizer_syscall_pre_impl_newfstatat@Base 4.9 + __sanitizer_syscall_pre_impl_newlstat@Base 4.9 + __sanitizer_syscall_pre_impl_newstat@Base 4.9 + __sanitizer_syscall_pre_impl_newuname@Base 4.9 + __sanitizer_syscall_pre_impl_ni_syscall@Base 4.9 + __sanitizer_syscall_pre_impl_nice@Base 4.9 + __sanitizer_syscall_pre_impl_old_getrlimit@Base 4.9 + __sanitizer_syscall_pre_impl_old_mmap@Base 4.9 + __sanitizer_syscall_pre_impl_old_readdir@Base 4.9 + __sanitizer_syscall_pre_impl_old_select@Base 4.9 + __sanitizer_syscall_pre_impl_oldumount@Base 4.9 + __sanitizer_syscall_pre_impl_olduname@Base 4.9 + __sanitizer_syscall_pre_impl_open@Base 4.9 + __sanitizer_syscall_pre_impl_open_by_handle_at@Base 4.9 + __sanitizer_syscall_pre_impl_openat@Base 4.9 + __sanitizer_syscall_pre_impl_pause@Base 4.9 + __sanitizer_syscall_pre_impl_pciconfig_iobase@Base 4.9 + __sanitizer_syscall_pre_impl_pciconfig_read@Base 4.9 + __sanitizer_syscall_pre_impl_pciconfig_write@Base 4.9 + __sanitizer_syscall_pre_impl_perf_event_open@Base 4.9 + __sanitizer_syscall_pre_impl_personality@Base 4.9 + __sanitizer_syscall_pre_impl_pipe2@Base 4.9 + __sanitizer_syscall_pre_impl_pipe@Base 4.9 + __sanitizer_syscall_pre_impl_pivot_root@Base 4.9 + __sanitizer_syscall_pre_impl_poll@Base 4.9 + __sanitizer_syscall_pre_impl_ppoll@Base 4.9 + __sanitizer_syscall_pre_impl_pread64@Base 4.9 + __sanitizer_syscall_pre_impl_preadv@Base 4.9 + __sanitizer_syscall_pre_impl_prlimit64@Base 4.9 + __sanitizer_syscall_pre_impl_process_vm_readv@Base 4.9 + __sanitizer_syscall_pre_impl_process_vm_writev@Base 4.9 + __sanitizer_syscall_pre_impl_pselect6@Base 4.9 + __sanitizer_syscall_pre_impl_ptrace@Base 4.9 + __sanitizer_syscall_pre_impl_pwrite64@Base 4.9 + __sanitizer_syscall_pre_impl_pwritev@Base 4.9 + __sanitizer_syscall_pre_impl_quotactl@Base 4.9 + __sanitizer_syscall_pre_impl_read@Base 4.9 + __sanitizer_syscall_pre_impl_readlink@Base 4.9 + __sanitizer_syscall_pre_impl_readlinkat@Base 4.9 + __sanitizer_syscall_pre_impl_readv@Base 4.9 + __sanitizer_syscall_pre_impl_reboot@Base 4.9 + __sanitizer_syscall_pre_impl_recv@Base 4.9 + __sanitizer_syscall_pre_impl_recvfrom@Base 4.9 + __sanitizer_syscall_pre_impl_recvmmsg@Base 4.9 + __sanitizer_syscall_pre_impl_recvmsg@Base 4.9 + __sanitizer_syscall_pre_impl_remap_file_pages@Base 4.9 + __sanitizer_syscall_pre_impl_removexattr@Base 4.9 + __sanitizer_syscall_pre_impl_rename@Base 4.9 + __sanitizer_syscall_pre_impl_renameat@Base 4.9 + __sanitizer_syscall_pre_impl_request_key@Base 4.9 + __sanitizer_syscall_pre_impl_restart_syscall@Base 4.9 + __sanitizer_syscall_pre_impl_rmdir@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigaction@Base 7 + __sanitizer_syscall_pre_impl_rt_sigpending@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigprocmask@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigqueueinfo@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigtimedwait@Base 4.9 + __sanitizer_syscall_pre_impl_rt_tgsigqueueinfo@Base 4.9 + __sanitizer_syscall_pre_impl_sched_get_priority_max@Base 4.9 + __sanitizer_syscall_pre_impl_sched_get_priority_min@Base 4.9 + __sanitizer_syscall_pre_impl_sched_getaffinity@Base 4.9 + __sanitizer_syscall_pre_impl_sched_getparam@Base 4.9 + __sanitizer_syscall_pre_impl_sched_getscheduler@Base 4.9 + __sanitizer_syscall_pre_impl_sched_rr_get_interval@Base 4.9 + __sanitizer_syscall_pre_impl_sched_setaffinity@Base 4.9 + __sanitizer_syscall_pre_impl_sched_setparam@Base 4.9 + __sanitizer_syscall_pre_impl_sched_setscheduler@Base 4.9 + __sanitizer_syscall_pre_impl_sched_yield@Base 4.9 + __sanitizer_syscall_pre_impl_select@Base 4.9 + __sanitizer_syscall_pre_impl_semctl@Base 4.9 + __sanitizer_syscall_pre_impl_semget@Base 4.9 + __sanitizer_syscall_pre_impl_semop@Base 4.9 + __sanitizer_syscall_pre_impl_semtimedop@Base 4.9 + __sanitizer_syscall_pre_impl_send@Base 4.9 + __sanitizer_syscall_pre_impl_sendfile64@Base 4.9 + __sanitizer_syscall_pre_impl_sendfile@Base 4.9 + __sanitizer_syscall_pre_impl_sendmmsg@Base 4.9 + __sanitizer_syscall_pre_impl_sendmsg@Base 4.9 + __sanitizer_syscall_pre_impl_sendto@Base 4.9 + __sanitizer_syscall_pre_impl_set_mempolicy@Base 4.9 + __sanitizer_syscall_pre_impl_set_robust_list@Base 4.9 + __sanitizer_syscall_pre_impl_set_tid_address@Base 4.9 + __sanitizer_syscall_pre_impl_setdomainname@Base 4.9 + __sanitizer_syscall_pre_impl_setfsgid@Base 4.9 + __sanitizer_syscall_pre_impl_setfsuid@Base 4.9 + __sanitizer_syscall_pre_impl_setgid@Base 4.9 + __sanitizer_syscall_pre_impl_setgroups@Base 4.9 + __sanitizer_syscall_pre_impl_sethostname@Base 4.9 + __sanitizer_syscall_pre_impl_setitimer@Base 4.9 + __sanitizer_syscall_pre_impl_setns@Base 4.9 + __sanitizer_syscall_pre_impl_setpgid@Base 4.9 + __sanitizer_syscall_pre_impl_setpriority@Base 4.9 + __sanitizer_syscall_pre_impl_setregid@Base 4.9 + __sanitizer_syscall_pre_impl_setresgid@Base 4.9 + __sanitizer_syscall_pre_impl_setresuid@Base 4.9 + __sanitizer_syscall_pre_impl_setreuid@Base 4.9 + __sanitizer_syscall_pre_impl_setrlimit@Base 4.9 + __sanitizer_syscall_pre_impl_setsid@Base 4.9 + __sanitizer_syscall_pre_impl_setsockopt@Base 4.9 + __sanitizer_syscall_pre_impl_settimeofday@Base 4.9 + __sanitizer_syscall_pre_impl_setuid@Base 4.9 + __sanitizer_syscall_pre_impl_setxattr@Base 4.9 + __sanitizer_syscall_pre_impl_sgetmask@Base 4.9 + __sanitizer_syscall_pre_impl_shmat@Base 4.9 + __sanitizer_syscall_pre_impl_shmctl@Base 4.9 + __sanitizer_syscall_pre_impl_shmdt@Base 4.9 + __sanitizer_syscall_pre_impl_shmget@Base 4.9 + __sanitizer_syscall_pre_impl_shutdown@Base 4.9 + __sanitizer_syscall_pre_impl_sigaction@Base 7 + __sanitizer_syscall_pre_impl_signal@Base 4.9 + __sanitizer_syscall_pre_impl_signalfd4@Base 4.9 + __sanitizer_syscall_pre_impl_signalfd@Base 4.9 + __sanitizer_syscall_pre_impl_sigpending@Base 4.9 + __sanitizer_syscall_pre_impl_sigprocmask@Base 4.9 + __sanitizer_syscall_pre_impl_socket@Base 4.9 + __sanitizer_syscall_pre_impl_socketcall@Base 4.9 + __sanitizer_syscall_pre_impl_socketpair@Base 4.9 + __sanitizer_syscall_pre_impl_splice@Base 4.9 + __sanitizer_syscall_pre_impl_spu_create@Base 4.9 + __sanitizer_syscall_pre_impl_spu_run@Base 4.9 + __sanitizer_syscall_pre_impl_ssetmask@Base 4.9 + __sanitizer_syscall_pre_impl_stat64@Base 4.9 + __sanitizer_syscall_pre_impl_stat@Base 4.9 + __sanitizer_syscall_pre_impl_statfs64@Base 4.9 + __sanitizer_syscall_pre_impl_statfs@Base 4.9 + __sanitizer_syscall_pre_impl_stime@Base 4.9 + __sanitizer_syscall_pre_impl_swapoff@Base 4.9 + __sanitizer_syscall_pre_impl_swapon@Base 4.9 + __sanitizer_syscall_pre_impl_symlink@Base 4.9 + __sanitizer_syscall_pre_impl_symlinkat@Base 4.9 + __sanitizer_syscall_pre_impl_sync@Base 4.9 + __sanitizer_syscall_pre_impl_syncfs@Base 4.9 + __sanitizer_syscall_pre_impl_sysctl@Base 4.9 + __sanitizer_syscall_pre_impl_sysfs@Base 4.9 + __sanitizer_syscall_pre_impl_sysinfo@Base 4.9 + __sanitizer_syscall_pre_impl_syslog@Base 4.9 + __sanitizer_syscall_pre_impl_tee@Base 4.9 + __sanitizer_syscall_pre_impl_tgkill@Base 4.9 + __sanitizer_syscall_pre_impl_time@Base 4.9 + __sanitizer_syscall_pre_impl_timer_create@Base 4.9 + __sanitizer_syscall_pre_impl_timer_delete@Base 4.9 + __sanitizer_syscall_pre_impl_timer_getoverrun@Base 4.9 + __sanitizer_syscall_pre_impl_timer_gettime@Base 4.9 + __sanitizer_syscall_pre_impl_timer_settime@Base 4.9 + __sanitizer_syscall_pre_impl_timerfd_create@Base 4.9 + __sanitizer_syscall_pre_impl_timerfd_gettime@Base 4.9 + __sanitizer_syscall_pre_impl_timerfd_settime@Base 4.9 + __sanitizer_syscall_pre_impl_times@Base 4.9 + __sanitizer_syscall_pre_impl_tkill@Base 4.9 + __sanitizer_syscall_pre_impl_truncate@Base 4.9 + __sanitizer_syscall_pre_impl_umask@Base 4.9 + __sanitizer_syscall_pre_impl_umount@Base 4.9 + __sanitizer_syscall_pre_impl_uname@Base 4.9 + __sanitizer_syscall_pre_impl_unlink@Base 4.9 + __sanitizer_syscall_pre_impl_unlinkat@Base 4.9 + __sanitizer_syscall_pre_impl_unshare@Base 4.9 + __sanitizer_syscall_pre_impl_uselib@Base 4.9 + __sanitizer_syscall_pre_impl_ustat@Base 4.9 + __sanitizer_syscall_pre_impl_utime@Base 4.9 + __sanitizer_syscall_pre_impl_utimensat@Base 4.9 + __sanitizer_syscall_pre_impl_utimes@Base 4.9 + __sanitizer_syscall_pre_impl_vfork@Base 4.9 + __sanitizer_syscall_pre_impl_vhangup@Base 4.9 + __sanitizer_syscall_pre_impl_vmsplice@Base 4.9 + __sanitizer_syscall_pre_impl_wait4@Base 4.9 + __sanitizer_syscall_pre_impl_waitid@Base 4.9 + __sanitizer_syscall_pre_impl_waitpid@Base 4.9 + __sanitizer_syscall_pre_impl_write@Base 4.9 + __sanitizer_syscall_pre_impl_writev@Base 4.9 + __sanitizer_unaligned_load16@Base 4.9 + __sanitizer_unaligned_load32@Base 4.9 + __sanitizer_unaligned_load64@Base 4.9 + __sanitizer_unaligned_store16@Base 4.9 + __sanitizer_unaligned_store32@Base 4.9 + __sanitizer_unaligned_store64@Base 4.9 + __sanitizer_update_counter_bitset_and_clear_counters@Base 6 + __sigsetjmp@Base 4.9 + __tls_get_addr@Base 6 + __tsan_acquire@Base 4.9 + __tsan_atomic128_compare_exchange_strong@Base 4.9 + __tsan_atomic128_compare_exchange_val@Base 4.9 + __tsan_atomic128_compare_exchange_weak@Base 4.9 + __tsan_atomic128_exchange@Base 4.9 + __tsan_atomic128_fetch_add@Base 4.9 + __tsan_atomic128_fetch_and@Base 4.9 + __tsan_atomic128_fetch_nand@Base 4.9 + __tsan_atomic128_fetch_or@Base 4.9 + __tsan_atomic128_fetch_sub@Base 4.9 + __tsan_atomic128_fetch_xor@Base 4.9 + __tsan_atomic128_load@Base 4.9 + __tsan_atomic128_store@Base 4.9 + __tsan_atomic16_compare_exchange_strong@Base 4.9 + __tsan_atomic16_compare_exchange_val@Base 4.9 + __tsan_atomic16_compare_exchange_weak@Base 4.9 + __tsan_atomic16_exchange@Base 4.9 + __tsan_atomic16_fetch_add@Base 4.9 + __tsan_atomic16_fetch_and@Base 4.9 + __tsan_atomic16_fetch_nand@Base 4.9 + __tsan_atomic16_fetch_or@Base 4.9 + __tsan_atomic16_fetch_sub@Base 4.9 + __tsan_atomic16_fetch_xor@Base 4.9 + __tsan_atomic16_load@Base 4.9 + __tsan_atomic16_store@Base 4.9 + __tsan_atomic32_compare_exchange_strong@Base 4.9 + __tsan_atomic32_compare_exchange_val@Base 4.9 + __tsan_atomic32_compare_exchange_weak@Base 4.9 + __tsan_atomic32_exchange@Base 4.9 + __tsan_atomic32_fetch_add@Base 4.9 + __tsan_atomic32_fetch_and@Base 4.9 + __tsan_atomic32_fetch_nand@Base 4.9 + __tsan_atomic32_fetch_or@Base 4.9 + __tsan_atomic32_fetch_sub@Base 4.9 + __tsan_atomic32_fetch_xor@Base 4.9 + __tsan_atomic32_load@Base 4.9 + __tsan_atomic32_store@Base 4.9 + __tsan_atomic64_compare_exchange_strong@Base 4.9 + __tsan_atomic64_compare_exchange_val@Base 4.9 + __tsan_atomic64_compare_exchange_weak@Base 4.9 + __tsan_atomic64_exchange@Base 4.9 + __tsan_atomic64_fetch_add@Base 4.9 + __tsan_atomic64_fetch_and@Base 4.9 + __tsan_atomic64_fetch_nand@Base 4.9 + __tsan_atomic64_fetch_or@Base 4.9 + __tsan_atomic64_fetch_sub@Base 4.9 + __tsan_atomic64_fetch_xor@Base 4.9 + __tsan_atomic64_load@Base 4.9 + __tsan_atomic64_store@Base 4.9 + __tsan_atomic8_compare_exchange_strong@Base 4.9 + __tsan_atomic8_compare_exchange_val@Base 4.9 + __tsan_atomic8_compare_exchange_weak@Base 4.9 + __tsan_atomic8_exchange@Base 4.9 + __tsan_atomic8_fetch_add@Base 4.9 + __tsan_atomic8_fetch_and@Base 4.9 + __tsan_atomic8_fetch_nand@Base 4.9 + __tsan_atomic8_fetch_or@Base 4.9 + __tsan_atomic8_fetch_sub@Base 4.9 + __tsan_atomic8_fetch_xor@Base 4.9 + __tsan_atomic8_load@Base 4.9 + __tsan_atomic8_store@Base 4.9 + __tsan_atomic_signal_fence@Base 4.9 + __tsan_atomic_thread_fence@Base 4.9 + __tsan_default_options@Base 4.9 + __tsan_default_suppressions@Base 7 + __tsan_func_entry@Base 4.9 + __tsan_func_exit@Base 4.9 + __tsan_get_current_report@Base 7 + __tsan_get_report_data@Base 7 + __tsan_get_report_loc@Base 7 + __tsan_get_report_mop@Base 7 + __tsan_get_report_mutex@Base 7 + __tsan_get_report_stack@Base 7 + __tsan_get_report_thread@Base 7 + __tsan_get_report_unique_tid@Base 7 + __tsan_init@Base 4.9 + __tsan_java_acquire@Base 6 + __tsan_java_alloc@Base 4.9 + __tsan_java_finalize@Base 5 + __tsan_java_fini@Base 4.9 + __tsan_java_free@Base 4.9 + __tsan_java_init@Base 4.9 + __tsan_java_move@Base 4.9 + __tsan_java_mutex_lock@Base 4.9 + __tsan_java_mutex_lock_rec@Base 4.9 + __tsan_java_mutex_read_lock@Base 4.9 + __tsan_java_mutex_read_unlock@Base 4.9 + __tsan_java_mutex_unlock@Base 4.9 + __tsan_java_mutex_unlock_rec@Base 4.9 + __tsan_java_release@Base 6 + __tsan_java_release_store@Base 6 + __tsan_on_report@Base 7 + __tsan_read16@Base 4.9 + __tsan_read16_pc@Base 6 + __tsan_read1@Base 4.9 + __tsan_read1_pc@Base 6 + __tsan_read2@Base 4.9 + __tsan_read2_pc@Base 6 + __tsan_read4@Base 4.9 + __tsan_read4_pc@Base 6 + __tsan_read8@Base 4.9 + __tsan_read8_pc@Base 6 + __tsan_read_range@Base 4.9 + __tsan_release@Base 4.9 + __tsan_symbolize_external@Base 7 + __tsan_testonly_barrier_init@Base 7 + __tsan_testonly_barrier_wait@Base 7 + __tsan_unaligned_read16@Base 6 + __tsan_unaligned_read2@Base 4.9 + __tsan_unaligned_read4@Base 4.9 + __tsan_unaligned_read8@Base 4.9 + __tsan_unaligned_write16@Base 6 + __tsan_unaligned_write2@Base 4.9 + __tsan_unaligned_write4@Base 4.9 + __tsan_unaligned_write8@Base 4.9 + __tsan_vptr_read@Base 4.9 + __tsan_vptr_update@Base 4.9 + __tsan_write16@Base 4.9 + __tsan_write16_pc@Base 6 + __tsan_write1@Base 4.9 + __tsan_write1_pc@Base 6 + __tsan_write2@Base 4.9 + __tsan_write2_pc@Base 6 + __tsan_write4@Base 4.9 + __tsan_write4_pc@Base 6 + __tsan_write8@Base 4.9 + __tsan_write8_pc@Base 6 + __tsan_write_range@Base 4.9 + __uflow@Base 5 + __underflow@Base 5 + __woverflow@Base 5 + __wuflow@Base 5 + __wunderflow@Base 5 + __xpg_strerror_r@Base 4.9 + __xstat64@Base 4.9 + __xstat@Base 4.9 + _exit@Base 4.9 + _obstack_begin@Base 5 + _obstack_begin_1@Base 5 + _obstack_newchunk@Base 5 + _setjmp@Base 4.9 + abort@Base 4.9 + accept4@Base 4.9 + accept@Base 4.9 + aligned_alloc@Base 5 + asctime@Base 4.9 + asctime_r@Base 4.9 + asprintf@Base 5 + atexit@Base 4.9 + backtrace@Base 4.9 + backtrace_symbols@Base 4.9 + bind@Base 4.9 + calloc@Base 4.9 + canonicalize_file_name@Base 4.9 + capget@Base 5 + capset@Base 5 + cfree@Base 4.9 + clock_getres@Base 4.9 + clock_gettime@Base 4.9 + clock_settime@Base 4.9 + close@Base 4.9 + closedir@Base 6 + confstr@Base 4.9 + connect@Base 4.9 + creat64@Base 4.9 + creat@Base 4.9 + ctermid@Base 7 + ctime@Base 4.9 + ctime_r@Base 4.9 + dl_iterate_phdr@Base 6 + dlclose@Base 4.9 + dlopen@Base 4.9 + drand48_r@Base 4.9 + dup2@Base 4.9 + dup3@Base 4.9 + dup@Base 4.9 + endgrent@Base 5 + endpwent@Base 5 + epoll_create1@Base 4.9 + epoll_create@Base 4.9 + epoll_ctl@Base 4.9 + epoll_pwait@Base 7 + epoll_wait@Base 4.9 + ether_aton@Base 4.9 + ether_aton_r@Base 4.9 + ether_hostton@Base 4.9 + ether_line@Base 4.9 + ether_ntoa@Base 4.9 + ether_ntoa_r@Base 4.9 + ether_ntohost@Base 4.9 + eventfd@Base 4.9 + eventfd_read@Base 7 + eventfd_write@Base 7 + fclose@Base 4.9 + fdopen@Base 5 + fflush@Base 4.9 + fgetxattr@Base 5 + flistxattr@Base 5 + fmemopen@Base 5 + fopen64@Base 5 + fopen@Base 4.9 + fopencookie@Base 6 + fork@Base 4.9 + fprintf@Base 5 + fread@Base 4.9 + free@Base 4.9 + freopen64@Base 5 + freopen@Base 4.9 + frexp@Base 4.9 + frexpf@Base 4.9 + frexpl@Base 4.9 + fscanf@Base 4.9 + fstat64@Base 4.9 + fstat@Base 4.9 + fstatfs64@Base 4.9 + fstatfs@Base 4.9 + fstatvfs64@Base 4.9 + fstatvfs@Base 4.9 + ftime@Base 5 + fwrite@Base 4.9 + get_current_dir_name@Base 4.9 + getaddrinfo@Base 4.9 + getcwd@Base 4.9 + getdelim@Base 4.9 + getgroups@Base 4.9 + gethostbyaddr@Base 4.9 + gethostbyaddr_r@Base 4.9 + gethostbyname2@Base 4.9 + gethostbyname2_r@Base 4.9 + gethostbyname@Base 4.9 + gethostbyname_r@Base 4.9 + gethostent@Base 4.9 + gethostent_r@Base 4.9 + getifaddrs@Base 5 + getitimer@Base 4.9 + getline@Base 4.9 + getmntent@Base 4.9 + getmntent_r@Base 4.9 + getnameinfo@Base 5 + getpass@Base 5 + getpeername@Base 4.9 + getresgid@Base 5 + getresuid@Base 5 + getsockname@Base 4.9 + getsockopt@Base 4.9 + gettimeofday@Base 4.9 + getxattr@Base 5 + glob64@Base 5 + glob@Base 5 + gmtime@Base 4.9 + gmtime_r@Base 4.9 + iconv@Base 4.9 + if_indextoname@Base 5 + if_nametoindex@Base 5 + inet_aton@Base 4.9 + inet_ntop@Base 4.9 + inet_pton@Base 4.9 + initgroups@Base 4.9 + inotify_init1@Base 4.9 + inotify_init@Base 4.9 + internal_sigreturn@Base 7 + ioctl@Base 4.9 + kill@Base 4.9 + lgamma@Base 4.9 + lgamma_r@Base 4.9 + lgammaf@Base 4.9 + lgammaf_r@Base 4.9 + lgammal@Base 4.9 + lgammal_r@Base 4.9 + lgetxattr@Base 5 + listen@Base 4.9 + listxattr@Base 5 + llistxattr@Base 5 + localtime@Base 4.9 + localtime_r@Base 4.9 + longjmp@Base 4.9 + lrand48_r@Base 4.9 + malloc@Base 4.9 + malloc_usable_size@Base 4.9 + mbsnrtowcs@Base 4.9 + mbsrtowcs@Base 4.9 + mbstowcs@Base 4.9 + memalign@Base 4.9 + memchr@Base 4.9 + memcmp@Base 4.9 + memcpy@Base 4.9 + memmem@Base 7 + memmove@Base 4.9 + memrchr@Base 4.9 + memset@Base 4.9 + mincore@Base 6 + mktime@Base 5 + mlock@Base 4.9 + mlockall@Base 4.9 + mmap64@Base 4.9 + mmap@Base 4.9 + modf@Base 4.9 + modff@Base 4.9 + modfl@Base 4.9 + munlock@Base 4.9 + munlockall@Base 4.9 + munmap@Base 4.9 + nanosleep@Base 4.9 + on_exit@Base 4.9 + open64@Base 4.9 + open@Base 4.9 + open_memstream@Base 5 + open_wmemstream@Base 5 + opendir@Base 4.9 + pipe2@Base 4.9 + pipe@Base 4.9 + poll@Base 4.9 + posix_memalign@Base 4.9 + ppoll@Base 4.9 + prctl@Base 4.9 + pread64@Base 4.9 + pread@Base 4.9 + preadv64@Base 4.9 + preadv@Base 4.9 + printf@Base 5 + process_vm_readv@Base 6 + process_vm_writev@Base 6 + pthread_attr_getaffinity_np@Base 4.9 + pthread_attr_getdetachstate@Base 4.9 + pthread_attr_getguardsize@Base 4.9 + pthread_attr_getinheritsched@Base 4.9 + pthread_attr_getschedparam@Base 4.9 + pthread_attr_getschedpolicy@Base 4.9 + pthread_attr_getscope@Base 4.9 + pthread_attr_getstack@Base 4.9 + pthread_attr_getstacksize@Base 4.9 + pthread_barrier_destroy@Base 4.9 + pthread_barrier_init@Base 4.9 + pthread_barrier_wait@Base 4.9 + pthread_barrierattr_getpshared@Base 5 + pthread_cond_broadcast@Base 4.9 + pthread_cond_destroy@Base 4.9 + pthread_cond_init@Base 4.9 + pthread_cond_signal@Base 4.9 + pthread_cond_timedwait@Base 4.9 + pthread_cond_wait@Base 4.9 + pthread_condattr_getclock@Base 5 + pthread_condattr_getpshared@Base 5 + pthread_create@Base 4.9 + pthread_detach@Base 4.9 + pthread_getschedparam@Base 4.9 + pthread_join@Base 4.9 + pthread_kill@Base 4.9 + pthread_mutex_destroy@Base 4.9 + pthread_mutex_init@Base 4.9 + pthread_mutex_lock@Base 4.9 + pthread_mutex_timedlock@Base 4.9 + pthread_mutex_trylock@Base 4.9 + pthread_mutex_unlock@Base 4.9 + pthread_mutexattr_getprioceiling@Base 5 + pthread_mutexattr_getprotocol@Base 5 + pthread_mutexattr_getpshared@Base 5 + pthread_mutexattr_getrobust@Base 5 + pthread_mutexattr_getrobust_np@Base 5 + pthread_mutexattr_gettype@Base 5 + pthread_once@Base 4.9 + pthread_rwlock_destroy@Base 4.9 + pthread_rwlock_init@Base 4.9 + pthread_rwlock_rdlock@Base 4.9 + pthread_rwlock_timedrdlock@Base 4.9 + pthread_rwlock_timedwrlock@Base 4.9 + pthread_rwlock_tryrdlock@Base 4.9 + pthread_rwlock_trywrlock@Base 4.9 + pthread_rwlock_unlock@Base 4.9 + pthread_rwlock_wrlock@Base 4.9 + pthread_rwlockattr_getkind_np@Base 5 + pthread_rwlockattr_getpshared@Base 5 + pthread_setcancelstate@Base 6 + pthread_setcanceltype@Base 6 + pthread_setname_np@Base 4.9 + pthread_sigmask@Base 7 + pthread_spin_destroy@Base 4.9 + pthread_spin_init@Base 4.9 + pthread_spin_lock@Base 4.9 + pthread_spin_trylock@Base 4.9 + pthread_spin_unlock@Base 4.9 + ptrace@Base 4.9 + puts@Base 4.9 + pvalloc@Base 4.9 + pwrite64@Base 4.9 + pwrite@Base 4.9 + pwritev64@Base 4.9 + pwritev@Base 4.9 + raise@Base 4.9 + rand_r@Base 5 + random_r@Base 4.9 + read@Base 4.9 + readdir64@Base 4.9 + readdir64_r@Base 4.9 + readdir@Base 4.9 + readdir_r@Base 4.9 + readv@Base 4.9 + realloc@Base 4.9 + realpath@Base 4.9 + recv@Base 4.9 + recvfrom@Base 7 + recvmsg@Base 4.9 + remquo@Base 4.9 + remquof@Base 4.9 + remquol@Base 4.9 + rmdir@Base 4.9 + scandir64@Base 4.9 + scandir@Base 4.9 + scanf@Base 4.9 + sched_getaffinity@Base 4.9 + sched_getparam@Base 6 + sem_destroy@Base 4.9 + sem_getvalue@Base 4.9 + sem_init@Base 4.9 + sem_post@Base 4.9 + sem_timedwait@Base 4.9 + sem_trywait@Base 4.9 + sem_wait@Base 4.9 + send@Base 4.9 + sendmsg@Base 4.9 + sendto@Base 7 + setgrent@Base 5 + setitimer@Base 4.9 + setjmp@Base 4.9 + setlocale@Base 4.9 + setpwent@Base 5 + shmctl@Base 4.9 + sigaction@Base 4.9 + sigblock@Base 7 + sigemptyset@Base 4.9 + sigfillset@Base 4.9 + siglongjmp@Base 4.9 + signal@Base 4.9 + signalfd@Base 4.9 + sigpending@Base 4.9 + sigprocmask@Base 4.9 + sigsetjmp@Base 4.9 + sigsetmask@Base 7 + sigsuspend@Base 4.9 + sigtimedwait@Base 4.9 + sigwait@Base 4.9 + sigwaitinfo@Base 4.9 + sincos@Base 4.9 + sincosf@Base 4.9 + sincosl@Base 4.9 + sleep@Base 4.9 + snprintf@Base 5 + socket@Base 4.9 + socketpair@Base 4.9 + sprintf@Base 5 + sscanf@Base 4.9 + statfs64@Base 4.9 + statfs@Base 4.9 + statvfs64@Base 4.9 + statvfs@Base 4.9 + strcasecmp@Base 4.9 + strcasestr@Base 6 + strchr@Base 4.9 + strchrnul@Base 4.9 + strcmp@Base 4.9 + strcpy@Base 4.9 + strcspn@Base 6 + strdup@Base 4.9 + strerror@Base 4.9 + strerror_r@Base 4.9 + strlen@Base 4.9 + strncasecmp@Base 4.9 + strncmp@Base 4.9 + strncpy@Base 4.9 + strnlen@Base 7 + strpbrk@Base 6 + strptime@Base 4.9 + strrchr@Base 4.9 + strspn@Base 6 + strstr@Base 4.9 + strtoimax@Base 4.9 + strtoumax@Base 4.9 + sysinfo@Base 4.9 + tcgetattr@Base 4.9 + tempnam@Base 4.9 + textdomain@Base 4.9 + time@Base 4.9 + timerfd_gettime@Base 5 + timerfd_settime@Base 5 + times@Base 4.9 + tmpfile64@Base 5 + tmpfile@Base 5 + tmpnam@Base 4.9 + tmpnam_r@Base 4.9 + tsearch@Base 5 + ttyname_r@Base 7 + unlink@Base 4.9 + usleep@Base 4.9 + valloc@Base 4.9 + vasprintf@Base 5 + vfork@Base 5 + vfprintf@Base 5 + vfscanf@Base 4.9 + vprintf@Base 5 + vscanf@Base 4.9 + vsnprintf@Base 5 + vsprintf@Base 5 + vsscanf@Base 4.9 + wait3@Base 4.9 + wait4@Base 4.9 + wait@Base 4.9 + waitid@Base 4.9 + waitpid@Base 4.9 + wcrtomb@Base 6 + wcsnrtombs@Base 4.9 + wcsrtombs@Base 4.9 + wcstombs@Base 4.9 + wordexp@Base 4.9 + write@Base 4.9 + writev@Base 4.9 + xdr_bool@Base 5 + xdr_bytes@Base 5 + xdr_char@Base 5 + xdr_double@Base 5 + xdr_enum@Base 5 + xdr_float@Base 5 + xdr_hyper@Base 5 + xdr_int16_t@Base 5 + xdr_int32_t@Base 5 + xdr_int64_t@Base 5 + xdr_int8_t@Base 5 + xdr_int@Base 5 + xdr_long@Base 5 + xdr_longlong_t@Base 5 + xdr_quad_t@Base 5 + xdr_short@Base 5 + xdr_string@Base 5 + xdr_u_char@Base 5 + xdr_u_hyper@Base 5 + xdr_u_int@Base 5 + xdr_u_long@Base 5 + xdr_u_longlong_t@Base 5 + xdr_u_quad_t@Base 5 + xdr_u_short@Base 5 + xdr_uint16_t@Base 5 + xdr_uint32_t@Base 5 + xdr_uint64_t@Base 5 + xdr_uint8_t@Base 5 + xdrmem_create@Base 5 + xdrstdio_create@Base 5 --- gcc-7-7.1.0.orig/debian/libubsan0.symbols +++ gcc-7-7.1.0/debian/libubsan0.symbols @@ -0,0 +1,117 @@ +libubsan.so.0 libubsan0 #MINVER# + _ZN11__sanitizer11CheckFailedEPKciS1_yy@Base 4.9 + _ZN11__sanitizer7OnPrintEPKc@Base 4.9 + __asan_backtrace_alloc@Base 4.9 + __asan_backtrace_close@Base 4.9 + __asan_backtrace_create_state@Base 4.9 + __asan_backtrace_dwarf_add@Base 4.9 + __asan_backtrace_free@Base 4.9 + __asan_backtrace_get_view@Base 4.9 + __asan_backtrace_initialize@Base 4.9 + __asan_backtrace_open@Base 4.9 + __asan_backtrace_pcinfo@Base 4.9 + __asan_backtrace_qsort@Base 4.9 + __asan_backtrace_release_view@Base 4.9 + __asan_backtrace_syminfo@Base 4.9 + __asan_backtrace_vector_finish@Base 4.9 + __asan_backtrace_vector_grow@Base 4.9 + __asan_backtrace_vector_release@Base 4.9 + __asan_cplus_demangle_builtin_types@Base 4.9 + __asan_cplus_demangle_fill_ctor@Base 4.9 + __asan_cplus_demangle_fill_dtor@Base 4.9 + __asan_cplus_demangle_fill_extended_operator@Base 4.9 + __asan_cplus_demangle_fill_name@Base 4.9 + __asan_cplus_demangle_init_info@Base 4.9 + __asan_cplus_demangle_mangled_name@Base 4.9 + __asan_cplus_demangle_operators@Base 4.9 + __asan_cplus_demangle_print@Base 4.9 + __asan_cplus_demangle_print_callback@Base 4.9 + __asan_cplus_demangle_type@Base 4.9 + __asan_cplus_demangle_v3@Base 4.9 + __asan_cplus_demangle_v3_callback@Base 4.9 + __asan_internal_memcmp@Base 4.9 + __asan_internal_memcpy@Base 4.9 + __asan_internal_memset@Base 4.9 + __asan_internal_strcmp@Base 4.9 + __asan_internal_strlen@Base 4.9 + __asan_internal_strncmp@Base 4.9 + __asan_internal_strnlen@Base 4.9 + __asan_is_gnu_v3_mangled_ctor@Base 4.9 + __asan_is_gnu_v3_mangled_dtor@Base 4.9 + __asan_java_demangle_v3@Base 4.9 + __asan_java_demangle_v3_callback@Base 4.9 + __sanitizer_cov@Base 4.9 + __sanitizer_cov_dump@Base 4.9 + __sanitizer_cov_indir_call16@Base 5 + __sanitizer_cov_init@Base 5 + __sanitizer_cov_module_init@Base 5 + __sanitizer_cov_trace_basic_block@Base 6 + __sanitizer_cov_trace_cmp1@Base 7 + __sanitizer_cov_trace_cmp2@Base 7 + __sanitizer_cov_trace_cmp4@Base 7 + __sanitizer_cov_trace_cmp8@Base 7 + __sanitizer_cov_trace_cmp@Base 6 + __sanitizer_cov_trace_div4@Base 7 + __sanitizer_cov_trace_div8@Base 7 + __sanitizer_cov_trace_func_enter@Base 6 + __sanitizer_cov_trace_gep@Base 7 + __sanitizer_cov_trace_pc_guard@Base 7 + __sanitizer_cov_trace_pc_guard_init@Base 7 + __sanitizer_cov_trace_pc_indir@Base 7 + __sanitizer_cov_trace_switch@Base 6 + __sanitizer_cov_with_check@Base 6 + __sanitizer_get_coverage_guards@Base 6 + __sanitizer_get_number_of_counters@Base 6 + __sanitizer_get_total_unique_caller_callee_pairs@Base 6 + __sanitizer_get_total_unique_coverage@Base 6 + __sanitizer_install_malloc_and_free_hooks@Base 7 + __sanitizer_maybe_open_cov_file@Base 5 + __sanitizer_report_error_summary@Base 4.9 + __sanitizer_reset_coverage@Base 6 + __sanitizer_sandbox_on_notify@Base 4.9 + __sanitizer_set_death_callback@Base 6 + __sanitizer_set_report_fd@Base 7 + __sanitizer_set_report_path@Base 4.9 + __sanitizer_symbolize_global@Base 7 + __sanitizer_symbolize_pc@Base 7 + __sanitizer_update_counter_bitset_and_clear_counters@Base 6 + __ubsan_handle_add_overflow@Base 4.9 + __ubsan_handle_add_overflow_abort@Base 4.9 + __ubsan_handle_builtin_unreachable@Base 4.9 + __ubsan_handle_cfi_bad_icall@Base 7 + __ubsan_handle_cfi_bad_icall_abort@Base 7 + __ubsan_handle_cfi_bad_type@Base 7 + __ubsan_handle_cfi_bad_type_abort@Base 7 + __ubsan_handle_cfi_check_fail@Base 7 + __ubsan_handle_cfi_check_fail_abort@Base 7 + __ubsan_handle_divrem_overflow@Base 4.9 + __ubsan_handle_divrem_overflow_abort@Base 4.9 + __ubsan_handle_dynamic_type_cache_miss@Base 4.9 + __ubsan_handle_dynamic_type_cache_miss_abort@Base 4.9 + __ubsan_handle_float_cast_overflow@Base 4.9 + __ubsan_handle_float_cast_overflow_abort@Base 4.9 + __ubsan_handle_function_type_mismatch@Base 4.9 + __ubsan_handle_function_type_mismatch_abort@Base 4.9 + __ubsan_handle_load_invalid_value@Base 4.9 + __ubsan_handle_load_invalid_value_abort@Base 4.9 + __ubsan_handle_missing_return@Base 4.9 + __ubsan_handle_mul_overflow@Base 4.9 + __ubsan_handle_mul_overflow_abort@Base 4.9 + __ubsan_handle_negate_overflow@Base 4.9 + __ubsan_handle_negate_overflow_abort@Base 4.9 + __ubsan_handle_nonnull_arg@Base 5 + __ubsan_handle_nonnull_arg_abort@Base 5 + __ubsan_handle_nonnull_return@Base 5 + __ubsan_handle_nonnull_return_abort@Base 5 + __ubsan_handle_out_of_bounds@Base 4.9 + __ubsan_handle_out_of_bounds_abort@Base 4.9 + __ubsan_handle_shift_out_of_bounds@Base 4.9 + __ubsan_handle_shift_out_of_bounds_abort@Base 4.9 + __ubsan_handle_sub_overflow@Base 4.9 + __ubsan_handle_sub_overflow_abort@Base 4.9 + __ubsan_handle_type_mismatch@Base 4.9 + __ubsan_handle_type_mismatch_abort@Base 4.9 + __ubsan_handle_vla_bound_not_positive@Base 4.9 + __ubsan_handle_vla_bound_not_positive_abort@Base 4.9 + __ubsan_vptr_type_cache@Base 4.9 + (arch=base-any-any-amd64 any-mips any-mipsel)internal_sigreturn@Base 7 --- gcc-7-7.1.0.orig/debian/libvtv0.symbols +++ gcc-7-7.1.0/debian/libvtv0.symbols @@ -0,0 +1,68 @@ +libvtv.so.0 libvtv0 #MINVER# + _Z10__vtv_freePv@Base 4.9.0 + (arch=amd64)_Z12__vtv_mallocm@Base 4.9.0 + (arch=i386)_Z12__vtv_mallocj@Base 4.9.0 + _Z14__VLTDumpStatsv@Base 4.9.0 + _Z14__vtv_open_logPKc@Base 4.9.0 + (arch=amd64)_Z16__VLTRegisterSetPPvPKvmmS0_@Base 4.9.0 + (arch=i386)_Z16__VLTRegisterSetPPvPKvjjS0_@Base 4.9.0 + _Z16__vtv_add_to_logiPKcz@Base 4.9.0 + (arch=amd64)_Z17__VLTRegisterPairPPvPKvmS2_@Base 4.9.0 + (arch=i386)_Z17__VLTRegisterPairPPvPKvjS2_@Base 4.9.0 + _Z17__vtv_malloc_initv@Base 4.9.0 + _Z17__vtv_really_failPKc@Base 4.9.0 + _Z17__vtv_verify_failPPvPKv@Base 4.9.0 + _Z18__vtv_malloc_statsv@Base 4.9.0 + _Z20__vtv_malloc_protectv@Base 4.9.0 + (arch=amd64)_Z21__VLTRegisterSetDebugPPvPKvmmS0_@Base 4.9.0 + (arch=i386)_Z21__VLTRegisterSetDebugPPvPKvjjS0_@Base 4.9.0 + (arch=amd64)_Z22__VLTRegisterPairDebugPPvPKvmS2_PKcS4_@Base 4.9.0 + (arch=i386)_Z22__VLTRegisterPairDebugPPvPKvjS2_PKcS4_@Base 4.9.0 + _Z22__vtv_malloc_unprotectv@Base 4.9.0 + _Z23__vtv_malloc_dump_statsv@Base 4.9.0 + _Z23__vtv_verify_fail_debugPPvPKvPKc@Base 4.9.0 + (arch=amd64)_Z23search_cached_file_datam@Base 4.9.0 + (arch=i386)_Z23search_cached_file_dataj@Base 4.9.0 + _Z24__VLTVerifyVtablePointerPPvPKv@Base 4.9.0 + _Z25__vtv_count_mmapped_pagesv@Base 4.9.0 + _Z29__VLTVerifyVtablePointerDebugPPvPKvPKcS4_@Base 4.9.0 + _Z30__vtv_log_verification_failurePKcb@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12put_internalEPKNS8_8key_typeERKS6_b@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE15find_or_add_keyEPKNS8_8key_typeEPPS6_@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE16destructive_copyEv@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3putEPKNS8_8key_typeERKS6_@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE6createEm@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE7destroyEPS8_@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE11is_too_fullEm@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12bucket_countEv@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3getEPKNS8_8key_typeE@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE4sizeEv@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE5emptyEv@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE8key_type6equalsEPKS9_@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12put_internalEPKNS8_8key_typeERKS6_b@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE15find_or_add_keyEPKNS8_8key_typeEPPS6_@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE16destructive_copyEv@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3putEPKNS8_8key_typeERKS6_@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE6createEj@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE7destroyEPS8_@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE11is_too_fullEj@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12bucket_countEv@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3getEPKNS8_8key_typeE@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE4sizeEv@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE5emptyEv@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE8key_type6equalsEPKS9_@Base 4.9.0 + __VLTChangePermission@Base 4.9.0 + __VLTprotect@Base 4.9.0 + __VLTunprotect@Base 4.9.0 + _vtable_map_vars_end@Base 4.9.0 + _vtable_map_vars_start@Base 4.9.0 + mprotect_cycles@Base 4.9.0 + num_cache_entries@Base 4.9.0 + num_calls_to_mprotect@Base 4.9.0 + num_calls_to_regpair@Base 4.9.0 + num_calls_to_regset@Base 4.9.0 + num_calls_to_verify_vtable@Base 4.9.0 + num_pages_protected@Base 4.9.0 + regpair_cycles@Base 4.9.0 + regset_cycles@Base 4.9.0 + verify_vtable_cycles@Base 4.9.0 --- gcc-7-7.1.0.orig/debian/libx32asan4.overrides +++ gcc-7-7.1.0/debian/libx32asan4.overrides @@ -0,0 +1,2 @@ +# automake gets it wrong for the multilib build +libx32asan4 binary: binary-or-shlib-defines-rpath --- gcc-7-7.1.0.orig/debian/libx32asan4.symbols +++ gcc-7-7.1.0/debian/libx32asan4.symbols @@ -0,0 +1,4 @@ +libasan.so.4 libx32asan4 #MINVER# +#include "libasan.symbols.common" +#include "libasan.symbols.32" +#include "libasan.symbols.16" --- gcc-7-7.1.0.orig/debian/libx32gphobos68.lintian-overrides +++ gcc-7-7.1.0/debian/libx32gphobos68.lintian-overrides @@ -0,0 +1,2 @@ +# no multilib zlib for x32 +libx32gphobos68 binary: embedded-library --- gcc-7-7.1.0.orig/debian/libx32stdc++6.symbols +++ gcc-7-7.1.0/debian/libx32stdc++6.symbols @@ -0,0 +1,27 @@ +libstdc++.so.6 libx32stdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.money.ldbl" + __gxx_personality_v0@CXXABI_1.3 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 +#(optional)_Z16__VLTRegisterSetPPvPKvjjS0_@CXXABI_1.3.8 4.9.0 +#(optional)_Z17__VLTRegisterPairPPvPKvjS2_@CXXABI_1.3.8 4.9.0 +#(optional)_Z21__VLTRegisterSetDebugPPvPKvjjS0_@CXXABI_1.3.8 4.9.0 +#(optional)_Z22__VLTRegisterPairDebugPPvPKvjS2_PKcS4_@CXXABI_1.3.8 4.9.0 +#(optional)_Z24__VLTVerifyVtablePointerPPvPKv@CXXABI_1.3.8 4.9.0 +#(optional)_Z29__VLTVerifyVtablePointerDebugPPvPKvPKcS4_@CXXABI_1.3.8 4.9.0 +#(optional)__VLTChangePermission@CXXABI_1.3.8 4.9.0 + _ZTIPKn@CXXABI_1.3.5 4.9.0 + _ZTIPKo@CXXABI_1.3.5 4.9.0 + _ZTIPn@CXXABI_1.3.5 4.9.0 + _ZTIPo@CXXABI_1.3.5 4.9.0 + _ZTIn@CXXABI_1.3.5 4.9.0 + _ZTIo@CXXABI_1.3.5 4.9.0 + _ZTSPKn@CXXABI_1.3.9 4.9.0 + _ZTSPKo@CXXABI_1.3.9 4.9.0 + _ZTSPn@CXXABI_1.3.9 4.9.0 + _ZTSPo@CXXABI_1.3.9 4.9.0 + _ZTSn@CXXABI_1.3.9 4.9.0 + _ZTSo@CXXABI_1.3.9 4.9.0 --- gcc-7-7.1.0.orig/debian/locale-gen +++ gcc-7-7.1.0/debian/locale-gen @@ -0,0 +1,50 @@ +#!/bin/sh + +# generate locales that the libstdc++ testsuite depends on + +LOCPATH=`pwd`/locales +export LOCPATH + +[ -d $LOCPATH ] || mkdir -p $LOCPATH + +[ -n "$USE_CPUS" ] || USE_CPUS=1 + +umask 022 + +echo "Generating locales..." +xargs -L 1 -P $USE_CPUS -I{} \ + sh -c ' + set {}; locale=$1; charset=$2 + case $locale in \#*) exit;; esac + [ -n "$locale" -a -n "$charset" ] || exit + echo " `echo $locale | sed \"s/\([^.\@]*\).*/\1/\"`.$charset`echo $locale | sed \"s/\([^\@]*\)\(\@.*\)*/\2/\"`..." + if [ -f $LOCPATH/$locale ]; then + input=$locale + else + input=`echo $locale | sed "s/\([^.]*\)[^@]*\(.*\)/\1\2/"` + fi + localedef -i $input -c -f $charset $LOCPATH/$locale #-A /etc/locale.alias + ' <&2 "usage: `basename $0` [-p ] [-t ] [-m ]" + echo >&2 " [ ...]" + exit 1 +} + +while [ $# -gt 0 ]; do + case $1 in + -p) + pidfile=$2 + shift + shift + ;; + -t) + timeout=$2 + shift + shift + ;; + -m) + message="$2" + shift + shift + ;; + -*) + usage + ;; + *) + break + esac +done + +[ $# -gt 0 ] || usage + +logfile="$1" +shift +otherlogs="$@" + +cleanup() +{ + rm -f $pidfile + exit 0 +} + +#trap cleanup 0 1 3 15 + +echo $$ > $pidfile + +update() +{ + _logvar=$1 + _othervar=$2 + + # logfile may not exist yet + if [ -r $logfile ]; then + _logtail="`tail -10 $logfile | md5sum` $f" + else + _logtail="does not exist: $logfile" + fi + eval $_logvar="'$_logtail'" + + _othertails='' + for f in $otherlogs; do + if [ -r $f ]; then + _othertails="$_othertails `tail -10 $f | md5sum` $f" + else + _othertails="$_othertails does not exist: $f" + fi + done + eval $_othervar="'$_othertails'" +} + +update logtail othertails +while true; do + sleep $timeout + update newlogtail newothertails + if [ "$logtail" != "$newlogtail" ]; then + # there is still action in the primary logfile. do nothing. + logtail="$newlogtail" + elif [ "$othertails" != "$newothertails" ]; then + # there is still action in the other log files, so print the message + /bin/echo -e $message + othertails="$newothertails" + else + # nothing changed in the other log files. maybe a timeout ... + : + fi +done --- gcc-7-7.1.0.orig/debian/patches/PR55947-revert.diff +++ gcc-7-7.1.0/debian/patches/PR55947-revert.diff @@ -0,0 +1,350 @@ +# DP: Revert fix for PR target/55947, causing PR libstdc++/72813 + +libstdc++-v3/ + +2013-05-08 Andi Kleen + + PR target/55947 + * libstdc++-v3/include/bits/atomic_base.h + (_GLIBCXX_ALWAYS_INLINE): Add new macro. + (atomic_thread_fence, atomic_signal_fence, test_and_set, + clear, store, load, exchange, compare_exchange_weak) + compare_exchange_strong, fetch_add, fetch_sub, fetch_and, + fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE. + +Index: b/src/libstdc++-v3/include/bits/atomic_base.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/atomic_base.h ++++ b/src/libstdc++-v3/include/bits/atomic_base.h +@@ -97,11 +97,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + | (__m & __memory_order_modifier_mask)); + } + +- _GLIBCXX_ALWAYS_INLINE void ++ inline void + atomic_thread_fence(memory_order __m) noexcept + { __atomic_thread_fence(__m); } + +- _GLIBCXX_ALWAYS_INLINE void ++ inline void + atomic_signal_fence(memory_order __m) noexcept + { __atomic_signal_fence(__m); } + +@@ -170,19 +170,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + : __atomic_flag_base{ _S_init(__i) } + { } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + test_and_set(memory_order __m = memory_order_seq_cst) noexcept + { + return __atomic_test_and_set (&_M_i, __m); + } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept + { + return __atomic_test_and_set (&_M_i, __m); + } + +- _GLIBCXX_ALWAYS_INLINE void ++ void + clear(memory_order __m = memory_order_seq_cst) noexcept + { + memory_order __b = __m & __memory_order_mask; +@@ -193,7 +193,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __atomic_clear (&_M_i, __m); + } + +- _GLIBCXX_ALWAYS_INLINE void ++ void + clear(memory_order __m = memory_order_seq_cst) volatile noexcept + { + memory_order __b = __m & __memory_order_mask; +@@ -363,7 +363,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + reinterpret_cast(-__alignof(_M_i))); + } + +- _GLIBCXX_ALWAYS_INLINE void ++ void + store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept + { + memory_order __b = __m & __memory_order_mask; +@@ -374,7 +374,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __atomic_store_n(&_M_i, __i, __m); + } + +- _GLIBCXX_ALWAYS_INLINE void ++ void + store(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { +@@ -386,7 +386,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __atomic_store_n(&_M_i, __i, __m); + } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + load(memory_order __m = memory_order_seq_cst) const noexcept + { + memory_order __b = __m & __memory_order_mask; +@@ -396,7 +396,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __atomic_load_n(&_M_i, __m); + } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + load(memory_order __m = memory_order_seq_cst) const volatile noexcept + { + memory_order __b = __m & __memory_order_mask; +@@ -406,7 +406,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __atomic_load_n(&_M_i, __m); + } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + exchange(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { +@@ -414,14 +414,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + } + + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + exchange(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { + return __atomic_exchange_n(&_M_i, __i, __m); + } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + compare_exchange_weak(__int_type& __i1, __int_type __i2, + memory_order __m1, memory_order __m2) noexcept + { +@@ -434,7 +434,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); + } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + compare_exchange_weak(__int_type& __i1, __int_type __i2, + memory_order __m1, + memory_order __m2) volatile noexcept +@@ -448,7 +448,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); + } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + compare_exchange_weak(__int_type& __i1, __int_type __i2, + memory_order __m = memory_order_seq_cst) noexcept + { +@@ -456,7 +456,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __cmpexch_failure_order(__m)); + } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + compare_exchange_weak(__int_type& __i1, __int_type __i2, + memory_order __m = memory_order_seq_cst) volatile noexcept + { +@@ -464,7 +464,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __cmpexch_failure_order(__m)); + } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + compare_exchange_strong(__int_type& __i1, __int_type __i2, + memory_order __m1, memory_order __m2) noexcept + { +@@ -477,7 +477,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); + } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + compare_exchange_strong(__int_type& __i1, __int_type __i2, + memory_order __m1, + memory_order __m2) volatile noexcept +@@ -492,7 +492,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); + } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + compare_exchange_strong(__int_type& __i1, __int_type __i2, + memory_order __m = memory_order_seq_cst) noexcept + { +@@ -500,7 +500,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __cmpexch_failure_order(__m)); + } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + compare_exchange_strong(__int_type& __i1, __int_type __i2, + memory_order __m = memory_order_seq_cst) volatile noexcept + { +@@ -508,52 +508,52 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __cmpexch_failure_order(__m)); + } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + fetch_add(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_add(&_M_i, __i, __m); } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + fetch_add(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_add(&_M_i, __i, __m); } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + fetch_sub(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_sub(&_M_i, __i, __m); } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + fetch_sub(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_sub(&_M_i, __i, __m); } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + fetch_and(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_and(&_M_i, __i, __m); } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + fetch_and(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_and(&_M_i, __i, __m); } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + fetch_or(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_or(&_M_i, __i, __m); } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + fetch_or(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_or(&_M_i, __i, __m); } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + fetch_xor(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_xor(&_M_i, __i, __m); } + +- _GLIBCXX_ALWAYS_INLINE __int_type ++ __int_type + fetch_xor(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_xor(&_M_i, __i, __m); } +@@ -678,7 +678,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + reinterpret_cast(-__alignof(_M_p))); + } + +- _GLIBCXX_ALWAYS_INLINE void ++ void + store(__pointer_type __p, + memory_order __m = memory_order_seq_cst) noexcept + { +@@ -691,7 +691,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __atomic_store_n(&_M_p, __p, __m); + } + +- _GLIBCXX_ALWAYS_INLINE void ++ void + store(__pointer_type __p, + memory_order __m = memory_order_seq_cst) volatile noexcept + { +@@ -703,7 +703,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __atomic_store_n(&_M_p, __p, __m); + } + +- _GLIBCXX_ALWAYS_INLINE __pointer_type ++ __pointer_type + load(memory_order __m = memory_order_seq_cst) const noexcept + { + memory_order __b = __m & __memory_order_mask; +@@ -713,7 +713,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __atomic_load_n(&_M_p, __m); + } + +- _GLIBCXX_ALWAYS_INLINE __pointer_type ++ __pointer_type + load(memory_order __m = memory_order_seq_cst) const volatile noexcept + { + memory_order __b = __m & __memory_order_mask; +@@ -723,7 +723,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __atomic_load_n(&_M_p, __m); + } + +- _GLIBCXX_ALWAYS_INLINE __pointer_type ++ __pointer_type + exchange(__pointer_type __p, + memory_order __m = memory_order_seq_cst) noexcept + { +@@ -731,14 +731,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + } + + +- _GLIBCXX_ALWAYS_INLINE __pointer_type ++ __pointer_type + exchange(__pointer_type __p, + memory_order __m = memory_order_seq_cst) volatile noexcept + { + return __atomic_exchange_n(&_M_p, __p, __m); + } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, + memory_order __m1, + memory_order __m2) noexcept +@@ -752,7 +752,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); + } + +- _GLIBCXX_ALWAYS_INLINE bool ++ bool + compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, + memory_order __m1, + memory_order __m2) volatile noexcept +@@ -767,22 +767,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); + } + +- _GLIBCXX_ALWAYS_INLINE __pointer_type ++ __pointer_type + fetch_add(ptrdiff_t __d, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } + +- _GLIBCXX_ALWAYS_INLINE __pointer_type ++ __pointer_type + fetch_add(ptrdiff_t __d, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } + +- _GLIBCXX_ALWAYS_INLINE __pointer_type ++ __pointer_type + fetch_sub(ptrdiff_t __d, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } + +- _GLIBCXX_ALWAYS_INLINE __pointer_type ++ __pointer_type + fetch_sub(ptrdiff_t __d, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } --- gcc-7-7.1.0.orig/debian/patches/ada-749574.diff +++ gcc-7-7.1.0/debian/patches/ada-749574.diff @@ -0,0 +1,114 @@ +From: Ludovic Brenta +From: Nicolas Boulenguez +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81087 +Bug-Debian: http://bugs.debian.org/749574 +Description: array index out of range in gnatlink + The procedure gnatlink assumes that the Linker_Options.Table contains access + values to strings whose 'First index is always 1. This assumption is wrong + for the string returned by function Base_Name. + . + The wrong indices are not detected because gnatlink is compiled with + -gnatp, but the test result is wrong. + . + The following program normally raises Constraint_Error, prints FALSE + if compiled with -gnatn, while the expected result is TRUE. + . + procedure A is + G : constant String (3 .. 5) := "abc"; + begin + Ada.Text_IO.Put_Line (Boolean'Image (G (1 .. 2) = "ab")); + end A; + +--- a/src/gcc/ada/gnatlink.adb ++++ b/src/gcc/ada/gnatlink.adb +@@ -238,6 +238,9 @@ + procedure Write_Usage; + -- Show user the program options + ++ function Starts_With (Source, Pattern : String) return Boolean; ++ pragma Inline (Starts_With); ++ + --------------- + -- Base_Name -- + --------------- +@@ -524,7 +527,7 @@ + Binder_Options.Table (Binder_Options.Last) := + Linker_Options.Table (Linker_Options.Last); + +- elsif Arg'Length >= 7 and then Arg (1 .. 7) = "--LINK=" then ++ elsif Starts_With (Arg, "--LINK=") then + if Arg'Length = 7 then + Exit_With_Error ("Missing argument for --LINK="); + end if; +@@ -537,7 +540,7 @@ + ("Could not locate linker: " & Arg (8 .. Arg'Last)); + end if; + +- elsif Arg'Length > 6 and then Arg (1 .. 6) = "--GCC=" then ++ elsif Starts_With (Arg, "--GCC=") then + declare + Program_Args : constant Argument_List_Access := + Argument_String_To_List +@@ -1258,13 +1261,9 @@ + 1 .. Linker_Options.Last + loop + if Linker_Options.Table (J) /= null +- and then +- Linker_Options.Table (J)'Length +- > Run_Path_Opt'Length +- and then +- Linker_Options.Table (J) +- (1 .. Run_Path_Opt'Length) = +- Run_Path_Opt ++ and then Starts_With ++ (Linker_Options.Table (J).all, ++ Run_Path_Opt) + then + -- We have found an already + -- specified run_path_option: +@@ -1381,6 +1380,17 @@ + Status := fclose (Fd); + end Process_Binder_File; + ++ ---------------- ++ -- StartsWith -- ++ ---------------- ++ ++ function Starts_With (Source, Pattern : String) return Boolean is ++ Last : constant Natural := Source'First + Pattern'Length - 1; ++ begin ++ return Last <= Source'Last ++ and then Pattern = Source (Source'First .. Last); ++ end Starts_With; ++ + ----------- + -- Usage -- + ----------- +@@ -1894,8 +1904,8 @@ + while J <= Linker_Options.Last loop + if Linker_Options.Table (J).all = "-Xlinker" + and then J < Linker_Options.Last +- and then Linker_Options.Table (J + 1)'Length > 8 +- and then Linker_Options.Table (J + 1) (1 .. 8) = "--stack=" ++ and then Starts_With (Linker_Options.Table (J + 1).all, ++ "--stack=") + then + if Stack_Op then + Linker_Options.Table (J .. Linker_Options.Last - 2) := +@@ -1926,13 +1935,9 @@ + -- Here we just check for a canonical form that matches the + -- pragma Linker_Options set in the NT runtime. + +- if (Linker_Options.Table (J)'Length > 17 +- and then Linker_Options.Table (J) (1 .. 17) = +- "-Xlinker --stack=") +- or else +- (Linker_Options.Table (J)'Length > 12 +- and then Linker_Options.Table (J) (1 .. 12) = +- "-Wl,--stack=") ++ if Starts_With (Linker_Options.Table (J).all, "-Xlinker --stack=") ++ or else Starts_With (Linker_Options.Table (J).all, ++ "-Wl,--stack=") + then + if Stack_Op then + Linker_Options.Table (J .. Linker_Options.Last - 1) := --- gcc-7-7.1.0.orig/debian/patches/ada-acats.diff +++ gcc-7-7.1.0/debian/patches/ada-acats.diff @@ -0,0 +1,175 @@ +# DP: - When running the ACATS, look for the gnat tools in their new +# DP: directory (build/gnattools), and for the shared libraries in +# DP: build/gcc/ada/rts and build/libgnatvsn. + +--- a/src/gcc/testsuite/ada/acats/run_acats.sh ++++ b/src/gcc/testsuite/ada/acats/run_acats.sh +@@ -22,45 +22,25 @@ + + # Set up environment to use the Ada compiler from the object tree + +-host_gnatchop=`which gnatchop` +-host_gnatmake=`which gnatmake` + ROOT=`${PWDCMD-pwd}` + BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}` + + PATH=$BASE:$ROOT:$PATH +-ADA_INCLUDE_PATH=$BASE/ada/rts +-LD_LIBRARY_PATH=$ADA_INCLUDE_PATH:$BASE:$LD_LIBRARY_PATH +-ADA_OBJECTS_PATH=$ADA_INCLUDE_PATH + +-if [ ! -d $ADA_INCLUDE_PATH ]; then +- echo gnatlib missing, exiting. +- exit 1 +-fi ++TARGET=`${GCC_DRIVER} -v 2>&1 |grep '^Target:' | cut -d' ' -f2` ++GNATTOOLS=`cd $BASE/../gnattools; ${PWDCMD-pwd}` ++LIBGNATVSN=`cd $BASE/../${TARGET}/libgnatvsn; ${PWDCMD-pwd}` + +-if [ ! -f $BASE/gnatchop ]; then +- echo gnattools missing, exiting. +- exit 1 +-fi +- +-if [ ! -f $BASE/gnatmake ]; then +- echo gnattools missing, exiting. +- exit 1 +-fi ++export GNATTOOLS LIBGNATVSN LIBGNATPRJ + + export PATH ADA_INCLUDE_PATH ADA_OBJECTS_PATH BASE LD_LIBRARY_PATH + + echo '#!/bin/sh' > host_gnatchop +-echo PATH=`dirname $host_gnatchop`:'$PATH' >> host_gnatchop +-echo unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_EXEC_PREFIX >> host_gnatchop +-echo export PATH >> host_gnatchop + echo exec gnatchop '"$@"' >> host_gnatchop + + chmod +x host_gnatchop + + echo '#!/bin/sh' > host_gnatmake +-echo PATH=`dirname $host_gnatmake`:'$PATH' >> host_gnatmake +-echo unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_EXEC_PREFIX >> host_gnatmake +-echo export PATH >> host_gnatmake + echo exec gnatmake '"$@"' >> host_gnatmake + + chmod +x host_gnatmake +--- a/src/gcc/testsuite/ada/acats/run_all.sh ++++ b/src/gcc/testsuite/ada/acats/run_all.sh +@@ -14,6 +14,10 @@ + + # End of customization section. + ++RTS=`cd $GNATTOOLS/../gcc/ada/rts; ${PWDCMD-pwd}` ++LD_LIBRARY_PATH=$RTS:$LIBGNATVSN ++export LD_LIBRARY_PATH ++ + # Perform arithmetic evaluation on the ARGs, and store the result in the + # global $as_val. Take advantage of shells that can avoid forks. The arguments + # must be portable across $(()) and expr. +@@ -56,12 +60,16 @@ + GCC="$BASE/xgcc -B$BASE/" + + target_gnatchop () { +- $BASE/gnatchop --GCC="$BASE/xgcc" $* ++ ADA_INCLUDE_PATH=$GNATTOOLS/../../src/gcc/ada \ ++ $GNATTOOLS/gnatchop --GCC="$BASE/xgcc" $* + } + + target_gnatmake () { +- echo $BASE/gnatmake --GNATBIND=$BASE/gnatbind --GNATLINK=$BASE/gnatlink --GCC="$GCC" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC="$GCC" +- $BASE/gnatmake --GNATBIND=$BASE/gnatbind --GNATLINK=$BASE/gnatlink --GCC="$GCC" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC="$GCC" ++ EXTERNAL_OBJECTS="$EXTERNAL_OBJECTS $RTS/adaint.o $RTS/sysdep.o $RTS/init.o $RTS/raise-gcc.o" ++ $GNATTOOLS/gnatmake -I- -I$RTS -I. \ ++ --GCC="$GCC" --GNATBIND="$GNATTOOLS/gnatbind" \ ++ --GNATLINK="$GNATTOOLS/gnatlink" $gnatflags $gccflags $* \ ++ -bargs -static -largs $EXTERNAL_OBJECTS --GCC="$GCC -I- -I$RTS -I." + } + + target_gcc () { +@@ -98,8 +106,8 @@ + display `$GCC -v 2>&1` + display host=`gcc -dumpmachine` + display target=$target +-display `type gnatmake` +-gnatls -v >> $dir/acats.log ++display `type $GNATTOOLS/gnatmake` ++$GNATTOOLS/gnatls -I- -I$RTS -v >> $dir/acats.log + display "" + + if [ -n "$GCC_RUNTEST_PARALLELIZE_DIR" ]; then +@@ -130,7 +138,7 @@ + exit 1 + fi + target_run $dir/support/impbit > $dir/support/impbit.out 2>&1 +-target_bit=`cat $dir/support/impbit.out` ++target_bit=`cat $dir/support/impbit.out | sed -e 's/ //g' -e 's/\r//g'` + echo target_bit="$target_bit" >> $dir/acats.log + + # Find out a suitable asm statement +--- a/src/gcc/testsuite/lib/gnat.exp ++++ b/src/gcc/testsuite/lib/gnat.exp +@@ -88,18 +88,24 @@ + global GNAT_UNDER_TEST + global TOOL_EXECUTABLE + global gnat_target_current ++ global ld_library_path + + set gnat_target_current "" + + if { $gnat_initialized == 1 } { return } + +- if ![info exists GNAT_UNDER_TEST] then { +- if [info exists TOOL_EXECUTABLE] { +- set GNAT_UNDER_TEST "$TOOL_EXECUTABLE" +- } else { +- set GNAT_UNDER_TEST "[local_find_gnatmake]" +- } +- } ++ set target [target_info name] ++ set GNAT_UNDER_TEST "$rootme/../gnattools/gnatmake -I$rootme/ada/rts --GCC=$rootme/xgcc --GNATBIND=$rootme/../gnattools/gnatbind --GNATLINK=$rootme/../gnattools/gnatlink -cargs -B$rootme -largs --GCC=$rootme/xgcc -B$rootme -margs" ++ append ld_library_path ":$rootme/ada/rts" ++ append ld_library_path ":$rootme/../$target/libgnatvsn" ++ set_ld_library_path_env_vars ++ ++ # gnatlink looks for system.ads itself and has no --RTS option, so ++ # specify via environment ++ verbose -log "ADA_INCLUDE_PATH=$rootme/ada/rts" ++ verbose -log "ADA_OBJECTS_PATH=$rootme/ada/rts" ++ setenv ADA_INCLUDE_PATH "$rootme/ada/rts" ++ setenv ADA_OBJECTS_PATH "$rootme/ada/rts" + + if ![info exists tmpdir] then { + set tmpdir /tmp +@@ -121,31 +127,6 @@ + return [gcc_target_compile $source $dest $type $options] + } + +- # If we detect a change of target, we need to recompute both +- # GNAT_UNDER_TEST and the appropriate RTS. +- if { $gnat_target_current!="[current_target_name]" } { +- set gnat_target_current "[current_target_name]" +- if [info exists TOOL_OPTIONS] { +- set rtsdir "[get_multilibs ${TOOL_OPTIONS}]/libada" +- } else { +- set rtsdir "[get_multilibs]/libada" +- } +- if [info exists TOOL_EXECUTABLE] { +- set GNAT_UNDER_TEST "$TOOL_EXECUTABLE" +- } else { +- set GNAT_UNDER_TEST "[local_find_gnatmake]" +- } +- set GNAT_UNDER_TEST "$GNAT_UNDER_TEST --RTS=$rtsdir" +- +- # gnatlink looks for system.ads itself and has no --RTS option, so +- # specify via environment +- setenv ADA_INCLUDE_PATH "$rtsdir/adainclude" +- setenv ADA_OBJECTS_PATH "$rtsdir/adainclude" +- # Always log so compilations can be repeated manually. +- verbose -log "ADA_INCLUDE_PATH=$rtsdir/adainclude" +- verbose -log "ADA_OBJECTS_PATH=$rtsdir/adainclude" +- } +- + lappend options "compiler=$GNAT_UNDER_TEST -q -f" + lappend options "timeout=[timeout_value]" + --- gcc-7-7.1.0.orig/debian/patches/ada-arm.diff +++ gcc-7-7.1.0/debian/patches/ada-arm.diff @@ -0,0 +1,18 @@ +DP: Improve support for ZCX on arm. + +Index: b/src/gcc/ada/gcc-interface/Makefile.in +=================================================================== +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -1957,7 +1957,10 @@ ifeq ($(strip $(filter-out arm% linux-gn + ifeq ($(strip $(filter-out arm%b,$(target_cpu))),) + EH_MECHANISM= + else +- EH_MECHANISM=-arm ++ # Special case; the GCC exception mechanism is supported under ++ # another name and with different files than for other ++ # target_cpus. ++ override EH_MECHANISM=-arm + endif + + TOOLS_TARGET_PAIRS = \ --- gcc-7-7.1.0.orig/debian/patches/ada-changes-in-autogen-output.diff +++ gcc-7-7.1.0/debian/patches/ada-changes-in-autogen-output.diff @@ -0,0 +1,1603 @@ +Some patches modify src/Makefile.def or src/Makefile.tpl. +# grep -l '^--- .*/src/Makefile.[\(def\)\(tpl\)]' debian/patches/*.diff + +Ideally, src/Makefile.in should be regenerated with autogen as done +for autoconf, but we attempt to avoid to Build-Depend: autogen, which +then Depends: guile by storing the changes in this patch. + +Please update it when necessary. +# export QUILT_PATCHES=debian/patches +# quilt pop ada-changes-in-autogen-output.diff +# quilt add src/Makefile.in +# (cd src && autogen Makefile.def) +# quilt refresh --no-timestamps --no-index -pab +# quilt push -a + +Index: b/src/Makefile.in +=================================================================== +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -1008,6 +1008,8 @@ configure-target: \ + maybe-configure-target-zlib \ + maybe-configure-target-rda \ + maybe-configure-target-libada \ ++ maybe-configure-target-libgnatvsn \ ++ maybe-configure-target-libada-sjlj \ + maybe-configure-target-libgomp \ + maybe-configure-target-libitm \ + maybe-configure-target-libatomic +@@ -1175,6 +1177,8 @@ all-target: maybe-all-target-libffi + all-target: maybe-all-target-zlib + all-target: maybe-all-target-rda + all-target: maybe-all-target-libada ++all-target: maybe-all-target-libgnatvsn ++all-target: maybe-all-target-libada-sjlj + @if target-libgomp-no-bootstrap + all-target: maybe-all-target-libgomp + @endif target-libgomp-no-bootstrap +@@ -1269,6 +1273,8 @@ info-target: maybe-info-target-libffi + info-target: maybe-info-target-zlib + info-target: maybe-info-target-rda + info-target: maybe-info-target-libada ++info-target: maybe-info-target-libgnatvsn ++info-target: maybe-info-target-libada-sjlj + info-target: maybe-info-target-libgomp + info-target: maybe-info-target-libitm + info-target: maybe-info-target-libatomic +@@ -1356,6 +1362,8 @@ dvi-target: maybe-dvi-target-libffi + dvi-target: maybe-dvi-target-zlib + dvi-target: maybe-dvi-target-rda + dvi-target: maybe-dvi-target-libada ++dvi-target: maybe-dvi-target-libgnatvsn ++dvi-target: maybe-dvi-target-libada-sjlj + dvi-target: maybe-dvi-target-libgomp + dvi-target: maybe-dvi-target-libitm + dvi-target: maybe-dvi-target-libatomic +@@ -1443,6 +1451,8 @@ pdf-target: maybe-pdf-target-libffi + pdf-target: maybe-pdf-target-zlib + pdf-target: maybe-pdf-target-rda + pdf-target: maybe-pdf-target-libada ++pdf-target: maybe-pdf-target-libgnatvsn ++pdf-target: maybe-pdf-target-libada-sjlj + pdf-target: maybe-pdf-target-libgomp + pdf-target: maybe-pdf-target-libitm + pdf-target: maybe-pdf-target-libatomic +@@ -1530,6 +1540,8 @@ html-target: maybe-html-target-libffi + html-target: maybe-html-target-zlib + html-target: maybe-html-target-rda + html-target: maybe-html-target-libada ++html-target: maybe-html-target-libgnatvsn ++html-target: maybe-html-target-libada-sjlj + html-target: maybe-html-target-libgomp + html-target: maybe-html-target-libitm + html-target: maybe-html-target-libatomic +@@ -1617,6 +1629,8 @@ TAGS-target: maybe-TAGS-target-libffi + TAGS-target: maybe-TAGS-target-zlib + TAGS-target: maybe-TAGS-target-rda + TAGS-target: maybe-TAGS-target-libada ++TAGS-target: maybe-TAGS-target-libgnatvsn ++TAGS-target: maybe-TAGS-target-libada-sjlj + TAGS-target: maybe-TAGS-target-libgomp + TAGS-target: maybe-TAGS-target-libitm + TAGS-target: maybe-TAGS-target-libatomic +@@ -1704,6 +1718,8 @@ install-info-target: maybe-install-info- + install-info-target: maybe-install-info-target-zlib + install-info-target: maybe-install-info-target-rda + install-info-target: maybe-install-info-target-libada ++install-info-target: maybe-install-info-target-libgnatvsn ++install-info-target: maybe-install-info-target-libada-sjlj + install-info-target: maybe-install-info-target-libgomp + install-info-target: maybe-install-info-target-libitm + install-info-target: maybe-install-info-target-libatomic +@@ -1791,6 +1807,8 @@ install-pdf-target: maybe-install-pdf-ta + install-pdf-target: maybe-install-pdf-target-zlib + install-pdf-target: maybe-install-pdf-target-rda + install-pdf-target: maybe-install-pdf-target-libada ++install-pdf-target: maybe-install-pdf-target-libgnatvsn ++install-pdf-target: maybe-install-pdf-target-libada-sjlj + install-pdf-target: maybe-install-pdf-target-libgomp + install-pdf-target: maybe-install-pdf-target-libitm + install-pdf-target: maybe-install-pdf-target-libatomic +@@ -1878,6 +1896,8 @@ install-html-target: maybe-install-html- + install-html-target: maybe-install-html-target-zlib + install-html-target: maybe-install-html-target-rda + install-html-target: maybe-install-html-target-libada ++install-html-target: maybe-install-html-target-libgnatvsn ++install-html-target: maybe-install-html-target-libada-sjlj + install-html-target: maybe-install-html-target-libgomp + install-html-target: maybe-install-html-target-libitm + install-html-target: maybe-install-html-target-libatomic +@@ -1965,6 +1985,8 @@ installcheck-target: maybe-installcheck- + installcheck-target: maybe-installcheck-target-zlib + installcheck-target: maybe-installcheck-target-rda + installcheck-target: maybe-installcheck-target-libada ++installcheck-target: maybe-installcheck-target-libgnatvsn ++installcheck-target: maybe-installcheck-target-libada-sjlj + installcheck-target: maybe-installcheck-target-libgomp + installcheck-target: maybe-installcheck-target-libitm + installcheck-target: maybe-installcheck-target-libatomic +@@ -2052,6 +2074,8 @@ mostlyclean-target: maybe-mostlyclean-ta + mostlyclean-target: maybe-mostlyclean-target-zlib + mostlyclean-target: maybe-mostlyclean-target-rda + mostlyclean-target: maybe-mostlyclean-target-libada ++mostlyclean-target: maybe-mostlyclean-target-libgnatvsn ++mostlyclean-target: maybe-mostlyclean-target-libada-sjlj + mostlyclean-target: maybe-mostlyclean-target-libgomp + mostlyclean-target: maybe-mostlyclean-target-libitm + mostlyclean-target: maybe-mostlyclean-target-libatomic +@@ -2139,6 +2163,8 @@ clean-target: maybe-clean-target-libffi + clean-target: maybe-clean-target-zlib + clean-target: maybe-clean-target-rda + clean-target: maybe-clean-target-libada ++clean-target: maybe-clean-target-libgnatvsn ++clean-target: maybe-clean-target-libada-sjlj + clean-target: maybe-clean-target-libgomp + clean-target: maybe-clean-target-libitm + clean-target: maybe-clean-target-libatomic +@@ -2226,6 +2252,8 @@ distclean-target: maybe-distclean-target + distclean-target: maybe-distclean-target-zlib + distclean-target: maybe-distclean-target-rda + distclean-target: maybe-distclean-target-libada ++distclean-target: maybe-distclean-target-libgnatvsn ++distclean-target: maybe-distclean-target-libada-sjlj + distclean-target: maybe-distclean-target-libgomp + distclean-target: maybe-distclean-target-libitm + distclean-target: maybe-distclean-target-libatomic +@@ -2313,6 +2341,8 @@ maintainer-clean-target: maybe-maintaine + maintainer-clean-target: maybe-maintainer-clean-target-zlib + maintainer-clean-target: maybe-maintainer-clean-target-rda + maintainer-clean-target: maybe-maintainer-clean-target-libada ++maintainer-clean-target: maybe-maintainer-clean-target-libgnatvsn ++maintainer-clean-target: maybe-maintainer-clean-target-libada-sjlj + maintainer-clean-target: maybe-maintainer-clean-target-libgomp + maintainer-clean-target: maybe-maintainer-clean-target-libitm + maintainer-clean-target: maybe-maintainer-clean-target-libatomic +@@ -2456,6 +2486,8 @@ check-target: \ + maybe-check-target-zlib \ + maybe-check-target-rda \ + maybe-check-target-libada \ ++ maybe-check-target-libgnatvsn \ ++ maybe-check-target-libada-sjlj \ + maybe-check-target-libgomp \ + maybe-check-target-libitm \ + maybe-check-target-libatomic +@@ -2639,6 +2671,8 @@ install-target: \ + maybe-install-target-zlib \ + maybe-install-target-rda \ + maybe-install-target-libada \ ++ maybe-install-target-libgnatvsn \ ++ maybe-install-target-libada-sjlj \ + maybe-install-target-libgomp \ + maybe-install-target-libitm \ + maybe-install-target-libatomic +@@ -2746,6 +2780,8 @@ install-strip-target: \ + maybe-install-strip-target-zlib \ + maybe-install-strip-target-rda \ + maybe-install-strip-target-libada \ ++ maybe-install-strip-target-libgnatvsn \ ++ maybe-install-strip-target-libada-sjlj \ + maybe-install-strip-target-libgomp \ + maybe-install-strip-target-libitm \ + maybe-install-strip-target-libatomic +@@ -33934,12 +33970,6 @@ maybe-check-gnattools: + maybe-check-gnattools: check-gnattools + + check-gnattools: +- @: $(MAKE); $(unstage) +- @r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(HOST_EXPORTS) \ +- (cd $(HOST_SUBDIR)/gnattools && \ +- $(MAKE) $(FLAGS_TO_PASS) check) + + @endif gnattools + +@@ -33980,24 +34010,8 @@ maybe-info-gnattools: + @if gnattools + maybe-info-gnattools: info-gnattools + +-info-gnattools: \ +- configure-gnattools +- @: $(MAKE); $(unstage) +- @[ -f ./gnattools/Makefile ] || exit 0; \ +- r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(HOST_EXPORTS) \ +- for flag in $(EXTRA_HOST_FLAGS) ; do \ +- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ +- done; \ +- echo "Doing info in gnattools"; \ +- (cd $(HOST_SUBDIR)/gnattools && \ +- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ +- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ +- "RANLIB=$${RANLIB}" \ +- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- info) \ +- || exit 1 ++# gnattools doesn't support info. ++info-gnattools: + + @endif gnattools + +@@ -34006,24 +34020,8 @@ maybe-dvi-gnattools: + @if gnattools + maybe-dvi-gnattools: dvi-gnattools + +-dvi-gnattools: \ +- configure-gnattools +- @: $(MAKE); $(unstage) +- @[ -f ./gnattools/Makefile ] || exit 0; \ +- r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(HOST_EXPORTS) \ +- for flag in $(EXTRA_HOST_FLAGS) ; do \ +- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ +- done; \ +- echo "Doing dvi in gnattools"; \ +- (cd $(HOST_SUBDIR)/gnattools && \ +- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ +- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ +- "RANLIB=$${RANLIB}" \ +- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- dvi) \ +- || exit 1 ++# gnattools doesn't support dvi. ++dvi-gnattools: + + @endif gnattools + +@@ -34032,24 +34030,8 @@ maybe-pdf-gnattools: + @if gnattools + maybe-pdf-gnattools: pdf-gnattools + +-pdf-gnattools: \ +- configure-gnattools +- @: $(MAKE); $(unstage) +- @[ -f ./gnattools/Makefile ] || exit 0; \ +- r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(HOST_EXPORTS) \ +- for flag in $(EXTRA_HOST_FLAGS) ; do \ +- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ +- done; \ +- echo "Doing pdf in gnattools"; \ +- (cd $(HOST_SUBDIR)/gnattools && \ +- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ +- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ +- "RANLIB=$${RANLIB}" \ +- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- pdf) \ +- || exit 1 ++# gnattools doesn't support pdf. ++pdf-gnattools: + + @endif gnattools + +@@ -34058,24 +34040,8 @@ maybe-html-gnattools: + @if gnattools + maybe-html-gnattools: html-gnattools + +-html-gnattools: \ +- configure-gnattools +- @: $(MAKE); $(unstage) +- @[ -f ./gnattools/Makefile ] || exit 0; \ +- r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(HOST_EXPORTS) \ +- for flag in $(EXTRA_HOST_FLAGS) ; do \ +- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ +- done; \ +- echo "Doing html in gnattools"; \ +- (cd $(HOST_SUBDIR)/gnattools && \ +- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ +- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ +- "RANLIB=$${RANLIB}" \ +- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- html) \ +- || exit 1 ++# gnattools doesn't support html. ++html-gnattools: + + @endif gnattools + +@@ -34084,24 +34050,8 @@ maybe-TAGS-gnattools: + @if gnattools + maybe-TAGS-gnattools: TAGS-gnattools + +-TAGS-gnattools: \ +- configure-gnattools +- @: $(MAKE); $(unstage) +- @[ -f ./gnattools/Makefile ] || exit 0; \ +- r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(HOST_EXPORTS) \ +- for flag in $(EXTRA_HOST_FLAGS) ; do \ +- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ +- done; \ +- echo "Doing TAGS in gnattools"; \ +- (cd $(HOST_SUBDIR)/gnattools && \ +- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ +- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ +- "RANLIB=$${RANLIB}" \ +- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- TAGS) \ +- || exit 1 ++# gnattools doesn't support TAGS. ++TAGS-gnattools: + + @endif gnattools + +@@ -34110,25 +34060,8 @@ maybe-install-info-gnattools: + @if gnattools + maybe-install-info-gnattools: install-info-gnattools + +-install-info-gnattools: \ +- configure-gnattools \ +- info-gnattools +- @: $(MAKE); $(unstage) +- @[ -f ./gnattools/Makefile ] || exit 0; \ +- r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(HOST_EXPORTS) \ +- for flag in $(EXTRA_HOST_FLAGS) ; do \ +- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ +- done; \ +- echo "Doing install-info in gnattools"; \ +- (cd $(HOST_SUBDIR)/gnattools && \ +- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ +- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ +- "RANLIB=$${RANLIB}" \ +- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- install-info) \ +- || exit 1 ++# gnattools doesn't support install-info. ++install-info-gnattools: + + @endif gnattools + +@@ -34137,25 +34070,8 @@ maybe-install-pdf-gnattools: + @if gnattools + maybe-install-pdf-gnattools: install-pdf-gnattools + +-install-pdf-gnattools: \ +- configure-gnattools \ +- pdf-gnattools +- @: $(MAKE); $(unstage) +- @[ -f ./gnattools/Makefile ] || exit 0; \ +- r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(HOST_EXPORTS) \ +- for flag in $(EXTRA_HOST_FLAGS) ; do \ +- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ +- done; \ +- echo "Doing install-pdf in gnattools"; \ +- (cd $(HOST_SUBDIR)/gnattools && \ +- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ +- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ +- "RANLIB=$${RANLIB}" \ +- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- install-pdf) \ +- || exit 1 ++# gnattools doesn't support install-pdf. ++install-pdf-gnattools: + + @endif gnattools + +@@ -34164,25 +34080,8 @@ maybe-install-html-gnattools: + @if gnattools + maybe-install-html-gnattools: install-html-gnattools + +-install-html-gnattools: \ +- configure-gnattools \ +- html-gnattools +- @: $(MAKE); $(unstage) +- @[ -f ./gnattools/Makefile ] || exit 0; \ +- r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(HOST_EXPORTS) \ +- for flag in $(EXTRA_HOST_FLAGS) ; do \ +- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ +- done; \ +- echo "Doing install-html in gnattools"; \ +- (cd $(HOST_SUBDIR)/gnattools && \ +- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ +- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ +- "RANLIB=$${RANLIB}" \ +- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- install-html) \ +- || exit 1 ++# gnattools doesn't support install-html. ++install-html-gnattools: + + @endif gnattools + +@@ -34191,24 +34090,8 @@ maybe-installcheck-gnattools: + @if gnattools + maybe-installcheck-gnattools: installcheck-gnattools + +-installcheck-gnattools: \ +- configure-gnattools +- @: $(MAKE); $(unstage) +- @[ -f ./gnattools/Makefile ] || exit 0; \ +- r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(HOST_EXPORTS) \ +- for flag in $(EXTRA_HOST_FLAGS) ; do \ +- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ +- done; \ +- echo "Doing installcheck in gnattools"; \ +- (cd $(HOST_SUBDIR)/gnattools && \ +- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ +- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ +- "RANLIB=$${RANLIB}" \ +- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- installcheck) \ +- || exit 1 ++# gnattools doesn't support installcheck. ++installcheck-gnattools: + + @endif gnattools + +@@ -49797,13 +49680,8 @@ maybe-check-target-libada: + @if target-libada + maybe-check-target-libada: check-target-libada + ++# Dummy target for uncheckable module. + check-target-libada: +- @: $(MAKE); $(unstage) +- @r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(NORMAL_TARGET_EXPORTS) \ +- (cd $(TARGET_SUBDIR)/libada && \ +- $(MAKE) $(TARGET_FLAGS_TO_PASS) check) + + @endif target-libada + +@@ -49812,13 +49690,8 @@ maybe-install-target-libada: + @if target-libada + maybe-install-target-libada: install-target-libada + +-install-target-libada: installdirs +- @: $(MAKE); $(unstage) +- @r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(NORMAL_TARGET_EXPORTS) \ +- (cd $(TARGET_SUBDIR)/libada && \ +- $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ++# Dummy target for uninstallable. ++install-target-libada: + + @endif target-libada + +@@ -49827,13 +49700,8 @@ maybe-install-strip-target-libada: + @if target-libada + maybe-install-strip-target-libada: install-strip-target-libada + +-install-strip-target-libada: installdirs +- @: $(MAKE); $(unstage) +- @r=`${PWD_COMMAND}`; export r; \ +- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ +- $(NORMAL_TARGET_EXPORTS) \ +- (cd $(TARGET_SUBDIR)/libada && \ +- $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip) ++# Dummy target for uninstallable. ++install-strip-target-libada: + + @endif target-libada + +@@ -49844,14 +49712,103 @@ maybe-info-target-libada: + @if target-libada + maybe-info-target-libada: info-target-libada + +-info-target-libada: \ +- configure-target-libada ++# libada doesn't support info. ++info-target-libada: ++ ++@endif target-libada ++ ++.PHONY: maybe-dvi-target-libada dvi-target-libada ++maybe-dvi-target-libada: ++@if target-libada ++maybe-dvi-target-libada: dvi-target-libada ++ ++# libada doesn't support dvi. ++dvi-target-libada: ++ ++@endif target-libada ++ ++.PHONY: maybe-pdf-target-libada pdf-target-libada ++maybe-pdf-target-libada: ++@if target-libada ++maybe-pdf-target-libada: pdf-target-libada ++ ++# libada doesn't support pdf. ++pdf-target-libada: ++ ++@endif target-libada ++ ++.PHONY: maybe-html-target-libada html-target-libada ++maybe-html-target-libada: ++@if target-libada ++maybe-html-target-libada: html-target-libada ++ ++# libada doesn't support html. ++html-target-libada: ++ ++@endif target-libada ++ ++.PHONY: maybe-TAGS-target-libada TAGS-target-libada ++maybe-TAGS-target-libada: ++@if target-libada ++maybe-TAGS-target-libada: TAGS-target-libada ++ ++# libada doesn't support TAGS. ++TAGS-target-libada: ++ ++@endif target-libada ++ ++.PHONY: maybe-install-info-target-libada install-info-target-libada ++maybe-install-info-target-libada: ++@if target-libada ++maybe-install-info-target-libada: install-info-target-libada ++ ++# libada doesn't support install-info. ++install-info-target-libada: ++ ++@endif target-libada ++ ++.PHONY: maybe-install-pdf-target-libada install-pdf-target-libada ++maybe-install-pdf-target-libada: ++@if target-libada ++maybe-install-pdf-target-libada: install-pdf-target-libada ++ ++# libada doesn't support install-pdf. ++install-pdf-target-libada: ++ ++@endif target-libada ++ ++.PHONY: maybe-install-html-target-libada install-html-target-libada ++maybe-install-html-target-libada: ++@if target-libada ++maybe-install-html-target-libada: install-html-target-libada ++ ++# libada doesn't support install-html. ++install-html-target-libada: ++ ++@endif target-libada ++ ++.PHONY: maybe-installcheck-target-libada installcheck-target-libada ++maybe-installcheck-target-libada: ++@if target-libada ++maybe-installcheck-target-libada: installcheck-target-libada ++ ++# libada doesn't support installcheck. ++installcheck-target-libada: ++ ++@endif target-libada ++ ++.PHONY: maybe-mostlyclean-target-libada mostlyclean-target-libada ++maybe-mostlyclean-target-libada: ++@if target-libada ++maybe-mostlyclean-target-libada: mostlyclean-target-libada ++ ++mostlyclean-target-libada: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing info in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +@@ -49860,24 +49817,23 @@ info-target-libada: \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- info) \ ++ mostlyclean) \ + || exit 1 + + @endif target-libada + +-.PHONY: maybe-dvi-target-libada dvi-target-libada +-maybe-dvi-target-libada: ++.PHONY: maybe-clean-target-libada clean-target-libada ++maybe-clean-target-libada: + @if target-libada +-maybe-dvi-target-libada: dvi-target-libada ++maybe-clean-target-libada: clean-target-libada + +-dvi-target-libada: \ +- configure-target-libada ++clean-target-libada: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing dvi in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing clean in $(TARGET_SUBDIR)/libada"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +@@ -49886,24 +49842,23 @@ dvi-target-libada: \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- dvi) \ ++ clean) \ + || exit 1 + + @endif target-libada + +-.PHONY: maybe-pdf-target-libada pdf-target-libada +-maybe-pdf-target-libada: ++.PHONY: maybe-distclean-target-libada distclean-target-libada ++maybe-distclean-target-libada: + @if target-libada +-maybe-pdf-target-libada: pdf-target-libada ++maybe-distclean-target-libada: distclean-target-libada + +-pdf-target-libada: \ +- configure-target-libada ++distclean-target-libada: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing pdf in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing distclean in $(TARGET_SUBDIR)/libada"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +@@ -49912,24 +49867,23 @@ pdf-target-libada: \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- pdf) \ ++ distclean) \ + || exit 1 + + @endif target-libada + +-.PHONY: maybe-html-target-libada html-target-libada +-maybe-html-target-libada: ++.PHONY: maybe-maintainer-clean-target-libada maintainer-clean-target-libada ++maybe-maintainer-clean-target-libada: + @if target-libada +-maybe-html-target-libada: html-target-libada ++maybe-maintainer-clean-target-libada: maintainer-clean-target-libada + +-html-target-libada: \ +- configure-target-libada ++maintainer-clean-target-libada: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing html in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +@@ -49938,28 +49892,559 @@ html-target-libada: \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ +- html) \ ++ maintainer-clean) \ + || exit 1 + + @endif target-libada + +-.PHONY: maybe-TAGS-target-libada TAGS-target-libada +-maybe-TAGS-target-libada: +-@if target-libada +-maybe-TAGS-target-libada: TAGS-target-libada + +-TAGS-target-libada: \ +- configure-target-libada ++ ++ ++ ++.PHONY: configure-target-libgnatvsn maybe-configure-target-libgnatvsn ++maybe-configure-target-libgnatvsn: ++@if gcc-bootstrap ++configure-target-libgnatvsn: stage_current ++@endif gcc-bootstrap ++@if target-libgnatvsn ++maybe-configure-target-libgnatvsn: configure-target-libgnatvsn ++configure-target-libgnatvsn: + @: $(MAKE); $(unstage) +- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ echo "Checking multilib configuration for libgnatvsn..."; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatvsn; \ ++ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp 2> /dev/null; \ ++ if test -r $(TARGET_SUBDIR)/libgnatvsn/multilib.out; then \ ++ if cmp -s $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; then \ ++ rm -f $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp; \ ++ else \ ++ rm -f $(TARGET_SUBDIR)/libgnatvsn/Makefile; \ ++ mv $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; \ ++ fi; \ ++ else \ ++ mv $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; \ ++ fi; \ ++ test ! -f $(TARGET_SUBDIR)/libgnatvsn/Makefile || exit 0; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatvsn; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo Configuring in $(TARGET_SUBDIR)/libgnatvsn; \ ++ cd "$(TARGET_SUBDIR)/libgnatvsn" || exit 1; \ ++ case $(srcdir) in \ ++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ ++ *) topdir=`echo $(TARGET_SUBDIR)/libgnatvsn/ | \ ++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ ++ esac; \ ++ module_srcdir=libgnatvsn; \ ++ rm -f no-such-file || : ; \ ++ CONFIG_SITE=no-such-file $(SHELL) \ ++ $$s/$$module_srcdir/configure \ ++ --srcdir=$${topdir}/$$module_srcdir \ ++ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \ ++ --target=${target_alias} \ ++ || exit 1 ++@endif target-libgnatvsn ++ ++ ++ ++ ++ ++.PHONY: all-target-libgnatvsn maybe-all-target-libgnatvsn ++maybe-all-target-libgnatvsn: ++@if gcc-bootstrap ++all-target-libgnatvsn: stage_current ++@endif gcc-bootstrap ++@if target-libgnatvsn ++TARGET-target-libgnatvsn=all ++maybe-all-target-libgnatvsn: all-target-libgnatvsn ++all-target-libgnatvsn: configure-target-libgnatvsn ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \ ++ $(TARGET-target-libgnatvsn)) ++@endif target-libgnatvsn ++ ++ ++ ++ ++ ++.PHONY: check-target-libgnatvsn maybe-check-target-libgnatvsn ++maybe-check-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-check-target-libgnatvsn: check-target-libgnatvsn ++ ++# Dummy target for uncheckable module. ++check-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: install-target-libgnatvsn maybe-install-target-libgnatvsn ++maybe-install-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-install-target-libgnatvsn: install-target-libgnatvsn ++ ++install-target-libgnatvsn: installdirs ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ++ ++@endif target-libgnatvsn ++ ++.PHONY: install-strip-target-libgnatvsn maybe-install-strip-target-libgnatvsn ++maybe-install-strip-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-install-strip-target-libgnatvsn: install-strip-target-libgnatvsn ++ ++install-strip-target-libgnatvsn: installdirs ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip) ++ ++@endif target-libgnatvsn ++ ++# Other targets (info, dvi, pdf, etc.) ++ ++.PHONY: maybe-info-target-libgnatvsn info-target-libgnatvsn ++maybe-info-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-info-target-libgnatvsn: info-target-libgnatvsn ++ ++# libgnatvsn doesn't support info. ++info-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-dvi-target-libgnatvsn dvi-target-libgnatvsn ++maybe-dvi-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-dvi-target-libgnatvsn: dvi-target-libgnatvsn ++ ++# libgnatvsn doesn't support dvi. ++dvi-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-pdf-target-libgnatvsn pdf-target-libgnatvsn ++maybe-pdf-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-pdf-target-libgnatvsn: pdf-target-libgnatvsn ++ ++# libgnatvsn doesn't support pdf. ++pdf-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-html-target-libgnatvsn html-target-libgnatvsn ++maybe-html-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-html-target-libgnatvsn: html-target-libgnatvsn ++ ++# libgnatvsn doesn't support html. ++html-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-TAGS-target-libgnatvsn TAGS-target-libgnatvsn ++maybe-TAGS-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-TAGS-target-libgnatvsn: TAGS-target-libgnatvsn ++ ++# libgnatvsn doesn't support TAGS. ++TAGS-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-install-info-target-libgnatvsn install-info-target-libgnatvsn ++maybe-install-info-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-install-info-target-libgnatvsn: install-info-target-libgnatvsn ++ ++# libgnatvsn doesn't support install-info. ++install-info-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-install-pdf-target-libgnatvsn install-pdf-target-libgnatvsn ++maybe-install-pdf-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-install-pdf-target-libgnatvsn: install-pdf-target-libgnatvsn ++ ++# libgnatvsn doesn't support install-pdf. ++install-pdf-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-install-html-target-libgnatvsn install-html-target-libgnatvsn ++maybe-install-html-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-install-html-target-libgnatvsn: install-html-target-libgnatvsn ++ ++# libgnatvsn doesn't support install-html. ++install-html-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-installcheck-target-libgnatvsn installcheck-target-libgnatvsn ++maybe-installcheck-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-installcheck-target-libgnatvsn: installcheck-target-libgnatvsn ++ ++# libgnatvsn doesn't support installcheck. ++installcheck-target-libgnatvsn: ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-mostlyclean-target-libgnatvsn mostlyclean-target-libgnatvsn ++maybe-mostlyclean-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-mostlyclean-target-libgnatvsn: mostlyclean-target-libgnatvsn ++ ++mostlyclean-target-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing TAGS in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgnatvsn"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +- (cd $(TARGET_SUBDIR)/libada && \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ mostlyclean) \ ++ || exit 1 ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-clean-target-libgnatvsn clean-target-libgnatvsn ++maybe-clean-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-clean-target-libgnatvsn: clean-target-libgnatvsn ++ ++clean-target-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing clean in $(TARGET_SUBDIR)/libgnatvsn"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ clean) \ ++ || exit 1 ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-distclean-target-libgnatvsn distclean-target-libgnatvsn ++maybe-distclean-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-distclean-target-libgnatvsn: distclean-target-libgnatvsn ++ ++distclean-target-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing distclean in $(TARGET_SUBDIR)/libgnatvsn"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ distclean) \ ++ || exit 1 ++ ++@endif target-libgnatvsn ++ ++.PHONY: maybe-maintainer-clean-target-libgnatvsn maintainer-clean-target-libgnatvsn ++maybe-maintainer-clean-target-libgnatvsn: ++@if target-libgnatvsn ++maybe-maintainer-clean-target-libgnatvsn: maintainer-clean-target-libgnatvsn ++ ++maintainer-clean-target-libgnatvsn: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgnatvsn"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libgnatvsn && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ maintainer-clean) \ ++ || exit 1 ++ ++@endif target-libgnatvsn ++ ++ ++ ++ ++ ++.PHONY: configure-target-libada-sjlj maybe-configure-target-libada-sjlj ++maybe-configure-target-libada-sjlj: ++@if gcc-bootstrap ++configure-target-libada-sjlj: stage_current ++@endif gcc-bootstrap ++@if target-libada-sjlj ++maybe-configure-target-libada-sjlj: configure-target-libada-sjlj ++configure-target-libada-sjlj: ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ echo "Checking multilib configuration for libada-sjlj..."; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada-sjlj; \ ++ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libada-sjlj/multilib.tmp 2> /dev/null; \ ++ if test -r $(TARGET_SUBDIR)/libada-sjlj/multilib.out; then \ ++ if cmp -s $(TARGET_SUBDIR)/libada-sjlj/multilib.tmp $(TARGET_SUBDIR)/libada-sjlj/multilib.out; then \ ++ rm -f $(TARGET_SUBDIR)/libada-sjlj/multilib.tmp; \ ++ else \ ++ rm -f $(TARGET_SUBDIR)/libada-sjlj/Makefile; \ ++ mv $(TARGET_SUBDIR)/libada-sjlj/multilib.tmp $(TARGET_SUBDIR)/libada-sjlj/multilib.out; \ ++ fi; \ ++ else \ ++ mv $(TARGET_SUBDIR)/libada-sjlj/multilib.tmp $(TARGET_SUBDIR)/libada-sjlj/multilib.out; \ ++ fi; \ ++ test ! -f $(TARGET_SUBDIR)/libada-sjlj/Makefile || exit 0; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada-sjlj; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo Configuring in $(TARGET_SUBDIR)/libada-sjlj; \ ++ cd "$(TARGET_SUBDIR)/libada-sjlj" || exit 1; \ ++ case $(srcdir) in \ ++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ ++ *) topdir=`echo $(TARGET_SUBDIR)/libada-sjlj/ | \ ++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ ++ esac; \ ++ module_srcdir=libada-sjlj; \ ++ rm -f no-such-file || : ; \ ++ CONFIG_SITE=no-such-file $(SHELL) \ ++ $$s/$$module_srcdir/configure \ ++ --srcdir=$${topdir}/$$module_srcdir \ ++ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \ ++ --target=${target_alias} \ ++ || exit 1 ++@endif target-libada-sjlj ++ ++ ++ ++ ++ ++.PHONY: all-target-libada-sjlj maybe-all-target-libada-sjlj ++maybe-all-target-libada-sjlj: ++@if gcc-bootstrap ++all-target-libada-sjlj: stage_current ++@endif gcc-bootstrap ++@if target-libada-sjlj ++TARGET-target-libada-sjlj=all ++maybe-all-target-libada-sjlj: all-target-libada-sjlj ++all-target-libada-sjlj: configure-target-libada-sjlj ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \ ++ $(TARGET-target-libada-sjlj)) ++@endif target-libada-sjlj ++ ++ ++ ++ ++ ++.PHONY: check-target-libada-sjlj maybe-check-target-libada-sjlj ++maybe-check-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-check-target-libada-sjlj: check-target-libada-sjlj ++ ++check-target-libada-sjlj: ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) check) ++ ++@endif target-libada-sjlj ++ ++.PHONY: install-target-libada-sjlj maybe-install-target-libada-sjlj ++maybe-install-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-install-target-libada-sjlj: install-target-libada-sjlj ++ ++install-target-libada-sjlj: installdirs ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ++ ++@endif target-libada-sjlj ++ ++.PHONY: install-strip-target-libada-sjlj maybe-install-strip-target-libada-sjlj ++maybe-install-strip-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-install-strip-target-libada-sjlj: install-strip-target-libada-sjlj ++ ++install-strip-target-libada-sjlj: installdirs ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip) ++ ++@endif target-libada-sjlj ++ ++# Other targets (info, dvi, pdf, etc.) ++ ++.PHONY: maybe-info-target-libada-sjlj info-target-libada-sjlj ++maybe-info-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-info-target-libada-sjlj: info-target-libada-sjlj ++ ++info-target-libada-sjlj: \ ++ configure-target-libada-sjlj ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing info in $(TARGET_SUBDIR)/libada-sjlj"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ info) \ ++ || exit 1 ++ ++@endif target-libada-sjlj ++ ++.PHONY: maybe-dvi-target-libada-sjlj dvi-target-libada-sjlj ++maybe-dvi-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-dvi-target-libada-sjlj: dvi-target-libada-sjlj ++ ++dvi-target-libada-sjlj: \ ++ configure-target-libada-sjlj ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing dvi in $(TARGET_SUBDIR)/libada-sjlj"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ dvi) \ ++ || exit 1 ++ ++@endif target-libada-sjlj ++ ++.PHONY: maybe-pdf-target-libada-sjlj pdf-target-libada-sjlj ++maybe-pdf-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-pdf-target-libada-sjlj: pdf-target-libada-sjlj ++ ++pdf-target-libada-sjlj: \ ++ configure-target-libada-sjlj ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing pdf in $(TARGET_SUBDIR)/libada-sjlj"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ pdf) \ ++ || exit 1 ++ ++@endif target-libada-sjlj ++ ++.PHONY: maybe-html-target-libada-sjlj html-target-libada-sjlj ++maybe-html-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-html-target-libada-sjlj: html-target-libada-sjlj ++ ++html-target-libada-sjlj: \ ++ configure-target-libada-sjlj ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing html in $(TARGET_SUBDIR)/libada-sjlj"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ html) \ ++ || exit 1 ++ ++@endif target-libada-sjlj ++ ++.PHONY: maybe-TAGS-target-libada-sjlj TAGS-target-libada-sjlj ++maybe-TAGS-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-TAGS-target-libada-sjlj: TAGS-target-libada-sjlj ++ ++TAGS-target-libada-sjlj: \ ++ configure-target-libada-sjlj ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing TAGS in $(TARGET_SUBDIR)/libada-sjlj"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ +@@ -49967,26 +50452,26 @@ TAGS-target-libada: \ + TAGS) \ + || exit 1 + +-@endif target-libada ++@endif target-libada-sjlj + +-.PHONY: maybe-install-info-target-libada install-info-target-libada +-maybe-install-info-target-libada: +-@if target-libada +-maybe-install-info-target-libada: install-info-target-libada ++.PHONY: maybe-install-info-target-libada-sjlj install-info-target-libada-sjlj ++maybe-install-info-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-install-info-target-libada-sjlj: install-info-target-libada-sjlj + +-install-info-target-libada: \ +- configure-target-libada \ +- info-target-libada ++install-info-target-libada-sjlj: \ ++ configure-target-libada-sjlj \ ++ info-target-libada-sjlj + @: $(MAKE); $(unstage) +- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing install-info in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing install-info in $(TARGET_SUBDIR)/libada-sjlj"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +- (cd $(TARGET_SUBDIR)/libada && \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ +@@ -49994,26 +50479,26 @@ install-info-target-libada: \ + install-info) \ + || exit 1 + +-@endif target-libada ++@endif target-libada-sjlj + +-.PHONY: maybe-install-pdf-target-libada install-pdf-target-libada +-maybe-install-pdf-target-libada: +-@if target-libada +-maybe-install-pdf-target-libada: install-pdf-target-libada ++.PHONY: maybe-install-pdf-target-libada-sjlj install-pdf-target-libada-sjlj ++maybe-install-pdf-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-install-pdf-target-libada-sjlj: install-pdf-target-libada-sjlj + +-install-pdf-target-libada: \ +- configure-target-libada \ +- pdf-target-libada ++install-pdf-target-libada-sjlj: \ ++ configure-target-libada-sjlj \ ++ pdf-target-libada-sjlj + @: $(MAKE); $(unstage) +- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing install-pdf in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing install-pdf in $(TARGET_SUBDIR)/libada-sjlj"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +- (cd $(TARGET_SUBDIR)/libada && \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ +@@ -50021,26 +50506,26 @@ install-pdf-target-libada: \ + install-pdf) \ + || exit 1 + +-@endif target-libada ++@endif target-libada-sjlj + +-.PHONY: maybe-install-html-target-libada install-html-target-libada +-maybe-install-html-target-libada: +-@if target-libada +-maybe-install-html-target-libada: install-html-target-libada ++.PHONY: maybe-install-html-target-libada-sjlj install-html-target-libada-sjlj ++maybe-install-html-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-install-html-target-libada-sjlj: install-html-target-libada-sjlj + +-install-html-target-libada: \ +- configure-target-libada \ +- html-target-libada ++install-html-target-libada-sjlj: \ ++ configure-target-libada-sjlj \ ++ html-target-libada-sjlj + @: $(MAKE); $(unstage) +- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing install-html in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing install-html in $(TARGET_SUBDIR)/libada-sjlj"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +- (cd $(TARGET_SUBDIR)/libada && \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ +@@ -50048,25 +50533,25 @@ install-html-target-libada: \ + install-html) \ + || exit 1 + +-@endif target-libada ++@endif target-libada-sjlj + +-.PHONY: maybe-installcheck-target-libada installcheck-target-libada +-maybe-installcheck-target-libada: +-@if target-libada +-maybe-installcheck-target-libada: installcheck-target-libada ++.PHONY: maybe-installcheck-target-libada-sjlj installcheck-target-libada-sjlj ++maybe-installcheck-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-installcheck-target-libada-sjlj: installcheck-target-libada-sjlj + +-installcheck-target-libada: \ +- configure-target-libada ++installcheck-target-libada-sjlj: \ ++ configure-target-libada-sjlj + @: $(MAKE); $(unstage) +- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing installcheck in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing installcheck in $(TARGET_SUBDIR)/libada-sjlj"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +- (cd $(TARGET_SUBDIR)/libada && \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ +@@ -50074,24 +50559,24 @@ installcheck-target-libada: \ + installcheck) \ + || exit 1 + +-@endif target-libada ++@endif target-libada-sjlj + +-.PHONY: maybe-mostlyclean-target-libada mostlyclean-target-libada +-maybe-mostlyclean-target-libada: +-@if target-libada +-maybe-mostlyclean-target-libada: mostlyclean-target-libada ++.PHONY: maybe-mostlyclean-target-libada-sjlj mostlyclean-target-libada-sjlj ++maybe-mostlyclean-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-mostlyclean-target-libada-sjlj: mostlyclean-target-libada-sjlj + +-mostlyclean-target-libada: ++mostlyclean-target-libada-sjlj: + @: $(MAKE); $(unstage) +- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada-sjlj"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +- (cd $(TARGET_SUBDIR)/libada && \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ +@@ -50099,24 +50584,24 @@ mostlyclean-target-libada: + mostlyclean) \ + || exit 1 + +-@endif target-libada ++@endif target-libada-sjlj + +-.PHONY: maybe-clean-target-libada clean-target-libada +-maybe-clean-target-libada: +-@if target-libada +-maybe-clean-target-libada: clean-target-libada ++.PHONY: maybe-clean-target-libada-sjlj clean-target-libada-sjlj ++maybe-clean-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-clean-target-libada-sjlj: clean-target-libada-sjlj + +-clean-target-libada: ++clean-target-libada-sjlj: + @: $(MAKE); $(unstage) +- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing clean in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing clean in $(TARGET_SUBDIR)/libada-sjlj"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +- (cd $(TARGET_SUBDIR)/libada && \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ +@@ -50124,24 +50609,24 @@ clean-target-libada: + clean) \ + || exit 1 + +-@endif target-libada ++@endif target-libada-sjlj + +-.PHONY: maybe-distclean-target-libada distclean-target-libada +-maybe-distclean-target-libada: +-@if target-libada +-maybe-distclean-target-libada: distclean-target-libada ++.PHONY: maybe-distclean-target-libada-sjlj distclean-target-libada-sjlj ++maybe-distclean-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-distclean-target-libada-sjlj: distclean-target-libada-sjlj + +-distclean-target-libada: ++distclean-target-libada-sjlj: + @: $(MAKE); $(unstage) +- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing distclean in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing distclean in $(TARGET_SUBDIR)/libada-sjlj"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +- (cd $(TARGET_SUBDIR)/libada && \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ +@@ -50149,24 +50634,24 @@ distclean-target-libada: + distclean) \ + || exit 1 + +-@endif target-libada ++@endif target-libada-sjlj + +-.PHONY: maybe-maintainer-clean-target-libada maintainer-clean-target-libada +-maybe-maintainer-clean-target-libada: +-@if target-libada +-maybe-maintainer-clean-target-libada: maintainer-clean-target-libada ++.PHONY: maybe-maintainer-clean-target-libada-sjlj maintainer-clean-target-libada-sjlj ++maybe-maintainer-clean-target-libada-sjlj: ++@if target-libada-sjlj ++maybe-maintainer-clean-target-libada-sjlj: maintainer-clean-target-libada-sjlj + +-maintainer-clean-target-libada: ++maintainer-clean-target-libada-sjlj: + @: $(MAKE); $(unstage) +- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \ ++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ +- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada"; \ ++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada-sjlj"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ +- (cd $(TARGET_SUBDIR)/libada && \ ++ (cd $(TARGET_SUBDIR)/libada-sjlj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ +@@ -50174,7 +50659,7 @@ maintainer-clean-target-libada: + maintainer-clean) \ + || exit 1 + +-@endif target-libada ++@endif target-libada-sjlj + + + +@@ -55242,6 +55727,8 @@ configure-target-libffi: stage_last + configure-target-zlib: stage_last + configure-target-rda: stage_last + configure-target-libada: stage_last ++configure-target-libgnatvsn: stage_last ++configure-target-libada-sjlj: stage_last + configure-stage1-target-libgomp: maybe-all-stage1-gcc + configure-stage2-target-libgomp: maybe-all-stage2-gcc + configure-stage3-target-libgomp: maybe-all-stage3-gcc +@@ -55278,6 +55765,8 @@ configure-target-libffi: maybe-all-gcc + configure-target-zlib: maybe-all-gcc + configure-target-rda: maybe-all-gcc + configure-target-libada: maybe-all-gcc ++configure-target-libgnatvsn: maybe-all-gcc ++configure-target-libada-sjlj: maybe-all-gcc + configure-target-libgomp: maybe-all-gcc + configure-target-libitm: maybe-all-gcc + configure-target-libatomic: maybe-all-gcc +@@ -55733,8 +56222,12 @@ all-stageprofile-fixincludes: maybe-all- + all-stagefeedback-fixincludes: maybe-all-stagefeedback-libiberty + all-stageautoprofile-fixincludes: maybe-all-stageautoprofile-libiberty + all-stageautofeedback-fixincludes: maybe-all-stageautofeedback-libiberty ++all-target-libada: maybe-all-gcc ++all-target-libada-sjlj: maybe-all-target-libada + all-gnattools: maybe-all-target-libada + all-gnattools: maybe-all-target-libstdc++-v3 ++all-gnattools: maybe-all-target-libgnatvsn ++all-target-libgnatvsn: maybe-all-target-libada + all-lto-plugin: maybe-all-libiberty + + all-stage1-lto-plugin: maybe-all-stage1-libiberty +@@ -56434,6 +56927,8 @@ configure-target-libffi: maybe-all-targe + configure-target-zlib: maybe-all-target-libgcc + configure-target-rda: maybe-all-target-libgcc + configure-target-libada: maybe-all-target-libgcc ++configure-target-libgnatvsn: maybe-all-target-libgcc ++configure-target-libada-sjlj: maybe-all-target-libgcc + configure-target-libgomp: maybe-all-target-libgcc + configure-target-libitm: maybe-all-target-libgcc + configure-target-libatomic: maybe-all-target-libgcc +@@ -56486,6 +56981,10 @@ configure-target-rda: maybe-all-target-n + + configure-target-libada: maybe-all-target-newlib maybe-all-target-libgloss + ++configure-target-libgnatvsn: maybe-all-target-newlib maybe-all-target-libgloss ++ ++configure-target-libada-sjlj: maybe-all-target-newlib maybe-all-target-libgloss ++ + configure-target-libgomp: maybe-all-target-newlib maybe-all-target-libgloss + + configure-target-libitm: maybe-all-target-newlib maybe-all-target-libgloss --- gcc-7-7.1.0.orig/debian/patches/ada-driver-check.diff +++ gcc-7-7.1.0/debian/patches/ada-driver-check.diff @@ -0,0 +1,22 @@ +Description: Ignore warnings when checking whether CC understands Ada. + Simplify Ada driver check (we always build using the required + Ada version. Needed for warnings on alpha. + . + Full history: + https://anonscm.debian.org/viewvc/gcccvs/branches/sid/gcc-6/debian/patches/ada-driver-check.diff + . + Attempt to check if this patch is obsolete: + https://lists.debian.org/debian-alpha/2017/06/threads.html +Author: Matthias Klose + +--- a/src/config/acx.m4 ++++ b/src/config/acx.m4 +@@ -407,7 +407,7 @@ + # Other compilers, like HP Tru64 UNIX cc, exit successfully when + # given a .adb file, but produce no object file. So we must check + # if an object file was really produced to guard against this. +-errors=`(${CC} $1[]m4_ifval([$1], [ ])-c conftest.adb) 2>&1 || echo failure` ++errors=`(${CC} $1[]m4_ifval([$1], [ ])-c conftest.adb) 2>/dev/null || echo failure` + if test x"$errors" = x && test -f conftest.$ac_objext; then + acx_cv_cc_gcc_supports_ada=yes + fi --- gcc-7-7.1.0.orig/debian/patches/ada-drop-termio-h.diff +++ gcc-7-7.1.0/debian/patches/ada-drop-termio-h.diff @@ -0,0 +1,40 @@ +Description: ada/terminals.c: remove obsolete termio.h + On all architectures, the terminals.c source file #includes + and declares variables with type struct termios. + . + Some platforms provide a compatibility termio.h, which only defines + the termio structure. + . + terminals.c also #includes , probably for historical + reasons since no termio structure is ever used. + . + Drop the #include instead of maintaining a list of architectures. +Author: Nicolas Boulenguez +Bug-Debian: https://bugs.debian.org/845159 +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81103 + +--- a/src/gcc/ada/terminals.c ++++ b/src/gcc/ada/terminals.c +@@ -1060,14 +1060,6 @@ + #include + #include + #include +- +-/* On some system termio is either absent or including it will disable termios +- (HP-UX) */ +-#if !defined (__hpux__) && !defined (BSD) && !defined (__APPLE__) \ +- && !defined (__rtems__) +-# include +-#endif +- + #include + #include + #include +@@ -1083,7 +1075,6 @@ + # include + #endif + #if defined (__hpux__) +-# include + # include + #endif + --- gcc-7-7.1.0.orig/debian/patches/ada-gcc-name.diff +++ gcc-7-7.1.0/debian/patches/ada-gcc-name.diff @@ -0,0 +1,133 @@ +Description: ensure that gnat tools execute the same GCC version + The "gcc" default compiler may differ from "gcc-BV", where BV is the + GCC base version of the tools. +Forwarded: not-needed +Author: Ludovic Brenta +Author: Nicolas Boulenguez + +--- a/src/gcc/ada/gnatlink.adb ++++ b/src/gcc/ada/gnatlink.adb +@@ -136,7 +136,8 @@ + -- This table collects the arguments to be passed to compile the binder + -- generated file. + +- Gcc : String_Access := Program_Name ("gcc", "gnatlink"); ++ Gcc : String_Access ++ := Program_Name ("gcc-" & Gnatvsn.Library_Version, "gnatlink"); + + Read_Mode : constant String := "r" & ASCII.NUL; + +@@ -1414,7 +1415,8 @@ + end if; + + Write_Line (" --GCC=comp Use comp as the compiler"); +- Write_Line (" --LINK=nam Use 'nam' for the linking rather than 'gcc'"); ++ Write_Line (" --LINK=nam Use 'nam' for the linking rather than 'gcc-" ++ & Gnatvsn.Library_Version & "'"); + Write_Eol; + Write_Line (" [non-Ada-objects] list of non Ada object files"); + Write_Line (" [linker-options] other options for the linker"); +--- a/src/gcc/ada/make.adb ++++ b/src/gcc/ada/make.adb +@@ -670,9 +670,12 @@ + -- Compiler, Binder & Linker Data and Subprograms -- + ---------------------------------------------------- + +- Gcc : String_Access := Program_Name ("gcc", "gnatmake"); +- Gnatbind : String_Access := Program_Name ("gnatbind", "gnatmake"); +- Gnatlink : String_Access := Program_Name ("gnatlink", "gnatmake"); ++ Gcc : String_Access := Program_Name ++ ("gcc-" & Gnatvsn.Library_Version, "gnatmake"); ++ Gnatbind : String_Access := Program_Name ++ ("gnatbind-" & Gnatvsn.Library_Version, "gnatmake"); ++ Gnatlink : String_Access := Program_Name ++ ("gnatlink-" & Gnatvsn.Library_Version, "gnatmake"); + -- Default compiler, binder, linker programs + + Saved_Gcc : String_Access := null; +--- a/src/gcc/ada/gnatchop.adb ++++ b/src/gcc/ada/gnatchop.adb +@@ -36,6 +36,7 @@ + with GNAT.Heap_Sort_G; + with GNAT.Table; + ++with Gnatvsn; + with Switch; use Switch; + with Types; + +@@ -44,7 +45,7 @@ + Config_File_Name : constant String_Access := new String'("gnat.adc"); + -- The name of the file holding the GNAT configuration pragmas + +- Gcc : String_Access := new String'("gcc"); ++ Gcc : String_Access := new String'("gcc-" & Gnatvsn.Library_Version); + -- May be modified by switch --GCC= + + Gcc_Set : Boolean := False; +--- a/src/gcc/ada/mdll-utl.adb ++++ b/src/gcc/ada/mdll-utl.adb +@@ -29,6 +29,7 @@ + with Ada.Exceptions; + + with GNAT.Directory_Operations; ++with Gnatvsn; + with Osint; + + package body MDLL.Utl is +@@ -39,7 +40,7 @@ + Dlltool_Name : constant String := "dlltool"; + Dlltool_Exec : OS_Lib.String_Access; + +- Gcc_Name : constant String := "gcc"; ++ Gcc_Name : constant String := "gcc-" & Gnatvsn.Library_Version; + Gcc_Exec : OS_Lib.String_Access; + + Gnatbind_Name : constant String := "gnatbind"; +@@ -212,7 +213,7 @@ + end; + end if; + +- Print_Command ("gcc", Arguments (1 .. A)); ++ Print_Command (Gcc_Name, Arguments (1 .. A)); + + OS_Lib.Spawn (Gcc_Exec.all, Arguments (1 .. A), Success); + +--- a/src/gcc/ada/mlib-utl.adb ++++ b/src/gcc/ada/mlib-utl.adb +@@ -23,6 +23,7 @@ + -- -- + ------------------------------------------------------------------------------ + ++with Gnatvsn; + with MLib.Fil; use MLib.Fil; + with MLib.Tgt; use MLib.Tgt; + with Opt; +@@ -446,7 +447,8 @@ + if Driver_Name = No_Name then + if Gcc_Exec = null then + if Gcc_Name = null then +- Gcc_Name := Osint.Program_Name ("gcc", "gnatmake"); ++ Gcc_Name := Osint.Program_Name ++ ("gcc-" & Gnatvsn.Library_Version, "gnatmake"); + end if; + + Gcc_Exec := Locate_Exec_On_Path (Gcc_Name.all); +--- a/src/gcc/ada/prj-makr.adb ++++ b/src/gcc/ada/prj-makr.adb +@@ -24,6 +24,7 @@ + ------------------------------------------------------------------------------ + + with Csets; ++with Gnatvsn; + with Makeutl; use Makeutl; + with Opt; + with Output; +@@ -115,7 +116,7 @@ + + procedure Dup2 (Old_Fd, New_Fd : File_Descriptor); + +- Gcc : constant String := "gcc"; ++ Gcc : constant String := "gcc-" & Gnatvsn.Library_Version; + Gcc_Path : String_Access := null; + + Non_Empty_Node : constant Project_Node_Id := 1; --- gcc-7-7.1.0.orig/debian/patches/ada-gnattools-cross.diff +++ gcc-7-7.1.0/debian/patches/ada-gnattools-cross.diff @@ -0,0 +1,274 @@ +* Link tools dynamically. +* Prevent direct embedding of libada objects: + Mark ALI files as read-only, remove objects after the build. + A solution keeping the objects would be more intrusive. +* Rebuild gnatbind/make/link with themselves. + This removes unneeded objects inherited from the hardcoded bootstrap list. + The same thing would be useful for gnat1drv, but is less easy. +* TOOLS_ALREADY_COMPILED lists LIBGNAT objects that + gcc/ada/gcc-interface/Makefile should not rebuild. +* Install the shared Ada libraries as '.so.1', not '.so' to conform + to the Debian policy. +* Link libgnat/gnarl with LDFLAGS. +* Create libgnat-BV.so symbolic link, use it and -L to link libgnarl. + This prevents undefined symbols or unwanted usage of host libgnat. +* Compile with -gnatn, link with --as-needed -z defs. +* set LD_LIBRARY_PATH so that rebuilt tools can be executed. + +This patch depends on ada-libgnatvsn.diff. + +# DP: - When building a cross gnat, link against the libgnatvsnBV-dev +# DP: package. +# DP: This link will be done by /usr/bin/$(host_alias)-gnat*, thus +# DP: the native gnat with the same major version will be required. + +Index: b/src/gcc/ada/gcc-interface/Makefile.in +=================================================================== +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -1641,6 +1668,11 @@ ifeq ($(strip $(filter-out s390% linux%, + LIBRARY_VERSION := $(LIB_VERSION) + endif + ++ifeq ($(strip $(filter-out hppa% unknown linux gnu,$(targ))),) ++ GNATLIB_SHARED = gnatlib-shared-dual ++ LIBRARY_VERSION := $(LIB_VERSION) ++endif ++ + # HP/PA HP-UX 10 + ifeq ($(strip $(filter-out hppa% hp hpux10%,$(target_cpu) $(target_vendor) $(target_os))),) + LIBGNAT_TARGET_PAIRS = \ +@@ -2644,6 +2649,20 @@ + --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + $(MV) ../../gnatlinknew$(exeext) ../../gnatlink$(exeext) + ++gnatbind-re: ../stamp-tools gnatmake-re gnatlink-re ++ $(GNATMAKE) -j0 -c $(ADA_INCLUDES) gnatbind --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatbind ++ $(GNATLINK) -v gnatbind -o ../../gnatbind$(exeext) \ ++ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) ++ ++# When driven by gnattools/Makefile for a native build, ++# TOOLS_ALREADY_COMPILED will list objects in the target standard Ada ++# libraries, that Make should avoid rebuilding. ++# We cannot use recursive variables to avoid an infinite loop, ++# so we must put this after definition of EXTRA_GNATMAKE_OBJS. ++GNATLINK_OBJS := $(filter-out $(TOOLS_ALREADY_COMPILED),$(GNATLINK_OBJS)) ++GNATMAKE_OBJS := $(filter-out $(TOOLS_ALREADY_COMPILED),$(GNATMAKE_OBJS)) ++ + # Needs to be built with CC=gcc + # Since the RTL should be built with the latest compiler, remove the + # stamp target in the parent directory whenever gnat1 is rebuilt +@@ -2706,14 +2657,10 @@ install-gnatlib: ../stamp-gnatlib-$(RTSD + # Also install the .dSYM directories if they exist (these directories + # contain the debug information for the shared libraries on darwin) + for file in gnat gnarl; do \ +- if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \ +- $(INSTALL) $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ ++ if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 ]; then \ ++ $(INSTALL) $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ + $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ + fi; \ +- if [ -f $(RTSDIR)/lib$${file}$(soext) ]; then \ +- $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(soext); \ +- fi; \ + if [ -d $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).dSYM ]; then \ + $(CP) -r $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).dSYM \ + $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ +@@ -2735,8 +2741,7 @@ + touch ../stamp-gnatlib2-$(RTSDIR) + $(RM) ../stamp-gnatlib-$(RTSDIR) + +-../stamp-gnatlib1-$(RTSDIR): Makefile ../stamp-gnatlib2-$(RTSDIR) +- $(RMDIR) $(RTSDIR) ++../stamp-gnatlib1-$(RTSDIR): Makefile + $(MKDIR) $(RTSDIR) + $(CHMOD) u+w $(RTSDIR) + # Copy target independent sources +@@ -2803,7 +2737,7 @@ $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib + $(OSCONS_EXTRACT) ; \ + ../bldtools/oscons/xoscons s-oscons) + +-gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) $(RTSDIR)/s-oscons.ads ++gnatlib: ../stamp-gnatlib1-$(RTSDIR) $(RTSDIR)/s-oscons.ads + test -f $(RTSDIR)/s-oscons.ads || exit 1 + # C files + $(MAKE) -C $(RTSDIR) \ +@@ -2837,36 +2842,51 @@ gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../ + $(RANLIB_FOR_TARGET) $(RTSDIR)/libgmem$(arext) + endif + $(CHMOD) a-wx $(RTSDIR)/*.ali ++# Provide .ads .adb (read-only).ali .so .a, but prevent direct use of .o. ++ $(RM) $(RTSDIR)/*.o + touch ../stamp-gnatlib-$(RTSDIR) + + # Warning: this target assumes that LIBRARY_VERSION has been set correctly. + gnatlib-shared-default: +- $(MAKE) $(FLAGS_TO_PASS) \ +- GNATLIBFLAGS="$(GNATLIBFLAGS)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ +- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \ +- MULTISUBDIR="$(MULTISUBDIR)" \ +- THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib +- $(RM) $(RTSDIR)/libgna*$(soext) ++ $(MAKE) -C $(RTSDIR) \ ++ CC="`echo \"$(GCC_FOR_TARGET)\" \ ++ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ ++ INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \ ++ CFLAGS="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \ ++ FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ ++ srcdir=$(fsrcdir) \ ++ -f ../Makefile $(LIBGNAT_OBJS) ++ $(MAKE) -C $(RTSDIR) \ ++ CC="`echo \"$(GCC_FOR_TARGET)\" \ ++ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ ++ ADA_INCLUDES="" \ ++ CFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ ++ ADAFLAGS="$(GNATLIBFLAGS) $(PICFLAG_FOR_TARGET)" \ ++ FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ ++ srcdir=$(fsrcdir) \ ++ -f ../Makefile \ ++ $(GNATRTL_OBJS) ++ $(RM) $(RTSDIR)/libgna*$(soext) $(RTSDIR)/libgna*$(soext).1 + cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ + | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \ + $(PICFLAG_FOR_TARGET) \ +- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ ++ -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 $(LDFLAGS) \ + $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ +- $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ ++ $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ + $(MISCLIB) -lm ++ cd $(RTSDIR) && $(LN_S) -f libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ ++ libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) + cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ + | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \ + $(PICFLAG_FOR_TARGET) \ +- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ ++ -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 $(LDFLAGS) \ + $(GNATRTL_TASKING_OBJS) \ +- $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ ++ $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ ++ -L. -lgnat$(hyphen)$(LIBRARY_VERSION) \ + $(THREADSLIB) +- cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- libgnat$(soext) +- cd $(RTSDIR); $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- libgnarl$(soext) ++ cd $(RTSDIR) && $(LN_S) -f libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ ++ libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) ++ $(CHMOD) a-wx $(RTSDIR)/*.ali + + # Create static libgnat and libgnarl compiled with -fPIC + $(RM) $(RTSDIR)/libgnat_pic$(arext) $(RTSDIR)/libgnarl_pic$(arext) +@@ -2877,6 +2897,8 @@ gnatlib-shared-default: + $(addprefix $(RTSDIR)/,$(GNATRTL_TASKING_OBJS)) + $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnarl_pic$(arext) + ++# Provide .ads .adb (read-only).ali .so .a, but prevent direct use of .o. ++ $(RM) $(RTSDIR)/*.o + + gnatlib-shared-dual: + $(MAKE) $(FLAGS_TO_PASS) \ +@@ -2885,21 +2832,15 @@ gnatlib-shared-dual: + GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ + THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib-shared-default +- $(MV) $(RTSDIR)/libgna*$(soext) . +- $(MV) $(RTSDIR)/libgnat_pic$(arext) . +- $(MV) $(RTSDIR)/libgnarl_pic$(arext) . +- $(RM) ../stamp-gnatlib2-$(RTSDIR) ++ gnatlib ++ $(RM) $(RTSDIR)/*.o $(RTSDIR)/*.ali + $(MAKE) $(FLAGS_TO_PASS) \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ + THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib +- $(MV) libgna*$(soext) $(RTSDIR) +- $(MV) libgnat_pic$(arext) $(RTSDIR) +- $(MV) libgnarl_pic$(arext) $(RTSDIR) ++ gnatlib-shared-default + + gnatlib-shared-dual-win32: + $(MAKE) $(FLAGS_TO_PASS) \ +@@ -2909,17 +2850,15 @@ gnatlib-shared-dual-win32: + PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ + THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib-shared-win32 +- $(MV) $(RTSDIR)/libgna*$(soext) . +- $(RM) ../stamp-gnatlib2-$(RTSDIR) ++ gnatlib ++ $(RM) $(RTSDIR)/*.o $(RTSDIR)/*.ali + $(MAKE) $(FLAGS_TO_PASS) \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ + THREAD_KIND="$(THREAD_KIND)" \ +- gnatlib +- $(MV) libgna*$(soext) $(RTSDIR) ++ gnatlib-shared-win32 + + # ??? we need to add the option to support auto-import of arrays/records to + # the GNATLIBFLAGS when this will be supported by GNAT. At this point we will +Index: b/src/gnattools/Makefile.in +=================================================================== +--- a/src/gnattools/Makefile.in ++++ b/src/gnattools/Makefile.in +@@ -75,15 +75,21 @@ + -L../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs + + # Variables for gnattools, native ++rtsdir := $(abspath ../gcc/ada/rts) ++vsndir := $(abspath ../$(target_noncanonical)/libgnatvsn) + TOOLS_FLAGS_TO_PASS_NATIVE= \ + "CC=../../xgcc -B../../" \ + "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \ + "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \ +- "LDFLAGS=$(LDFLAGS)" \ +- "ADAFLAGS=$(ADAFLAGS)" \ ++ "LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs" \ ++ "ADAFLAGS=$(ADAFLAGS) -gnatn" \ + "ADA_CFLAGS=$(ADA_CFLAGS)" \ + "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \ +- "ADA_INCLUDES=-I- -I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\ ++ "ADA_INCLUDES=-I- -nostdinc -I$(vsndir) -I$(rtsdir) $(ADA_INCLUDES_FOR_SUBDIR)" \ ++ "TOOLS_ALREADY_COMPILED=$(foreach d, $(vsndir) $(rtsdir), \ ++ $(patsubst $(d)/%.ali,%.o, $(wildcard $(d)/*.ali)))" \ ++ 'LIBGNAT=-L$(vsndir) -lgnatvsn -L$(rtsdir) -lgnat-$$(LIB_VERSION)' \ ++ "GNATBIND_FLAGS=-nostdlib -x" \ + "exeext=$(exeext)" \ + "fsrcdir=$(fsrcdir)" \ + "srcdir=$(fsrcdir)" \ +@@ -190,6 +199,10 @@ + # to be able to build gnatmake without a version of gnatmake around. Once + # everything has been compiled once, gnatmake can be recompiled with itself + # (see target regnattools) ++gnattools-native: export LD_LIBRARY_PATH := \ ++ $(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)$(vsndir):$(rtsdir) ++# Useful even for 1st pass, as ../../gnatmake may already be ++# dynamically linked in case this target has already been invokated. + gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib-rts + # gnattools1 + $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ +@@ -198,6 +211,13 @@ + # gnattools2 + $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ + $(TOOLS_FLAGS_TO_PASS_NATIVE) common-tools ++# The hard-coded object lists for gnatbind/make/link contain unneeded ++# objects. Use the fresh tools to recompute dependencies. ++# A separate Make run avoids race conditions between gnatmakes ++# building the same object for common-tools and gnat*-re. ++# (parallelism is already forbidden between gnat*-re targets) ++ $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ ++ $(TOOLS_FLAGS_TO_PASS_NATIVE) gnatbind-re gnatmake-re gnatlink-re + + # gnatmake/link can be built with recent gnatmake/link if they are available. + # This is especially convenient for building cross tools or for rebuilding --- gcc-7-7.1.0.orig/debian/patches/ada-kfreebsd.diff +++ gcc-7-7.1.0/debian/patches/ada-kfreebsd.diff @@ -0,0 +1,100 @@ +Description: add support for GNU/kFreeBSD. + GNU/kFreeBSD does not support Thread Priority Protection or Thread + Priority Inheritance and lacks some pthread_mutexattr_* functions. + Replace them with dummy versions. +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=642128 +Author: Ludovic Brenta +Author: Nicolas Boulenguez + +--- a/src/gcc/ada/s-osinte-kfreebsd-gnu.ads ++++ b/src/gcc/ada/s-osinte-kfreebsd-gnu.ads +@@ -45,6 +45,7 @@ + pragma Preelaborate; + + pragma Linker_Options ("-lpthread"); ++ pragma Linker_Options ("-lrt"); + + subtype int is Interfaces.C.int; + subtype char is Interfaces.C.char; +@@ -206,9 +207,7 @@ + function nanosleep (rqtp, rmtp : access timespec) return int; + pragma Import (C, nanosleep, "nanosleep"); + +- type clockid_t is private; +- +- CLOCK_REALTIME : constant clockid_t; ++ type clockid_t is new int; + + function clock_gettime + (clock_id : clockid_t; +@@ -441,31 +440,25 @@ + PTHREAD_PRIO_PROTECT : constant := 2; + PTHREAD_PRIO_INHERIT : constant := 1; + ++ -- GNU/kFreeBSD does not support Thread Priority Protection or Thread ++ -- Priority Inheritance and lacks some pthread_mutexattr_* functions. ++ -- Replace them with dummy versions. ++ + function pthread_mutexattr_setprotocol + (attr : access pthread_mutexattr_t; +- protocol : int) return int; +- pragma Import +- (C, pthread_mutexattr_setprotocol, "pthread_mutexattr_setprotocol"); ++ protocol : int) return int is (0); + + function pthread_mutexattr_getprotocol + (attr : access pthread_mutexattr_t; +- protocol : access int) return int; +- pragma Import +- (C, pthread_mutexattr_getprotocol, "pthread_mutexattr_getprotocol"); ++ protocol : access int) return int is (0); + + function pthread_mutexattr_setprioceiling + (attr : access pthread_mutexattr_t; +- prioceiling : int) return int; +- pragma Import +- (C, pthread_mutexattr_setprioceiling, +- "pthread_mutexattr_setprioceiling"); ++ prioceiling : int) return int is (0); + + function pthread_mutexattr_getprioceiling + (attr : access pthread_mutexattr_t; +- prioceiling : access int) return int; +- pragma Import +- (C, pthread_mutexattr_getprioceiling, +- "pthread_mutexattr_getprioceiling"); ++ prioceiling : access int) return int is (0); + + type struct_sched_param is record + sched_priority : int; -- scheduling priority +@@ -610,9 +603,6 @@ + end record; + pragma Convention (C, timespec); + +- type clockid_t is new int; +- CLOCK_REALTIME : constant clockid_t := 0; +- + type pthread_attr_t is record + detachstate : int; + schedpolicy : int; +--- a/src/gcc/ada/gsocket.h ++++ b/src/gcc/ada/gsocket.h +@@ -244,6 +244,7 @@ + #endif + + #if defined (__FreeBSD__) || defined (__vxworks) || defined(__rtems__) \ ++ || defined (__FreeBSD_kernel__) || defined(__GNU__) \ + || defined (__DragonFly__) || defined (__NetBSD__) || defined (__OpenBSD__) + # define Has_Sockaddr_Len 1 + #else +--- a/src/gcc/ada/s-oscons-tmplt.c ++++ b/src/gcc/ada/s-oscons-tmplt.c +@@ -1441,7 +1441,7 @@ + CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock") + + #if defined(__FreeBSD__) || (defined(_AIX) && defined(_AIXVERSION_530)) \ +- || defined(__DragonFly__) ++ || defined(__DragonFly__) || defined(__FreeBSD_kernel__) + /** On these platforms use system provided monotonic clock instead of + ** the default CLOCK_REALTIME. We then need to set up cond var attributes + ** appropriately (see thread.c). --- gcc-7-7.1.0.orig/debian/patches/ada-lib-info-source-date-epoch.diff +++ gcc-7-7.1.0/debian/patches/ada-lib-info-source-date-epoch.diff @@ -0,0 +1,176 @@ +Description: set ALI timestamps from SOURCE_DATE_EPOCH if available. + When the SOURCE_DATE_EPOCH environment variable is set, + replace timestamps more recent than its value with its value + when writing Ada Library Information (ALI) files. + This allow reproducible builds from generated or patched Ada sources. + https://reproducible-builds.org/specs/source-date-epoch/ +Author: Nicolas Boulenguez + +--- a/src/gcc/ada/lib-writ.adb ++++ b/src/gcc/ada/lib-writ.adb +@@ -54,6 +54,7 @@ + with Uname; use Uname; + + with System.Case_Util; use System.Case_Util; ++with System.OS_Lib; + with System.WCh_Con; use System.WCh_Con; + + package body Lib.Writ is +@@ -62,6 +63,15 @@ + -- Local Subprograms -- + ----------------------- + ++ procedure Truncate_To_Source_Date_Epoch (T : in out Time_Stamp_Type); ++ pragma Inline (Truncate_To_Source_Date_Epoch); ++ -- If SOURCE_DATE_EPOCH is defined in the environment and ++ -- represents an UNIX epoch, T is truncated to this date. ++ ++ -- This allows reproducible ALI contents even for sources patched ++ -- or generated at build time. ++ -- https://reproducible-builds.org/specs/source-date-epoch/ ++ + procedure Write_Unit_Name (N : Node_Id); + -- Used to write out the unit name for R (pragma Restriction) lines + -- for uses of Restriction (No_Dependence => unit-name). +@@ -175,6 +185,65 @@ + end; + end Ensure_System_Dependency; + ++ ----------------------------------- ++ -- Truncate_To_Source_Date_Epoch -- ++ ----------------------------------- ++ ++ -- An internal state caches the result of the getenv() system call ++ -- during first execution. The Source_Date_Unset case could be ++ -- replaced with a Source_Date far in the future, but we want to ++ -- avoid Time_Stamp_Type comparisons in the most common case. ++ ++ type A_Source_Date_State is ++ (Source_Date_Unknown, Source_Date_Unset, Source_Date_Set); ++ Source_Date_State : A_Source_Date_State := Source_Date_Unknown; ++ Source_Date : Time_Stamp_Type; ++ ++ procedure Truncate_To_Source_Date_Epoch (T : in out Time_Stamp_Type) is ++ begin ++ case Source_Date_State is ++ when Source_Date_Unset => ++ null; ++ when Source_Date_Set => ++ if Source_Date < T then ++ T := Source_Date; ++ end if; ++ when Source_Date_Unknown => ++ declare ++ use System.OS_Lib; ++ Env_Var : String_Access; ++ Get_OK : Boolean; ++ Epoch : OS_Time; ++ Y : Year_Type; ++ Mo : Month_Type; ++ D : Day_Type; ++ H : Hour_Type; ++ Mn : Minute_Type; ++ S : Second_Type; ++ begin ++ Env_Var := Getenv ("SOURCE_DATE_EPOCH"); ++ Get_OS_Time_From_String (Env_Var.all, Get_OK, Epoch); ++ Free (Env_Var); ++ if Get_OK then ++ GM_Split (Epoch, Y, Mo, D, H, Mn, S); ++ Make_Time_Stamp (Year => Nat (Y), ++ Month => Nat (Mo), ++ Day => Nat (D), ++ Hour => Nat (H), ++ Minutes => Nat (Mn), ++ Seconds => Nat (S), ++ TS => Source_Date); ++ Source_Date_State := Source_Date_Set; ++ if Source_Date < T then ++ T := Source_Date; ++ end if; ++ else ++ Source_Date_State := Source_Date_Unset; ++ end if; ++ end; ++ end case; ++ end Truncate_To_Source_Date_Epoch; ++ + --------------- + -- Write_ALI -- + --------------- +@@ -1471,7 +1540,14 @@ + + Write_Info_Name_May_Be_Quoted (Fname); + Write_Info_Tab (25); +- Write_Info_Str (String (Time_Stamp (Sind))); ++ ++ declare ++ T : Time_Stamp_Type := Time_Stamp (Sind); ++ begin ++ Truncate_To_Source_Date_Epoch (T); ++ Write_Info_Str (String (T)); ++ end; ++ + Write_Info_Char (' '); + Write_Info_Str (Get_Hex_String (Source_Checksum (Sind))); + +--- a/src/gcc/ada/s-os_lib.adb ++++ b/src/gcc/ada/s-os_lib.adb +@@ -1153,6 +1153,41 @@ + return Result; + end Get_Object_Suffix; + ++ ----------------------------- ++ -- Get_OS_Time_From_String -- ++ ----------------------------- ++ ++ procedure Get_OS_Time_From_String (Arg : String; ++ Success : out Boolean; ++ Result : out OS_Time) is ++ -- Calling System.Val_LLI breaks the bootstrap sequence. ++ Digit : OS_Time; ++ begin ++ Result := 0; ++ if Arg'Length = 0 then ++ Success := False; ++ return; ++ end if; ++ for I in Arg'Range loop ++ if Arg (I) not in '0' .. '9' then ++ Success := False; ++ return; ++ end if; ++ Digit := OS_Time (Character'Pos (Arg (I)) - Character'Pos ('0')); ++ if OS_Time'Last / 10 < Result then ++ Success := False; ++ return; ++ end if; ++ Result := Result * 10; ++ if OS_Time'Last - Digit < Result then ++ Success := False; ++ return; ++ end if; ++ Result := Result + Digit; ++ end loop; ++ Success := True; ++ end Get_OS_Time_From_String; ++ + ---------------------------------- + -- Get_Target_Debuggable_Suffix -- + ---------------------------------- +--- a/src/gcc/ada/s-os_lib.ads ++++ b/src/gcc/ada/s-os_lib.ads +@@ -164,6 +164,13 @@ + -- component parts to be interpreted in the local time zone, and returns + -- an OS_Time. Returns Invalid_Time if the creation fails. + ++ procedure Get_OS_Time_From_String (Arg : String; ++ Success : out Boolean; ++ Result : out OS_Time); ++ -- Success is set if Arg is not empty, only contains decimal ++ -- digits and represents an integer within OS_Time range. Result ++ -- is then affected with the represented value. ++ + ---------------- + -- File Stuff -- + ---------------- --- gcc-7-7.1.0.orig/debian/patches/ada-libgnatvsn.diff +++ gcc-7-7.1.0/debian/patches/ada-libgnatvsn.diff @@ -0,0 +1,259 @@ +# DP: - Introduce a new shared library named libgnatvsn, containing +# DP: common components of GNAT under the GNAT-Modified GPL, for +# DP: use in GNAT tools, ASIS, GLADE and GPS. Link the gnat tools +# DP: against this new library. + +# Please read ada-changes-in-autogen-output.diff about src/Makefile.def. + +# !!! Must be applied after ada-link-lib.diff + +--- /dev/null ++++ b/src/libgnatvsn/configure +@@ -0,0 +1,34 @@ ++#!/bin/sh ++ ++# Minimal configure script for libgnatvsn. We're only interested in ++# a few parameters. ++ ++{ ++ ++for arg in $*; do ++ case ${arg} in ++ --prefix=*) ++ prefix=`expr ${arg} : '--prefix=\(.\+\)'`;; ++ --srcdir=*) ++ srcdir=`expr ${arg} : '--srcdir=\(.\+\)'`;; ++ --libdir=*) ++ libdir=`expr ${arg} : '--libdir=\(.\+\)'`;; ++ --with-pkgversion=*) ++ pkgversion=`expr ${arg} : '--with-pkgversion=\(.\+\)'`;; ++ --with-bugurl=*) ++ bugurl=`expr ${arg} : '--with-bugurl=\(.\+\)'`;; ++ *) ++ echo "Warning: ignoring option: ${arg}" ++ esac ++done ++ ++sed_script= ++for name in prefix srcdir libdir pkgversion bugurl; do ++ eval value=\$$name ++ echo "$name: $value" ++ sed_script="$sed_script;s,@$name@,$value," ++done ++echo "Creating Makefile..." ++sed "$sed_script" "$srcdir/Makefile.in" > Makefile ++ ++} | tee -a config.log +--- /dev/null ++++ b/src/libgnatvsn/Makefile.in +@@ -0,0 +1,150 @@ ++# Makefile for libgnatvsn. ++# Copyright (c) 2006 Ludovic Brenta ++# Copyright (c) 2017 Nicolas Boulenguez ++# ++# 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 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++# Parameters substituted by configure during Makefile generation ++prefix := @prefix@ ++srcdir := @srcdir@ ++libdir := @libdir@ ++pkgversion := @pkgversion@ ++bugurl := @bugurl@ ++ ++# Parameters expected in environment or command line ++$(foreach v, \ ++ ADA_CFLAGS ADAFLAGS CC CFLAGS CPPFLAGS DESTDIR INSTALL INSTALL_DATA LDFLAGS \ ++ ,$(info $(v) ($(origin $(v))) = $($(v)))) ++# It seems that both CFLAGS/ADA_CFLAGS should affect both Ada/C. ++ ++# Parameters read from external files ++BASEVER := $(shell cat $(srcdir)/../gcc/BASE-VER) ++DEVPHASE := $(shell cat $(srcdir)/../gcc/DEV-PHASE) ++DATESTAMP := $(shell cat $(srcdir)/../gcc/DATESTAMP) ++ ++# Public and default targets ++.PHONY: all install clean ++all: ++ ++###################################################################### ++ ++LIB_VERSION := $(shell expr '$(BASEVER)' : '\([0-9]\+\)') ++ ++src_inst_dir := $(DESTDIR)$(prefix)/share/ada/adainclude/gnatvsn ++ali_inst_dir := $(DESTDIR)$(prefix)/lib/ada/adalib/gnatvsn ++lib_inst_dir := $(DESTDIR)$(libdir) ++ ++# Initial value of variables accumulationg build flags. ++adaflags := -gnatn ++cflags := ++cppflags := ++ldflags := -Wl,--as-needed -Wl,-z,defs ++ldlibs := ++ ++# For use in version.c - double quoted strings, with appropriate ++# surrounding punctuation and spaces, and with the datestamp and ++# development phase collapsed to the empty string in release mode ++# (i.e. if DEVPHASE_c is empty). The space immediately after the ++# comma in the $(if ...) constructs is significant - do not remove it. ++cppflags += \ ++ -DBASEVER="\"$(BASEVER)\"" \ ++ -DDATESTAMP="\"$(if $(DEVPHASE), $(DATESTAMP))\"" \ ++ -DDEVPHASE="\"$(if $(DEVPHASE), ($(DEVPHASE)))\"" \ ++ -DPKGVERSION="\"$(pkgversion)\"" \ ++ -DBUGURL="\"$(bugurl)\"" \ ++ -DREVISION= ++ ++# Include and link freshly built target RTL instead of the default. ++RTL_DIR := ../libada ++adaflags += -nostdinc -I$(RTL_DIR)/adainclude ++ldlibs += -L$(RTL_DIR)/adalib -lgnat-$(LIB_VERSION) ++ ++# Append user settings last, allowing them to take precedence. ++adaflags += $(CFLAGS) $(ADA_CFLAGS) $(ADAFLAGS) ++cflags += $(CFLAGS) $(ADA_CFLAGS) ++cppflags += $(CPPFLAGS) ++ldflags += $(LDFLAGS) ++ ++# Link wanted Ada sources from source tree, so that gnat fails when new ++# dependencies are missing in the current directory, instead of silently ++# using the ones in the distant directory. ++# Let Make create all symlinks before first ada compilation, ++# because they depend on each other. ++# snames.ad[bs] is generated in the build tree. ++ ++UNITS_BOTH := aspects atree casing csets debug einfo elists fname \ ++ gnatvsn krunch lib namet nlists opt output repinfo scans sem_aux \ ++ sinfo sinput stand stringt table tree_in tree_io types uintp \ ++ uname urealp widechar ++UNITS_SPEC := alloc hostparm ++SEPARATES := lib-list lib-sort ++ADA_SRC := $(addsuffix .ads, $(UNITS_BOTH) $(UNITS_SPEC)) \ ++ $(addsuffix .adb, $(UNITS_BOTH) $(SEPARATES)) ++OBJECTS := $(addsuffix .o, $(UNITS_BOTH) snames $(UNITS_SPEC) version) ++ ++all: libgnatvsn.a libgnatvsn.so.$(LIB_VERSION) ++ ++libgnatvsn.so.$(LIB_VERSION): $(addprefix obj-shared/,$(OBJECTS)) ++ $(CC) -o $@ -shared -fPIC -Wl,--soname,$@ $^ $(ldflags) $(ldlibs) ++ ln -fs libgnatvsn.so.$(LIB_VERSION) libgnatvsn.so ++ chmod a=r obj-shared/*.ali ++# Make the .ali files, but not the .o files, visible to the gnat tools. ++ cp -lp obj-shared/*.ali . ++ ++$(foreach u, $(UNITS_BOTH) snames, obj-shared/$(u).o): \ ++obj-shared/%.o: %.adb $(ADA_SRC) snames.adb snames.ads | obj-shared ++ $(CC) -c -fPIC $(adaflags) $< -o $@ ++ ++$(foreach u, $(UNITS_SPEC), obj-shared/$(u).o): \ ++obj-shared/%.o: %.ads $(ADA_SRC) snames.adb snames.ads | obj-shared ++ $(CC) -c -fPIC $(adaflags) $< -o $@ ++ ++obj-shared/version.o: version.c version.h | obj-shared ++ $(CC) -c -fPIC $(cflags) $(cppflags) $< -o $@ ++ ++libgnatvsn.a: $(addprefix obj-static/,$(OBJECTS)) ++ ar rc $@ $^ ++ ranlib $@ ++ ++$(foreach u, $(UNITS_BOTH) snames, obj-static/$(u).o): \ ++obj-static/%.o: %.adb $(ADA_SRC) snames.adb snames.ads | obj-static ++ $(CC) -c $(adaflags) $< -o $@ ++ ++$(foreach u, $(UNITS_SPEC), obj-static/$(u).o): \ ++obj-static/%.o: %.ads $(ADA_SRC) snames.adb snames.ads | obj-static ++ $(CC) -c $(adaflags) $< -o $@ ++ ++obj-static/version.o: version.c version.h | obj-static ++ $(CC) -c $(cflags) $(cppflags) $< -o $@ ++ ++obj-shared obj-static: ++ mkdir $@ ++ ++$(ADA_SRC): ++ ln -s $(srcdir)/../gcc/ada/$@ ++version.c version.h: ++ ln -s $(srcdir)/../gcc/$@ ++snames.adb snames.ads: ++ ln -s ../../gcc/ada/$@ ++ ++install: all ++ mkdir -p $(lib_inst_dir) $(src_inst_dir) $(ali_inst_dir) ++ $(INSTALL_DATA) libgnatvsn.a libgnatvsn.so.* $(lib_inst_dir) ++ cd $(lib_inst_dir) && ln -sf libgnatvsn.so.$(LIB_VERSION) libgnatvsn.so ++ $(INSTALL_DATA) *.adb *.ads *.c *.h $(src_inst_dir) ++ $(INSTALL) -m 0444 *.ali $(ali_inst_dir) ++ ++clean: ++ rm -rf *.ali obj-static obj-shared libgnatvsn* *.adb *.ads *.c *.h +--- a/src/Makefile.def ++++ b/src/Makefile.def +@@ -187,6 +187,16 @@ + missing= TAGS; + missing= install-info; + missing= installcheck; }; ++target_modules = { module= libgnatvsn; no_check=true; ++ missing= info; ++ missing= dvi; ++ missing= html; ++ missing= pdf; ++ missing= install-html; ++ missing= install-pdf; ++ missing= TAGS; ++ missing= install-info; ++ missing= installcheck; }; + target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; }; + target_modules = { module= libitm; lib_path=.libs; }; + target_modules = { module= libatomic; lib_path=.libs; }; +@@ -385,6 +395,8 @@ + dependencies = { module=all-target-libada; on=all-gcc; }; + dependencies = { module=all-gnattools; on=all-target-libada; }; + dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; }; ++dependencies = { module=all-gnattools; on=all-target-libgnatvsn; }; ++dependencies = { module=all-target-libgnatvsn; on=all-target-libada; }; + + // Depending on the specific configuration, the LTO plugin will either use the + // generic libiberty build or the specific build for linker plugins. +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -171,6 +171,7 @@ + target-libobjc \ + target-libada \ + ${target_libiberty} \ ++ target-libgnatvsn \ + target-libgo" + + # these tools are built using the target libraries, and are intended to +@@ -455,7 +456,7 @@ + ENABLE_LIBADA=$enableval, + ENABLE_LIBADA=yes) + if test "${ENABLE_LIBADA}" != "yes" ; then +- noconfigdirs="$noconfigdirs gnattools" ++ noconfigdirs="$noconfigdirs target-libgnatvsn gnattools" + fi + + AC_ARG_ENABLE(libssp, +--- a/src/gcc/ada/gcc-interface/config-lang.in ++++ b/src/gcc/ada/gcc-interface/config-lang.in +@@ -34,8 +34,8 @@ + + outputs="ada/gcc-interface/Makefile ada/Makefile" + +-target_libs="target-libada" +-lang_dirs="libada gnattools" ++target_libs="target-libada target-libgnatvsn" ++lang_dirs="libada libgnatvsn gnattools" + + # Ada is not enabled by default for the time being. + build_by_default=no --- gcc-7-7.1.0.orig/debian/patches/ada-library-project-files-soname.diff +++ gcc-7-7.1.0/debian/patches/ada-library-project-files-soname.diff @@ -0,0 +1,88 @@ +Description: when linking an Ada shared library, avoid modifying user soname + In project files, use the exact Library_Version provided, if any, as + the soname of libraries; do not strip minor version numbers + . + GNAT has been announcing the removal of support for GPR projects + since gcc-6. + Gnatlink will then stop being able to link shared libraries. + This probably explains why upstream is not interested in this patch. +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40025 +Author: Ludovic Brenta + +Index: b/src/gcc/ada/mlib-tgt-specific-linux.adb +=================================================================== +--- a/src/gcc/ada/mlib-tgt-specific-linux.adb ++++ b/src/gcc/ada/mlib-tgt-specific-linux.adb +@@ -50,6 +50,8 @@ package body MLib.Tgt.Specific is + + function Is_Archive_Ext (Ext : String) return Boolean; + ++ function Library_Major_Minor_Id_Supported return Boolean; ++ + --------------------------- + -- Build_Dynamic_Library -- + --------------------------- +@@ -142,7 +144,18 @@ package body MLib.Tgt.Specific is + return Ext = ".a" or else Ext = ".so"; + end Is_Archive_Ext; + ++ -------------------------------------- ++ -- Library_Major_Minor_Id_Supported -- ++ -------------------------------------- ++ ++ function Library_Major_Minor_Id_Supported return Boolean is ++ begin ++ return False; ++ end Library_Major_Minor_Id_Supported; ++ + begin + Build_Dynamic_Library_Ptr := Build_Dynamic_Library'Access; + Is_Archive_Ext_Ptr := Is_Archive_Ext'Access; ++ Library_Major_Minor_Id_Supported_Ptr := ++ Library_Major_Minor_Id_Supported'Access; + end MLib.Tgt.Specific; +Index: b/src/gcc/ada/mlib.adb +=================================================================== +--- a/src/gcc/ada/mlib.adb ++++ b/src/gcc/ada/mlib.adb +@@ -30,6 +30,7 @@ with System; + with Opt; + with Output; use Output; + ++with MLib.Tgt; + with MLib.Utl; use MLib.Utl; + + with Prj.Com; +@@ -393,7 +394,11 @@ package body MLib is + -- Major_Id_Name -- + ------------------- + +- function Major_Id_Name ++ function Major_Id_Name_If_Supported ++ (Lib_Filename : String; ++ Lib_Version : String) ++ return String; ++ function Major_Id_Name_If_Supported + (Lib_Filename : String; + Lib_Version : String) + return String +@@ -447,6 +452,19 @@ package body MLib is + else + return ""; + end if; ++ end Major_Id_Name_If_Supported; ++ ++ function Major_Id_Name ++ (Lib_Filename : String; ++ Lib_Version : String) ++ return String ++ is ++ begin ++ if MLib.Tgt.Library_Major_Minor_Id_Supported then ++ return Major_Id_Name_If_Supported (Lib_Filename, Lib_Version); ++ else ++ return ""; ++ end if; + end Major_Id_Name; + + ------------------------------- --- gcc-7-7.1.0.orig/debian/patches/ada-link-lib.diff +++ gcc-7-7.1.0/debian/patches/ada-link-lib.diff @@ -0,0 +1,161 @@ +Description: adapt libgnat build for Debian + Don't include a runtime link path (-rpath), when linking binaries. + . + Build the shared libraries on hppa-linux (see #786692 below). + TODO: ask the reporter (no porterbox) to attempt a rebuild without this + chunk, now that we diverge less from upstream. + . + Instead of building libada as a target library only, build it as + both a host and, if different, target library. + . + Compile with -gnatn, link with --as-needed -z defs. + . + Please read ada-changes-in-autogen-output.diff about src/Makefile.def. +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786692 +Forwarded: not-needed +Author: Ludovic Brenta +Author: Nicolas Boulenguez +Author: Matthias Klose + +--- a/src/gcc/ada/gcc-interface/config-lang.in ++++ b/src/gcc/ada/gcc-interface/config-lang.in +@@ -35,7 +35,7 @@ + outputs="ada/gcc-interface/Makefile ada/Makefile" + + target_libs="target-libada" +-lang_dirs="gnattools" ++lang_dirs="libada gnattools" + + # Ada is not enabled by default for the time being. + build_by_default=no +--- a/src/gcc/ada/link.c ++++ b/src/gcc/ada/link.c +@@ -106,9 +106,9 @@ + #elif defined (__FreeBSD__) || defined (__DragonFly__) \ + || defined (__NetBSD__) || defined (__OpenBSD__) + const char *__gnat_object_file_option = "-Wl,@"; +-const char *__gnat_run_path_option = "-Wl,-rpath,"; +-char __gnat_shared_libgnat_default = STATIC; +-char __gnat_shared_libgcc_default = STATIC; ++const char *__gnat_run_path_option = ""; ++char __gnat_shared_libgnat_default = SHARED; ++char __gnat_shared_libgcc_default = SHARED; + int __gnat_link_max = 8192; + unsigned char __gnat_objlist_file_supported = 1; + const char *__gnat_object_library_extension = ".a"; +@@ -128,9 +128,9 @@ + + #elif defined (__linux__) || defined (__GLIBC__) + const char *__gnat_object_file_option = "-Wl,@"; +-const char *__gnat_run_path_option = "-Wl,-rpath,"; +-char __gnat_shared_libgnat_default = STATIC; +-char __gnat_shared_libgcc_default = STATIC; ++const char *__gnat_run_path_option = ""; ++char __gnat_shared_libgnat_default = SHARED; ++char __gnat_shared_libgcc_default = SHARED; + int __gnat_link_max = 8192; + unsigned char __gnat_objlist_file_supported = 1; + const char *__gnat_object_library_extension = ".a"; +--- a/src/libada/Makefile.in ++++ b/src/libada/Makefile.in +@@ -78,10 +78,10 @@ + # by recursive make invocations in gcc/ada/Makefile.in + LIBADA_FLAGS_TO_PASS = \ + "MAKEOVERRIDES=" \ +- "LDFLAGS=$(LDFLAGS)" \ ++ "LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs" \ + "LN_S=$(LN_S)" \ + "SHELL=$(SHELL)" \ +- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \ ++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) -gnatn" \ + "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ + "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ + "PICFLAG_FOR_TARGET=$(PICFLAG)" \ +--- a/src/Makefile.def ++++ b/src/Makefile.def +@@ -122,7 +122,16 @@ + missing=distclean; + missing=maintainer-clean; }; + host_modules= { module= utils; no_check=true; }; +-host_modules= { module= gnattools; }; ++host_modules= { module= gnattools; no_check=true; ++ missing= info; ++ missing= dvi; ++ missing= html; ++ missing= pdf; ++ missing= install-pdf; ++ missing= install-html; ++ missing= TAGS; ++ missing= install-info; ++ missing= installcheck; }; + host_modules= { module= lto-plugin; bootstrap=true; + extra_configure_flags='--enable-shared @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@'; + extra_make_flags='@extra_linker_plugin_flags@'; }; +@@ -168,7 +177,16 @@ + target_modules = { module= libffi; no_install=true; }; + target_modules = { module= zlib; }; + target_modules = { module= rda; }; +-target_modules = { module= libada; }; ++target_modules = { module= libada; no_install=true; no_check=true; ++ missing= info; ++ missing= dvi; ++ missing= html; ++ missing= pdf; ++ missing= install-html; ++ missing= install-pdf; ++ missing= TAGS; ++ missing= install-info; ++ missing= installcheck; }; + target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; }; + target_modules = { module= libitm; lib_path=.libs; }; + target_modules = { module= libatomic; lib_path=.libs; }; +@@ -364,6 +382,7 @@ + + dependencies = { module=all-fixincludes; on=all-libiberty; }; + ++dependencies = { module=all-target-libada; on=all-gcc; }; + dependencies = { module=all-gnattools; on=all-target-libada; }; + dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; }; + +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -142,6 +142,11 @@ + # If --enable-gold is used, "gold" may replace "ld". + host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gotools" + ++case "${target}" in ++ hppa64-*linux*) ;; ++ *) target_libiberty="target-libiberty";; ++esac ++ + # these libraries are built for the target environment, and are built after + # the host libraries and the host tools (which may be a cross compiler) + # Note that libiberty is not a target library. +@@ -165,6 +170,7 @@ + target-libffi \ + target-libobjc \ + target-libada \ ++ ${target_libiberty} \ + target-libgo" + + # these tools are built using the target libraries, and are intended to +--- a/src/gcc/ada/gcc-interface/Make-lang.in ++++ b/src/gcc/ada/gcc-interface/Make-lang.in +@@ -45,7 +45,7 @@ + + + # Extra flags to pass to recursive makes. +-COMMON_ADAFLAGS= -gnatpg ++COMMON_ADAFLAGS= -gnatpgn + ifeq ($(TREECHECKING),) + CHECKING_ADAFLAGS= + else +@@ -211,7 +211,7 @@ + endif + + # Strip -Werror during linking for the LTO bootstrap +-GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS)) ++GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS)) -Wl,--as-needed -Wl,-z,defs + + GCC_LINK=$(LINKER) $(GCC_LINKERFLAGS) $(LDFLAGS) + GCC_LLINK=$(LLINKER) $(GCC_LINKERFLAGS) $(LDFLAGS) --- gcc-7-7.1.0.orig/debian/patches/ada-link-shlib.diff +++ gcc-7-7.1.0/debian/patches/ada-link-shlib.diff @@ -0,0 +1,97 @@ +Description: when linking Ada shared libraries, list dependencies after objects + In gnatlink, pass the options and libraries after objects to the + linker to avoid link failures with --as-needed. + This option is activated by default on the GNU gold linker. + . + GNAT has been announcing the removal of support for GPR projects + since gcc-6. + Gnatlink will then stop being able to link shared libraries. + This probably explains why upstream is not interested in this patch. +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680292 +Author: Matthias Klose +Forwarded: http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01132.html + +--- a/src/gcc/ada/mlib-tgt-specific-linux.adb ++++ b/src/gcc/ada/mlib-tgt-specific-linux.adb +@@ -81,19 +81,54 @@ + Version_Arg : String_Access; + Symbolic_Link_Needed : Boolean := False; + ++ N_Options : Argument_List := Options; ++ Options_Last : Natural := N_Options'Last; ++ -- After moving -lxxx to Options_2, N_Options up to index Options_Last ++ -- will contain the Options to pass to MLib.Utl.Gcc. ++ ++ Real_Options_2 : Argument_List (1 .. Options'Length); ++ Real_Options_2_Last : Natural := 0; ++ -- Real_Options_2 up to index Real_Options_2_Last will contain the ++ -- Options_2 to pass to MLib.Utl.Gcc. ++ + begin + if Opt.Verbose_Mode then + Write_Str ("building relocatable shared library "); + Write_Line (Lib_Path); + end if; + ++ -- Move all -lxxx to Options_2 ++ ++ declare ++ Index : Natural := N_Options'First; ++ Arg : String_Access; ++ ++ begin ++ while Index <= Options_Last loop ++ Arg := N_Options (Index); ++ ++ if Arg'Length > 2 ++ and then Arg (Arg'First .. Arg'First + 1) = "-l" ++ then ++ Real_Options_2_Last := Real_Options_2_Last + 1; ++ Real_Options_2 (Real_Options_2_Last) := Arg; ++ N_Options (Index .. Options_Last - 1) := ++ N_Options (Index + 1 .. Options_Last); ++ Options_Last := Options_Last - 1; ++ ++ else ++ Index := Index + 1; ++ end if; ++ end loop; ++ end; ++ + if Lib_Version = "" then + Utl.Gcc + (Output_File => Lib_Path, + Objects => Ofiles, +- Options => Options, ++ Options => N_Options (N_Options'First .. Options_Last), + Driver_Name => Driver_Name, +- Options_2 => No_Argument_List); ++ Options_2 => Real_Options_2 (1 .. Real_Options_2_Last)); + + else + declare +@@ -111,18 +146,20 @@ + Utl.Gcc + (Output_File => Lib_Version, + Objects => Ofiles, +- Options => Options & Version_Arg, ++ Options => N_Options (N_Options'First .. Options_Last) ++ & Version_Arg, + Driver_Name => Driver_Name, +- Options_2 => No_Argument_List); ++ Options_2 => Real_Options_2 (1 .. Real_Options_2_Last)); + Symbolic_Link_Needed := Lib_Version /= Lib_Path; + + else + Utl.Gcc + (Output_File => Lib_Dir & Directory_Separator & Lib_Version, + Objects => Ofiles, +- Options => Options & Version_Arg, ++ Options => N_Options (N_Options'First .. Options_Last) ++ & Version_Arg, + Driver_Name => Driver_Name, +- Options_2 => No_Argument_List); ++ Options_2 => Real_Options_2 (1 .. Real_Options_2_Last)); + Symbolic_Link_Needed := + Lib_Dir & Directory_Separator & Lib_Version /= Lib_Path; + end if; --- gcc-7-7.1.0.orig/debian/patches/ada-nobiarch-check.diff +++ gcc-7-7.1.0/debian/patches/ada-nobiarch-check.diff @@ -0,0 +1,21 @@ +Description: For biarch builds, disable the gnat testsuite for the non-default + architecture (no biarch support in gnat yet). +Author: Matthias Klose + +Index: b/src/gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -4510,7 +4510,11 @@ + if [ -f $${rootme}/../expect/expect ] ; then \ + TCL_LIBRARY=`cd .. ; cd $${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \ + export TCL_LIBRARY ; fi ; \ +- $(RUNTEST) --tool $* $(RUNTESTFLAGS)) ++ if [ "$*" = gnat ]; then \ ++ runtestflags="`echo '$(RUNTESTFLAGS)' | sed -r 's/,-m(32|64|x32)//g;s/,-mabi=(n32|64)//g'`"; \ ++ case "$$runtestflags" in *\\{\\}) runtestflags=; esac; \ ++ fi; \ ++ $(RUNTEST) --tool $* $$runtestflags) + + $(patsubst %,%-subtargets,$(filter-out $(lang_checks_parallelized),$(lang_checks))): check-%-subtargets: + @echo check-$* --- gcc-7-7.1.0.orig/debian/patches/ada-sjlj.diff +++ gcc-7-7.1.0/debian/patches/ada-sjlj.diff @@ -0,0 +1,501 @@ +# Please read ada-changes-in-autogen-output.diff about src/Makefile.def. + +# !!! Must be applied after ada-libgnatvsn.diff + +Index: b/src/libada-sjlj/Makefile.in +=================================================================== +--- /dev/null ++++ b/src/libada-sjlj/Makefile.in +@@ -0,0 +1,201 @@ ++# Makefile for libada. ++# Copyright (C) 2003-2015 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 program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; see the file COPYING3. If not see ++# . ++ ++# Default target; must be first. ++all: gnatlib ++ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE) ++ ++.PHONY: all ++ ++## Multilib support variables. ++MULTISRCTOP = ++MULTIBUILDTOP = ++MULTIDIRS = ++MULTISUBDIR = ++MULTIDO = true ++MULTICLEAN = true ++ ++# Standard autoconf-set variables. ++SHELL = @SHELL@ ++srcdir = @srcdir@ ++libdir = @libdir@ ++build = @build@ ++target = @target@ ++prefix = @prefix@ ++ ++# Nonstandard autoconf-set variables. ++enable_shared = @enable_shared@ ++ ++LN_S=@LN_S@ ++AWK=@AWK@ ++ ++ifeq (cp -p,$(LN_S)) ++LN_S_RECURSIVE = cp -pR ++else ++LN_S_RECURSIVE = $(LN_S) ++endif ++ ++# Variables for the user (or the top level) to override. ++objext=.o ++THREAD_KIND=native ++TRACE=no ++LDFLAGS= ++ ++# The tedious process of getting CFLAGS right. ++CFLAGS=-g ++PICFLAG = @PICFLAG@ ++GNATLIBFLAGS= -W -Wall -gnatpg -nostdinc ++GNATLIBCFLAGS= -g -O2 ++GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) \ ++ -fexceptions -DIN_RTS @have_getipinfo@ ++ ++host_subdir = @host_subdir@ ++GCC_DIR=$(MULTIBUILDTOP)../../$(host_subdir)/gcc ++ ++target_noncanonical:=@target_noncanonical@ ++gcc_version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER) ++libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)$(MULTISUBDIR) ++ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR)) ++ADA_RTS_SUBDIR=./rts$(subst /,_,$(MULTISUBDIR)) ++ ++# exeext should not be used because it's the *host* exeext. We're building ++# a *target* library, aren't we?!? Likewise for CC. Still, provide bogus ++# definitions just in case something slips through the safety net provided ++# by recursive make invocations in gcc/ada/Makefile.in ++LIBADA_FLAGS_TO_PASS = \ ++ "MAKEOVERRIDES=" \ ++ "LDFLAGS=$(LDFLAGS)" \ ++ "LN_S=$(LN_S)" \ ++ "SHELL=$(SHELL)" \ ++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \ ++ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ ++ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ ++ "PICFLAG_FOR_TARGET=$(PICFLAG)" \ ++ "THREAD_KIND=$(THREAD_KIND)" \ ++ "TRACE=$(TRACE)" \ ++ "MULTISUBDIR=$(MULTISUBDIR)" \ ++ "libsubdir=$(libsubdir)" \ ++ "objext=$(objext)" \ ++ "prefix=$(prefix)" \ ++ "exeext=.exeext.should.not.be.used " \ ++ 'CC=the.host.compiler.should.not.be.needed' \ ++ "GCC_FOR_TARGET=$(CC)" \ ++ "CFLAGS=$(CFLAGS)" \ ++ "RTSDIR=rts-sjlj" ++ ++# Rules to build gnatlib. ++.PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared osconstool ++gnatlib: gnatlib-sjlj ++ ++gnatlib-plain: osconstool $(GCC_DIR)/ada/Makefile ++ test -f stamp-libada || \ ++ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) gnatlib \ ++ && touch stamp-libada ++ -rm -rf adainclude ++ -rm -rf adalib ++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adainclude ++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adalib ++ ++gnatlib-sjlj gnatlib-zcx gnatlib-shared: osconstool $(GCC_DIR)/ada/Makefile ++ test -f stamp-libada || \ ++ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) $@ \ ++ && touch stamp-libada-sjlj ++ -rm -rf adainclude ++ -rm -rf adalib ++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adainclude ++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adalib ++ ++osconstool: ++ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) ./bldtools/oscons/xoscons ++ ++install-gnatlib: $(GCC_DIR)/ada/Makefile ++ $(MAKE) -C $(GCC_DIR)/ada $(AM_MAKEFLAGS) $(LIBADA_FLAGS_TO_PASS) install-gnatlib-sjlj ++ ++# Check uninstalled version. ++check: ++ ++# Check installed version. ++installcheck: ++ ++# Build info (none here). ++info: ++ ++# Build DVI (none here). ++dvi: ++ ++# Build PDF (none here). ++pdf: ++ ++# Build html (none here). ++html: ++ ++# Build TAGS (none here). ++TAGS: ++ ++.PHONY: check installcheck info dvi pdf html ++ ++# Installation rules. ++install: install-gnatlib ++ $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE) ++ ++install-strip: install ++ ++install-info: ++ ++install-pdf: ++ ++install-html: ++ ++.PHONY: install install-strip install-info install-pdf install-html ++ ++# Cleaning rules. ++mostlyclean: ++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE) ++ ++clean: ++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE) ++ ++distclean: ++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE) ++ $(RM) Makefile config.status config.log ++ ++maintainer-clean: ++ ++.PHONY: mostlyclean clean distclean maintainer-clean ++ ++# Rules for rebuilding this Makefile. ++Makefile: $(srcdir)/Makefile.in config.status ++ CONFIG_FILES=$@ ; \ ++ CONFIG_HEADERS= ; \ ++ $(SHELL) ./config.status ++ ++config.status: $(srcdir)/configure ++ $(SHELL) ./config.status --recheck ++ ++AUTOCONF = autoconf ++configure_deps = \ ++ $(srcdir)/configure.ac \ ++ $(srcdir)/../config/acx.m4 \ ++ $(srcdir)/../config/override.m4 \ ++ $(srcdir)/../config/multi.m4 ++ ++$(srcdir)/configure: @MAINT@ $(configure_deps) ++ cd $(srcdir) && $(AUTOCONF) ++ ++# Don't export variables to the environment, in order to not confuse ++# configure. ++.NOEXPORT: +Index: b/src/libada-sjlj/configure.ac +=================================================================== +--- /dev/null ++++ b/src/libada-sjlj/configure.ac +@@ -0,0 +1,152 @@ ++# Configure script for libada. ++# Copyright (C) 2003-2016 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 program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; see the file COPYING3. If not see ++# . ++ ++sinclude(../config/acx.m4) ++sinclude(../config/multi.m4) ++sinclude(../config/override.m4) ++sinclude(../config/picflag.m4) ++sinclude(../config/unwind_ipinfo.m4) ++ ++AC_INIT ++AC_PREREQ([2.64]) ++ ++AC_CONFIG_SRCDIR([Makefile.in]) ++ ++# Determine the host, build, and target systems ++AC_CANONICAL_BUILD ++AC_CANONICAL_HOST ++AC_CANONICAL_TARGET ++target_alias=${target_alias-$host_alias} ++ ++# Determine the noncanonical target name, for directory use. ++ACX_NONCANONICAL_TARGET ++ ++# Determine the target- and build-specific subdirectories ++GCC_TOPLEV_SUBDIRS ++ ++# Command-line options. ++# Very limited version of AC_MAINTAINER_MODE. ++AC_ARG_ENABLE([maintainer-mode], ++ [AC_HELP_STRING([--enable-maintainer-mode], ++ [enable make rules and dependencies not useful (and ++ sometimes confusing) to the casual installer])], ++ [case ${enable_maintainer_mode} in ++ yes) MAINT='' ;; ++ no) MAINT='#' ;; ++ *) AC_MSG_ERROR([--enable-maintainer-mode must be yes or no]) ;; ++ esac ++ maintainer_mode=${enableval}], ++ [MAINT='#']) ++AC_SUBST([MAINT])dnl ++ ++AM_ENABLE_MULTILIB(, ..) ++# Calculate toolexeclibdir ++# Also toolexecdir, though it's only used in toolexeclibdir ++case ${enable_version_specific_runtime_libs} in ++ yes) ++ # Need the gcc compiler version to know where to install libraries ++ # and header files if --enable-version-specific-runtime-libs option ++ # is selected. ++ toolexecdir='$(libdir)/gcc/$(target_alias)' ++ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)' ++ ;; ++ no) ++ if test -n "$with_cross_host" && ++ test x"$with_cross_host" != x"no"; then ++ # Install a library built with a cross compiler in tooldir, not libdir. ++ toolexecdir='$(exec_prefix)/$(target_alias)' ++ toolexeclibdir='$(toolexecdir)/lib' ++ else ++ toolexecdir='$(libdir)/gcc-lib/$(target_alias)' ++ toolexeclibdir='$(libdir)' ++ fi ++ multi_os_directory=`$CC -print-multi-os-directory` ++ case $multi_os_directory in ++ .) ;; # Avoid trailing /. ++ *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;; ++ esac ++ ;; ++esac ++AC_SUBST(toolexecdir) ++AC_SUBST(toolexeclibdir) ++#TODO: toolexeclibdir is currently disregarded ++ ++# Check the compiler. ++# The same as in boehm-gc and libstdc++. Have to borrow it from there. ++# We must force CC to /not/ be precious variables; otherwise ++# the wrong, non-multilib-adjusted value will be used in multilibs. ++# As a side effect, we have to subst CFLAGS ourselves. ++ ++m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) ++m4_define([_AC_ARG_VAR_PRECIOUS],[]) ++AC_PROG_CC ++m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) ++ ++AC_SUBST(CFLAGS) ++ ++AC_ARG_ENABLE([shared], ++[AC_HELP_STRING([--disable-shared], ++ [don't provide a shared libgnat])], ++[ ++case $enable_shared in ++ yes | no) ;; ++ *) ++ enable_shared=no ++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," ++ for pkg in $enableval; do ++ case $pkg in ++ ada | libada) ++ enable_shared=yes ;; ++ esac ++ done ++ IFS="$ac_save_ifs" ++ ;; ++esac ++], [enable_shared=yes]) ++AC_SUBST([enable_shared]) ++ ++GCC_PICFLAG ++AC_SUBST([PICFLAG]) ++ ++# These must be passed down, or are needed by gcc/libgcc.mvars ++AC_PROG_AWK ++AC_PROG_LN_S ++ ++# Determine what GCC version number to use in filesystem paths. ++GCC_BASE_VER ++ ++# Determine what to build for 'gnatlib' ++if test ${enable_shared} = yes ; then ++ # Note that build=target is almost certainly the wrong test; FIXME ++ default_gnatlib_target="gnatlib-shared" ++else ++ default_gnatlib_target="gnatlib-plain" ++fi ++AC_SUBST([default_gnatlib_target]) ++ ++# Check for _Unwind_GetIPInfo ++GCC_CHECK_UNWIND_GETIPINFO ++have_getipinfo= ++if test x$have_unwind_getipinfo = xyes; then ++ have_getipinfo=-DHAVE_GETIPINFO ++fi ++AC_SUBST(have_getipinfo) ++ ++# Output: create a Makefile. ++AC_CONFIG_FILES([Makefile]) ++ ++AC_OUTPUT +Index: b/src/Makefile.def +=================================================================== +--- a/src/Makefile.def ++++ b/src/Makefile.def +@@ -197,6 +197,7 @@ target_modules = { module= libgnatvsn; n + missing= TAGS; + missing= install-info; + missing= installcheck; }; ++target_modules = { module= libada-sjlj; }; + target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; }; + target_modules = { module= libitm; lib_path=.libs; }; + target_modules = { module= libatomic; lib_path=.libs; }; +@@ -393,6 +394,7 @@ dependencies = { module=all-libcpp; on=a + dependencies = { module=all-fixincludes; on=all-libiberty; }; + + dependencies = { module=all-target-libada; on=all-gcc; }; ++dependencies = { module=all-target-libada-sjlj; on=all-target-libada; }; + dependencies = { module=all-gnattools; on=all-target-libada; }; + dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; }; + dependencies = { module=all-gnattools; on=all-target-libgnatvsn; }; +Index: b/src/configure.ac +=================================================================== +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -170,6 +170,7 @@ target_libraries="target-libgcc \ + target-libffi \ + target-libobjc \ + target-libada \ ++ target-libada-sjlj \ + ${target_libiberty} \ + target-libgnatvsn \ + target-libgo" +@@ -456,7 +457,7 @@ AC_ARG_ENABLE(libada, + ENABLE_LIBADA=$enableval, + ENABLE_LIBADA=yes) + if test "${ENABLE_LIBADA}" != "yes" ; then +- noconfigdirs="$noconfigdirs target-libgnatvsn gnattools" ++ noconfigdirs="$noconfigdirs target-libgnatvsn gnattools target-libada-sjlj" + fi + + AC_ARG_ENABLE(libssp, +Index: b/src/gcc/ada/gcc-interface/Makefile.in +=================================================================== +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -191,7 +191,7 @@ TOOLSCASE = + + # Multilib handling + MULTISUBDIR = +-RTSDIR = rts$(subst /,_,$(MULTISUBDIR)) ++RTSDIR := rts$(subst /,_,$(MULTISUBDIR)) + + # Link flags used to build gnat tools. By default we prefer to statically + # link with libgcc to avoid a dependency on shared libgcc (which is tricky +@@ -2673,6 +2673,26 @@ install-gnatlib: ../stamp-gnatlib-$(RTSD + cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb + cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads + ++install-gnatlib-sjlj: ../stamp-gnatlib-$(RTSDIR) ++# Create the directory before deleting it, in case the directory is ++# a list of directories (as it may be on VMS). This ensures we are ++# deleting the right one. ++ -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ) ++ -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ) ++ $(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ) ++ $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ) ++ -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ) ++ -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ) ++ for file in $(RTSDIR)/*.ali; do \ ++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ); \ ++ done ++ # This copy must be done preserving the date on the original file. ++ for file in $(RTSDIR)/*.ad?; do \ ++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ); \ ++ done ++ cd $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ); $(CHMOD) a-wx *.adb ++ cd $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ); $(CHMOD) a-wx *.ads ++ + ../stamp-gnatlib2-$(RTSDIR): + $(RM) $(RTSDIR)/s-*.ali + $(RM) $(RTSDIR)/s-*$(objext) +@@ -2938,7 +2958,7 @@ gnatlib-shared: + # commenting the pragma instead of deleting the line, as the latter might + # result in getting multiple blank lines, hence possible style check errors. + gnatlib-sjlj: +- $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" \ ++ $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" RTSDIR="$(RTSDIR)" \ + THREAD_KIND="$(THREAD_KIND)" ../stamp-gnatlib1-$(RTSDIR) + sed \ + -e 's/Frontend_Exceptions.*/Frontend_Exceptions : constant Boolean := True;/' \ +@@ -2947,6 +2967,7 @@ gnatlib-sjlj: + $(RTSDIR)/system.ads > $(RTSDIR)/s.ads + $(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads + $(MAKE) $(FLAGS_TO_PASS) \ ++ RTSDIR="$(RTSDIR)" \ + EH_MECHANISM="" \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ +@@ -2998,6 +3019,8 @@ b_gnatm.o : b_gnatm.adb + + ADA_INCLUDE_DIR = $(libsubdir)/adainclude + ADA_RTL_OBJ_DIR = $(libsubdir)/adalib ++ADA_INCLUDE_DIR_SJLJ = $(libsubdir)/rts-sjlj/adainclude ++ADA_RTL_OBJ_DIR_SJLJ = $(libsubdir)/rts-sjlj/adalib + + # Special flags + +Index: b/src/gcc/ada/gcc-interface/config-lang.in +=================================================================== +--- a/src/gcc/ada/gcc-interface/config-lang.in ++++ b/src/gcc/ada/gcc-interface/config-lang.in +@@ -34,8 +34,8 @@ gtfiles="\$(srcdir)/ada/gcc-interface/ad + + outputs="ada/gcc-interface/Makefile ada/Makefile" + +-target_libs="target-libada target-libgnatvsn" +-lang_dirs="libada libgnatvsn gnattools" ++target_libs="target-libada target-libgnatvsn target-libada-sjlj" ++lang_dirs="libada libgnatvsn gnattools libada-sjlj" + + # Ada is not enabled by default for the time being. + build_by_default=no +Index: b/src/gcc/ada/gcc-interface/Make-lang.in +=================================================================== +--- a/src/gcc/ada/gcc-interface/Make-lang.in ++++ b/src/gcc/ada/gcc-interface/Make-lang.in +@@ -784,6 +784,7 @@ ada.install-common: + + install-gnatlib: + $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) install-gnatlib$(LIBGNAT_TARGET) ++ $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) RTSDIR="rts-sjlj" install-gnatlib-sjlj$(LIBGNAT_TARGET) + + install-gnatlib-obj: + $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) install-gnatlib-obj --- gcc-7-7.1.0.orig/debian/patches/ada-symbolic-tracebacks.diff +++ gcc-7-7.1.0/debian/patches/ada-symbolic-tracebacks.diff @@ -0,0 +1,401 @@ +# DP: - Enable support for symbolic tracebacks in exceptions (delete the dummy +# DP: convert_addresses from adaint.c, and provide a real one separately.) + +Ported Jürgen Pfeifer's patch to enable symbolic tracebacks on Debian +GNU/Linux. + +The binary distribution of GNAT 3.15p comes with an old version of +binutils that includes a library, libaddr2line.a. This library does +not exist in recent versions of binutils. The patch works around this +by calling /usr/bin/addr2line (still part of binutils) and parsing the +output. See debian/convert_addresses.c for the gory details. + +I have modified convert_addresses.c to not use a shell script anymore; +Debian controls the version of binutils which is installed. Also, I +use execve instead of execle. + +-- +Ludovic Brenta. + +# ' make emacs highlighting happy + +Index: b/src/gcc/ada/gcc-interface/Makefile.in +=================================================================== +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -270,7 +270,8 @@ + # Both . and srcdir are used, in that order, + # so that tm.h and config.h will be found in the compilation + # subdirectory rather than in the source directory. +-INCLUDES = -I- -I. -I.. -I$(srcdir)/ada -I$(srcdir) -I$(ftop_srcdir)/include $(GMPINC) ++INCLUDES = -iquote . -iquote .. -iquote $(srcdir)/ada -iquote $(srcdir) \ ++ -iquote $(ftop_srcdir)/include $(GMPINC) + + ADA_INCLUDES = -I- -I. -I$(srcdir)/ada + +@@ -2426,7 +2427,7 @@ + # library. LIBGNAT_OBJS is the list of object files for libgnat. + # thread.c is special as put into GNATRTL_TASKING_OBJS by Makefile.rtl + LIBGNAT_OBJS = adadecode.o adaint.o argv.o aux-io.o \ +- cal.o cio.o cstreams.o ctrl_c.o \ ++ cal.o cio.o convert_addresses.o cstreams.o ctrl_c.o \ + env.o errno.o exit.o expect.o final.o \ + init.o initialize.o locales.o mkdir.o \ + raise.o seh_init.o socket.o sysdep.o \ +@@ -3104,6 +3105,7 @@ + socket.o : socket.c gsocket.h + sysdep.o : sysdep.c + raise.o : raise.c raise.h ++convert_addresses.o : convert_addresses.c + sigtramp-armdroid.o : sigtramp-armdroid.c sigtramp.h + sigtramp-armvxw.o : sigtramp-armvxw.c sigtramp.h + sigtramp-ppcvxw.o : sigtramp-ppcvxw.c sigtramp.h +Index: b/src/gcc/ada/adaint.c +=================================================================== +--- a/src/gcc/ada/adaint.c ++++ b/src/gcc/ada/adaint.c +@@ -3608,35 +3608,6 @@ + } + #endif + +-#if defined (IS_CROSS) \ +- || (! ((defined (sparc) || defined (i386)) && defined (sun) \ +- && defined (__SVR4)) \ +- && ! (defined (linux) && (defined (i386) || defined (__x86_64__))) \ +- && ! (defined (linux) && defined (__ia64__)) \ +- && ! (defined (linux) && defined (powerpc)) \ +- && ! defined (__FreeBSD__) \ +- && ! defined (__Lynx__) \ +- && ! defined (__hpux__) \ +- && ! defined (__APPLE__) \ +- && ! defined (_AIX) \ +- && ! defined (VMS) \ +- && ! defined (__MINGW32__)) +- +-/* Dummy function to satisfy g-trasym.o. See the preprocessor conditional +- just above for a list of native platforms that provide a non-dummy +- version of this procedure in libaddr2line.a. */ +- +-void +-convert_addresses (const char *file_name ATTRIBUTE_UNUSED, +- void *addrs ATTRIBUTE_UNUSED, +- int n_addr ATTRIBUTE_UNUSED, +- void *buf ATTRIBUTE_UNUSED, +- int *len ATTRIBUTE_UNUSED) +-{ +- *len = 0; +-} +-#endif +- + #if defined (_WIN32) + int __gnat_argument_needs_quote = 1; + #else +Index: b/src/gcc/ada/convert_addresses.c +=================================================================== +--- /dev/null ++++ b/src/gcc/ada/convert_addresses.c +@@ -0,0 +1,159 @@ ++/* ++ Copyright (C) 1999 by Juergen Pfeifer ++ Ada for Linux Team (ALT) ++ ++ Permission is hereby granted, free of charge, to any person obtaining a ++ copy of this software and associated documentation files (the ++ "Software"), to deal in the Software without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, distribute with modifications, sublicense, and/or sell ++ copies of the Software, and to permit persons to whom the Software is ++ furnished to do so, subject to the following conditions: ++ ++ The above copyright notice and this permission notice shall be included ++ in all copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++ IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, ++ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR ++ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ++ THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ ++ Except as contained in this notice, the name(s) of the above copyright ++ holders shall not be used in advertising or otherwise to promote the ++ sale, use or other dealings in this Software without prior written ++ authorization. ++*/ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define STDIN_FILENO 0 ++#define STDOUT_FILENO 1 ++#define MAX_LINE 1024 ++ ++#define CLOSE1 close(fd1[0]); close(fd1[1]) ++#define CLOSE2 close(fd2[0]); close(fd2[1]) ++#define RESTSIG sigaction(SIGPIPE,&oact,NULL) ++ ++void convert_addresses ++(const char const *file_name, ++ void* addrs[], ++ int n_addr, ++ char* buf, ++ int* len) ++{ ++ int max_len = *len; ++ pid_t child; ++ ++ struct sigaction act, oact; ++ ++ int fd1[2], fd2[2]; ++ ++ if (!file_name) { ++ return; ++ } ++ ++ *buf = 0; *len = 0; ++ act.sa_handler = SIG_IGN; ++ sigemptyset(&act.sa_mask); ++ act.sa_flags = 0; ++ if (sigaction(SIGPIPE,&act,&oact) < 0) ++ return; ++ ++ if (pipe(fd1) >= 0) { ++ if (pipe(fd2)>=0) { ++ if ((child = fork()) < 0) { ++ CLOSE1; CLOSE2; RESTSIG; ++ return; ++ } ++ else { ++ if (0==child) { ++ close(fd1[1]); ++ close(fd2[0]); ++ if (fd1[0] != STDIN_FILENO) { ++ if (dup2(fd1[0],STDIN_FILENO) != STDIN_FILENO) { ++ CLOSE1; CLOSE2; ++ } ++ close(fd1[0]); ++ } ++ if (fd2[1] != STDOUT_FILENO) { ++ if (dup2(fd2[1],STDOUT_FILENO) != STDOUT_FILENO) { ++ CLOSE1; CLOSE2; ++ } ++ close(fd2[1]); ++ } ++ { ++ /* As pointed out by Florian Weimer to me, it is a ++ security threat to call the script with a user defined ++ environment and using the path. That would be Trojans ++ pleasure. Therefore we use the absolute path to ++ addr2line and an empty environment. That should be ++ safe. ++ */ ++ char *file_name_for_execve = strdup (file_name); /* non-const */ ++ char *const argv[] = { "addr2line", ++ "-e", ++ file_name_for_execve, ++ "--demangle=gnat", ++ "--functions", ++ "--basenames", ++ NULL }; ++ char *const envp[] = { NULL }; ++ if (execve("/usr/bin/addr2line", argv, envp) < 0) { ++ CLOSE1; CLOSE2; ++ } ++ if (file_name_for_execve) { free (file_name_for_execve); } ++ } ++ } ++ else { ++ int i, n; ++ char hex[16]; ++ char line[MAX_LINE + 1]; ++ char *p; ++ char *s = buf; ++ ++ /* Parent context */ ++ close(fd1[0]); ++ close(fd2[1]); ++ ++ for(i=0; i < n_addr; i++) { ++ snprintf(hex,sizeof(hex),"%p\n",addrs[i]); ++ write(fd1[1],hex,strlen(hex)); ++ n = read(fd2[0],line,MAX_LINE); ++ if (n<=0) ++ break; ++ line[n]=0; ++ /* We have approx. 16 additional chars for "%p in " clause. ++ We use this info to prevent a buffer overrun. ++ */ ++ if (n + 16 + (*len) > max_len) ++ break; ++ p = strchr(line,'\n'); ++ if (p) { ++ if (*(p+1)) { ++ *p = 0; ++ *len += snprintf(s, (max_len - (*len)), "%p in %s at %s",addrs[i], line, p+1); ++ } ++ else { ++ *len += snprintf(s, (max_len - (*len)), "%p at %s",addrs[i], line); ++ } ++ s = buf + (*len); ++ } ++ } ++ close(fd1[1]); ++ close(fd2[0]); ++ } ++ } ++ } ++ else { ++ CLOSE1; ++ } ++ } ++ RESTSIG; ++} +Index: b/src/gcc/ada/g-trasym.adb +=================================================================== +--- a/src/gcc/ada/g-trasym.adb ++++ b/src/gcc/ada/g-trasym.adb +@@ -33,40 +33,110 @@ + -- is not supported. It returns tracebacks as lists of LF separated strings of + -- the form "0x..." corresponding to the addresses. + ++with System.Soft_Links; + with Ada.Exceptions.Traceback; use Ada.Exceptions.Traceback; +-with System.Address_Image; + + package body GNAT.Traceback.Symbolic is + ++ package TSL renames System.Soft_Links; ++ ++ -- To perform the raw addresses to symbolic form translation we rely on a ++ -- libaddr2line symbolizer which examines debug info from a provided ++ -- executable file name, and an absolute path is needed to ensure the file ++ -- is always found. This is "__gnat_locate_exec_on_path (gnat_argv [0])" ++ -- for our executable file, a fairly heavy operation so we cache the ++ -- result. ++ ++ Exename : System.Address; ++ -- Pointer to the name of the executable file to be used on all ++ -- invocations of the libaddr2line symbolization service. ++ ++ Exename_Resolved : Boolean := False; ++ -- Flag to indicate whether we have performed the executable file name ++ -- resolution already. Relying on a not null Exename for this purpose ++ -- would be potentially inefficient as this is what we will get if the ++ -- resolution attempt fails. ++ + ------------------------ + -- Symbolic_Traceback -- + ------------------------ + + function Symbolic_Traceback (Traceback : Tracebacks_Array) return String is ++ ++ procedure convert_addresses ++ (filename : System.Address; ++ addrs : System.Address; ++ n_addrs : Integer; ++ buf : System.Address; ++ len : System.Address); ++ pragma Import (C, convert_addresses, "convert_addresses"); ++ -- This is the procedure version of the Ada-aware addr2line. It places ++ -- in BUF a string representing the symbolic translation of the N_ADDRS ++ -- raw addresses provided in ADDRS, looked up in debug information from ++ -- FILENAME. LEN points to an integer which contains the size of the ++ -- BUF buffer at input and the result length at output. ++ -- ++ -- Note that this procedure is *not* thread-safe. ++ ++ type Argv_Array is array (0 .. 0) of System.Address; ++ gnat_argv : access Argv_Array; ++ pragma Import (C, gnat_argv, "gnat_argv"); ++ ++ function locate_exec_on_path ++ (c_exename : System.Address) return System.Address; ++ pragma Import (C, locate_exec_on_path, "__gnat_locate_exec_on_path"); ++ ++ B_Size : constant Integer := 256 * Traceback'Length; ++ Len : Integer := B_Size; ++ Res : String (1 .. B_Size); ++ ++ use type System.Address; ++ + begin ++ -- The symbolic translation of an empty set of addresses is an empty ++ -- string. ++ + if Traceback'Length = 0 then + return ""; ++ end if; + +- else +- declare +- Img : String := System.Address_Image (Traceback (Traceback'First)); ++ -- If our input set of raw addresses is not empty, resort to the ++ -- libaddr2line service to symbolize it all. + +- Result : String (1 .. (Img'Length + 3) * Traceback'Length); +- Last : Natural := 0; ++ -- Compute, cache and provide the absolute path to our executable file ++ -- name as the binary file where the relevant debug information is to be ++ -- found. If the executable file name resolution fails, we have no ++ -- sensible basis to invoke the symbolizer at all. ++ ++ -- Protect all this against concurrent accesses explicitly, as the ++ -- underlying services are potentially thread unsafe. ++ ++ TSL.Lock_Task.all; ++ ++ if not Exename_Resolved then ++ Exename := locate_exec_on_path (gnat_argv (0)); ++ Exename_Resolved := True; ++ end if; ++ ++ if Exename /= System.Null_Address then ++ Len := Res'Length; ++ convert_addresses ++ (Exename, Traceback'Address, Traceback'Length, ++ Res (1)'Address, Len'Address); ++ end if; ++ ++ TSL.Unlock_Task.all; + +- begin +- for J in Traceback'Range loop +- Img := System.Address_Image (Traceback (J)); +- Result (Last + 1 .. Last + 2) := "0x"; +- Last := Last + 2; +- Result (Last + 1 .. Last + Img'Length) := Img; +- Last := Last + Img'Length + 1; +- Result (Last) := ASCII.LF; +- end loop; ++ -- Return what the addr2line symbolizer has produced if we have called ++ -- it (the executable name resolution succeeded), or an empty string ++ -- otherwise. + +- return Result (1 .. Last); +- end; ++ if Exename /= System.Null_Address then ++ return Res (1 .. Len); ++ else ++ return ""; + end if; ++ + end Symbolic_Traceback; + + function Symbolic_Traceback (E : Exception_Occurrence) return String is +Index: b/src/gcc/ada/tracebak.c +=================================================================== +--- a/src/gcc/ada/tracebak.c ++++ b/src/gcc/ada/tracebak.c +@@ -425,7 +425,7 @@ + /* Starting with GCC 4.6, -fomit-frame-pointer is turned on by default for + 32-bit x86/Linux as well and DWARF 2 unwind tables are emitted instead. + See the x86-64 case below for the drawbacks with this approach. */ +-#if defined (linux) && (__GNUC__ * 10 + __GNUC_MINOR__ > 45) ++#if (defined (linux) || defined(__GNU__)) && (__GNUC__ * 10 + __GNUC_MINOR__ > 45) + #define USE_GCC_UNWINDER + #else + #define USE_GENERIC_UNWINDER --- gcc-7-7.1.0.orig/debian/patches/ada-tools-move-ldflags.diff +++ gcc-7-7.1.0/debian/patches/ada-tools-move-ldflags.diff @@ -0,0 +1,40 @@ +Description: For Ada tools, move LDFLAGS from GCC_LINK to TOOLS_LIBS. + Gnatlink moves GCC_LINK linker options after other options, + probably so that standard libraries come after user libraries + in case --as-needed is activated. + However, if --as-needed is activated via LDFLAGS, it is appended via + GCC_LINK and comes too late on the eventual command line. + All GCC_LINKS expansions but one are followed by an expansion of + TOOLS_LIBS, so TOOLS_LIBS seems to be the right place for LDFLAGS. +Author: Nicolas Boulenguez +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81104 + +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -247,7 +247,7 @@ + LIBDEPS = $(LIBINTL_DEP) $(LIBICONV_DEP) $(LIBBACKTRACE) $(LIBIBERTY) + # Default is no TGT_LIB; one might be passed down or something + TGT_LIB = +-TOOLS_LIBS = ../link.o ../targext.o ../../ggc-none.o ../../libcommon-target.a \ ++TOOLS_LIBS = $(LDFLAGS) ../link.o ../targext.o ../../ggc-none.o ../../libcommon-target.a \ + ../../libcommon.a ../../../libcpp/libcpp.a $(LIBGNAT) $(LIBINTL) $(LIBICONV) \ + ../$(LIBBACKTRACE) ../$(LIBIBERTY) $(SYSLIBS) $(TGT_LIB) + +@@ -2532,7 +2532,7 @@ + "GNATLINK=$(GNATLINK)" \ + "GNATBIND=$(GNATBIND)" + +-GCC_LINK=$(CXX) $(GCC_LINK_FLAGS) $(ADA_INCLUDES) $(LDFLAGS) ++GCC_LINK=$(CXX) $(GCC_LINK_FLAGS) $(ADA_INCLUDES) + + # Build directory for the tools. Let's copy the target-dependent + # sources using the same mechanism as for gnatlib. The other sources are +@@ -2630,7 +2630,7 @@ + ../../vxaddr2line$(exeext): ../stamp-tools + $(GNATMAKE) -c $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line +- $(GNATLINK) -v vxaddr2line -o $@ --GCC="$(GCC_LINK)" ../targext.o $(CLIB) ++ $(GNATLINK) -v vxaddr2line -o $@ --GCC="$(GCC_LINK)" ../targext.o $(CLIB) $(LDFLAGS) + + gnatmake-re: ../stamp-tools + $(GNATMAKE) -j0 $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)" --- gcc-7-7.1.0.orig/debian/patches/alpha-ieee-doc.diff +++ gcc-7-7.1.0/debian/patches/alpha-ieee-doc.diff @@ -0,0 +1,24 @@ +# DP: #212912 +# DP: on alpha-linux, make -mieee default and add -mieee-disable switch +# DP: to turn default off (doc patch) + +--- + gcc/doc/invoke.texi | 7 +++++++ + 1 files changed, 7 insertions(+), 0 deletions(-) + +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -9980,6 +9980,13 @@ able to correctly support denormalized numbers and exceptional IEEE + values such as not-a-number and plus/minus infinity. Other Alpha + compilers call this option @option{-ieee_with_no_inexact}. + ++DEBIAN SPECIFIC: This option is on by default for alpha-linux-gnu, unless ++@option{-ffinite-math-only} (which is part of the @option{-ffast-math} ++set) is specified, because the software functions in the GNU libc math ++libraries generate denormalized numbers, NaNs, and infs (all of which ++will cause a programs to SIGFPE when it attempts to use the results without ++@option{-mieee}). ++ + @item -mieee-with-inexact + @opindex mieee-with-inexact + This is like @option{-mieee} except the generated code also maintains --- gcc-7-7.1.0.orig/debian/patches/alpha-ieee.diff +++ gcc-7-7.1.0/debian/patches/alpha-ieee.diff @@ -0,0 +1,21 @@ +# DP: #212912 +# DP: on alpha-linux, make -mieee default and add -mieee-disable switch +# DP: to turn default off + +--- + gcc/config/alpha/alpha.c | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +--- a/src/gcc/config/alpha/alpha.c ++++ b/src/gcc/config/alpha/alpha.c +@@ -259,6 +259,10 @@ + int line_size = 0, l1_size = 0, l2_size = 0; + int i; + ++ /* If not -ffinite-math-only, enable -mieee*/ ++ if (!flag_finite_math_only) ++ target_flags |= MASK_IEEE|MASK_IEEE_CONFORMANT; ++ + #ifdef SUBTARGET_OVERRIDE_OPTIONS + SUBTARGET_OVERRIDE_OPTIONS; + #endif --- gcc-7-7.1.0.orig/debian/patches/alpha-no-ev4-directive.diff +++ gcc-7-7.1.0/debian/patches/alpha-no-ev4-directive.diff @@ -0,0 +1,32 @@ +# DP: never emit .ev4 directive. + +--- + gcc/config/alpha/alpha.c | 7 +++---- + 1 files changed, 3 insertions(+), 4 deletions(-) + +Index: b/src/gcc/config/alpha/alpha.c +=================================================================== +--- a/src/gcc/config/alpha/alpha.c ++++ b/src/gcc/config/alpha/alpha.c +@@ -9471,7 +9471,7 @@ alpha_file_start (void) + fputs ("\t.set nomacro\n", asm_out_file); + if (TARGET_SUPPORT_ARCH | TARGET_BWX | TARGET_MAX | TARGET_FIX | TARGET_CIX) + { +- const char *arch; ++ const char *arch = NULL; + + if (alpha_cpu == PROCESSOR_EV6 || TARGET_FIX || TARGET_CIX) + arch = "ev6"; +@@ -9481,10 +9481,9 @@ alpha_file_start (void) + arch = "ev56"; + else if (alpha_cpu == PROCESSOR_EV5) + arch = "ev5"; +- else +- arch = "ev4"; + +- fprintf (asm_out_file, "\t.arch %s\n", arch); ++ if (arch) ++ fprintf (asm_out_file, "\t.arch %s\n", arch); + } + } + --- gcc-7-7.1.0.orig/debian/patches/arm-multilib-defaults.diff +++ gcc-7-7.1.0/debian/patches/arm-multilib-defaults.diff @@ -0,0 +1,92 @@ +# DP: Set MULTILIB_DEFAULTS for ARM multilib builds + +Index: b/src/gcc/config.gcc +=================================================================== +--- a/src/gcc/config.gcc ++++ b/src/gcc/config.gcc +@@ -3723,10 +3723,18 @@ case "${target}" in + done + + case "$with_float" in +- "" \ +- | soft | hard | softfp) ++ "") + # OK + ;; ++ soft) ++ tm_defines="${tm_defines} TARGET_CONFIGURED_FLOAT_ABI=0" ++ ;; ++ softfp) ++ tm_defines="${tm_defines} TARGET_CONFIGURED_FLOAT_ABI=1" ++ ;; ++ hard) ++ tm_defines="${tm_defines} TARGET_CONFIGURED_FLOAT_ABI=2" ++ ;; + *) + echo "Unknown floating point type used in --with-float=$with_float" 1>&2 + exit 1 +@@ -3760,6 +3768,9 @@ case "${target}" in + "" \ + | arm | thumb ) + #OK ++ if test "$with_mode" = thumb; then ++ tm_defines="${tm_defines} TARGET_CONFIGURED_THUMB_MODE=1" ++ fi + ;; + *) + echo "Unknown mode used in --with-mode=$with_mode" +Index: b/src/gcc/config/arm/linux-eabi.h +=================================================================== +--- a/src/gcc/config/arm/linux-eabi.h ++++ b/src/gcc/config/arm/linux-eabi.h +@@ -43,7 +43,21 @@ + target hardware. If you override this to use the hard-float ABI then + change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */ + #undef TARGET_DEFAULT_FLOAT_ABI ++#ifdef TARGET_CONFIGURED_FLOAT_ABI ++#if TARGET_CONFIGURED_FLOAT_ABI == 2 ++#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD ++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=hard" ++#elif TARGET_CONFIGURED_FLOAT_ABI == 1 ++#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFTFP ++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=softfp" ++#else ++#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT ++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=soft" ++#endif ++#else + #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT ++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=soft" ++#endif + + /* We default to the "aapcs-linux" ABI so that enums are int-sized by + default. */ +@@ -97,6 +111,28 @@ + #define MUSL_DYNAMIC_LINKER \ + "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" + ++/* Set the multilib defaults according the configuration, needed to ++ let gcc -print-multi-dir do the right thing. */ ++ ++#if TARGET_BIG_ENDIAN_DEFAULT ++#define MULTILIB_DEFAULT_ENDIAN "mbig-endian" ++#else ++#define MULTILIB_DEFAULT_ENDIAN "mlittle-endian" ++#endif ++ ++#ifndef TARGET_CONFIGURED_THUMB_MODE ++#define MULTILIB_DEFAULT_MODE "marm" ++#elif TARGET_CONFIGURED_THUMB_MODE == 1 ++#define MULTILIB_DEFAULT_MODE "mthumb" ++#else ++#define MULTILIB_DEFAULT_MODE "marm" ++#endif ++ ++#undef MULTILIB_DEFAULTS ++#define MULTILIB_DEFAULTS \ ++ { MULTILIB_DEFAULT_MODE, MULTILIB_DEFAULT_ENDIAN, \ ++ MULTILIB_DEFAULT_FLOAT_ABI, "mno-thumb-interwork" } ++ + /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to + use the GNU/Linux version, not the generic BPABI version. */ + #undef LINK_SPEC --- gcc-7-7.1.0.orig/debian/patches/arm-multilib-soft-cross.diff +++ gcc-7-7.1.0/debian/patches/arm-multilib-soft-cross.diff @@ -0,0 +1,27 @@ +# DP: ARM hard/soft float multilib support + +Index: b/src/gcc/config/arm/t-linux-eabi +=================================================================== +--- a/src/gcc/config/arm/t-linux-eabi ++++ b/src/gcc/config/arm/t-linux-eabi +@@ -21,6 +21,20 @@ + MULTILIB_OPTIONS = + MULTILIB_DIRNAMES = + ++ifeq ($(with_float),hard) ++MULTILIB_OPTIONS = mfloat-abi=soft/mfloat-abi=hard ++MULTILIB_DIRNAMES = sf hf ++MULTILIB_EXCEPTIONS = ++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float mfloat-abi?soft=mfloat-abi?softfp ++MULTILIB_OSDIRNAMES = ../libsf:arm-linux-gnueabi ../lib:arm-linux-gnueabihf ++else ++MULTILIB_OPTIONS = mfloat-abi=soft/mfloat-abi=hard ++MULTILIB_DIRNAMES = sf hf ++MULTILIB_EXCEPTIONS = ++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float mfloat-abi?soft=mfloat-abi?softfp ++MULTILIB_OSDIRNAMES = ../lib:arm-linux-gnueabi ../libhf:arm-linux-gnueabihf ++endif ++ + #MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te + #MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te + #MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te* --- gcc-7-7.1.0.orig/debian/patches/arm-multilib-soft-float.diff +++ gcc-7-7.1.0/debian/patches/arm-multilib-soft-float.diff @@ -0,0 +1,26 @@ +--- a/src/gcc/config/arm/t-linux-eabi ++++ b/src/gcc/config/arm/t-linux-eabi +@@ -24,6 +24,23 @@ + MULTILIB_OPTIONS = + MULTILIB_DIRNAMES = + ++ifneq (,$(findstring MULTIARCH_DEFAULTS,$(tm_defines))) ++ifneq (,$(findstring __arm_linux_gnueabi__,$(tm_defines))) ++ MULTILIB_OPTIONS = mfloat-abi=softfp/mfloat-abi=hard/mfloat-abi=soft ++ MULTILIB_DIRNAMES = . hf soft-float ++ MULTILIB_EXCEPTIONS = ++ MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float ++ MULTILIB_OSDIRNAMES = ../../lib/arm-linux-gnueabi ../../lib/arm-linux-gnueabihf soft-float ++endif ++ifneq (,$(findstring __arm_linux_gnueabihf__,$(tm_defines))) ++ MULTILIB_OPTIONS = mfloat-abi=hard/mfloat-abi=softfp/mfloat-abi=soft ++ MULTILIB_DIRNAMES = . sf soft-float ++ MULTILIB_EXCEPTIONS = ++ MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float ++ MULTILIB_OSDIRNAMES = ../../lib/arm-linux-gnueabihf ../../lib/arm-linux-gnueabi soft-float ++endif ++endif ++ + #MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te + #MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te + #MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te* --- gcc-7-7.1.0.orig/debian/patches/arm-multilib-soft.diff +++ gcc-7-7.1.0/debian/patches/arm-multilib-soft.diff @@ -0,0 +1,27 @@ +# DP: ARM hard/soft float multilib support + +Index: b/src/gcc/config/arm/t-linux-eabi +=================================================================== +--- a/src/gcc/config/arm/t-linux-eabi ++++ b/src/gcc/config/arm/t-linux-eabi +@@ -23,6 +23,20 @@ + MULTILIB_OPTIONS = + MULTILIB_DIRNAMES = + ++ifeq ($(with_float),hard) ++MULTILIB_OPTIONS = mfloat-abi=soft/mfloat-abi=hard ++MULTILIB_DIRNAMES = sf hf ++MULTILIB_EXCEPTIONS = ++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float mfloat-abi?soft=mfloat-abi?softfp ++MULTILIB_OSDIRNAMES = arm-linux-gnueabi:arm-linux-gnueabi ../lib:arm-linux-gnueabihf ++else ++MULTILIB_OPTIONS = mfloat-abi=soft/mfloat-abi=hard ++MULTILIB_DIRNAMES = sf hf ++MULTILIB_EXCEPTIONS = ++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float mfloat-abi?soft=mfloat-abi?softfp ++MULTILIB_OSDIRNAMES = ../lib:arm-linux-gnueabi arm-linux-gnueabihf:arm-linux-gnueabihf ++endif ++ + #MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te + #MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te + #MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te* --- gcc-7-7.1.0.orig/debian/patches/arm-multilib-softfp-cross.diff +++ gcc-7-7.1.0/debian/patches/arm-multilib-softfp-cross.diff @@ -0,0 +1,27 @@ +# DP: ARM hard/softfp float multilib support + +Index: b/src/gcc/config/arm/t-linux-eabi +=================================================================== +--- a/src/gcc/config/arm/t-linux-eabi 2011-01-03 20:52:22.000000000 +0000 ++++ b/src/gcc/config/arm/t-linux-eabi 2011-08-21 21:08:47.583351817 +0000 +@@ -24,6 +24,20 @@ + MULTILIB_OPTIONS = + MULTILIB_DIRNAMES = + ++ifeq ($(with_float),hard) ++MULTILIB_OPTIONS = mfloat-abi=softfp/mfloat-abi=hard ++MULTILIB_DIRNAMES = sf hf ++MULTILIB_EXCEPTIONS = ++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?softfp=msoft-float mfloat-abi?softfp=mfloat-abi?soft ++MULTILIB_OSDIRNAMES = ../libsf:arm-linux-gnueabi ../lib:arm-linux-gnueabihf ++else ++MULTILIB_OPTIONS = mfloat-abi=softfp/mfloat-abi=hard ++MULTILIB_DIRNAMES = sf hf ++MULTILIB_EXCEPTIONS = ++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?softfp=msoft-float mfloat-abi?softfp=mfloat-abi?soft ++MULTILIB_OSDIRNAMES = ../lib:arm-linux-gnueabi ../libhf:arm-linux-gnueabihf ++endif ++ + #MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te + #MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te + #MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te* --- gcc-7-7.1.0.orig/debian/patches/arm-multilib-softfp.diff +++ gcc-7-7.1.0/debian/patches/arm-multilib-softfp.diff @@ -0,0 +1,27 @@ +# DP: ARM hard/softfp float multilib support + +Index: b/src/gcc/config/arm/t-linux-eabi +=================================================================== +--- a/src/gcc/config/arm/t-linux-eabi 2011-01-03 20:52:22.000000000 +0000 ++++ b/src/gcc/config/arm/t-linux-eabi 2011-08-21 21:08:47.583351817 +0000 +@@ -24,6 +24,20 @@ + MULTILIB_OPTIONS = + MULTILIB_DIRNAMES = + ++ifeq ($(with_float),hard) ++MULTILIB_OPTIONS = mfloat-abi=softfp/mfloat-abi=hard ++MULTILIB_DIRNAMES = sf hf ++MULTILIB_EXCEPTIONS = ++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?softfp=msoft-float mfloat-abi?softfp=mfloat-abi?soft ++MULTILIB_OSDIRNAMES = arm-linux-gnueabi:arm-linux-gnueabi ../lib:arm-linux-gnueabihf ++else ++MULTILIB_OPTIONS = mfloat-abi=softfp/mfloat-abi=hard ++MULTILIB_DIRNAMES = sf hf ++MULTILIB_EXCEPTIONS = ++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?softfp=msoft-float mfloat-abi?softfp=mfloat-abi?soft ++MULTILIB_OSDIRNAMES = ../lib:arm-linux-gnueabi arm-linux-gnueabihf:arm-linux-gnueabihf ++endif ++ + #MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te + #MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te + #MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te* --- gcc-7-7.1.0.orig/debian/patches/bind_now_when_pie.diff +++ gcc-7-7.1.0/debian/patches/bind_now_when_pie.diff @@ -0,0 +1,23 @@ +Author: Steve Beattie +Description: enable bind now by default when linking with pie by default + +--- + src/gcc/gcc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -936,7 +936,11 @@ proper position among the other output f + #ifndef LINK_PIE_SPEC + #ifdef HAVE_LD_PIE + #ifndef LD_PIE_SPEC ++#ifdef ACCEL_COMPILER + #define LD_PIE_SPEC "-pie" ++#else ++#define LD_PIE_SPEC "-pie -z now" ++#endif + #endif + #else + #define LD_PIE_SPEC "" --- gcc-7-7.1.0.orig/debian/patches/bootstrap-no-unneeded-libs.diff +++ gcc-7-7.1.0/debian/patches/bootstrap-no-unneeded-libs.diff @@ -0,0 +1,30 @@ +# DP: For bootstrap builds, don't build unneeded libstdc++ things +# DP: (debug library, PCH headers). + +# Please read ada-changes-in-autogen-output.diff about src/Makefile.[def|tpl]. + +--- a/src/Makefile.tpl ++++ b/src/Makefile.tpl +@@ -1060,7 +1060,9 @@ + --target=[+target_alias+] $${srcdiroption} [+ IF prev +]\ + --with-build-libsubdir=$(HOST_SUBDIR) [+ ENDIF prev +]\ + $(STAGE[+id+]_CONFIGURE_FLAGS)[+ IF extra_configure_flags +] \ +- [+extra_configure_flags+][+ ENDIF extra_configure_flags +] ++ [+extra_configure_flags+][+ ENDIF extra_configure_flags +] \ ++ [+ IF bootstrap_configure_flags +][+bootstrap_configure_flags+] \ ++ [+ ENDIF bootstrap_configure_flags +] + @endif [+prefix+][+module+]-bootstrap + [+ ENDFOR bootstrap_stage +] + [+ ENDIF bootstrap +] +--- a/src/Makefile.def ++++ b/src/Makefile.def +@@ -117,7 +117,8 @@ + target_modules = { module= libstdc++-v3; + bootstrap=true; + lib_path=src/.libs; +- raw_cxx=true; }; ++ raw_cxx=true; ++ bootstrap_configure_flags='--disable-libstdcxx-debug --disable-libstdcxx-pch'; }; + target_modules = { module= libmudflap; lib_path=.libs; }; + target_modules = { module= libsanitizer; lib_path=.libs; }; + target_modules = { module= libssp; lib_path=.libs; }; --- gcc-7-7.1.0.orig/debian/patches/canonical-cpppath.diff +++ gcc-7-7.1.0/debian/patches/canonical-cpppath.diff @@ -0,0 +1,36 @@ +# DP: Don't use any relative path names for the standard include paths. + +Index: b/src/gcc/incpath.c +=================================================================== +--- a/src/gcc/incpath.c ++++ b/src/gcc/incpath.c +@@ -171,6 +171,14 @@ add_standard_paths (const char *sysroot, + str = reconcat (str, str, dir_separator_str, + imultiarch, NULL); + } ++ { ++ char *rp = lrealpath (str); ++ if (rp) ++ { ++ free (str); ++ str = rp; ++ } ++ } + add_path (str, SYSTEM, p->cxx_aware, false); + } + } +@@ -245,6 +253,14 @@ add_standard_paths (const char *sysroot, + else + str = reconcat (str, str, dir_separator_str, imultiarch, NULL); + } ++ { ++ char *rp = lrealpath (str); ++ if (rp) ++ { ++ free (str); ++ str = rp; ++ } ++ } + + add_path (str, SYSTEM, p->cxx_aware, false); + } --- gcc-7-7.1.0.orig/debian/patches/config-ml.diff +++ gcc-7-7.1.0/debian/patches/config-ml.diff @@ -0,0 +1,54 @@ +# DP: - Disable some biarch libraries for biarch builds. +# DP: - Fix multilib builds on kernels which don't support all multilibs. + +Index: b/src/config-ml.in +=================================================================== +--- a/src/config-ml.in ++++ b/src/config-ml.in +@@ -475,6 +475,25 @@ powerpc*-*-* | rs6000*-*-*) + ;; + esac + ++if [ -z "$biarch_multidir_names" ]; then ++ biarch_multidir_names="libiberty libstdc++-v3 libgfortran libmudflap libssp libffi libobjc libgomp" ++ echo "WARNING: biarch_multidir_names is unset. Use default value:" ++ echo " $biarch_multidir_names" ++fi ++ml_srcbase=`basename $ml_realsrcdir` ++old_multidirs="${multidirs}" ++multidirs="" ++for x in ${old_multidirs}; do ++ case " $x " in ++ " 32 "|" n32 "|" x32 "|" 64 "|" hf "|" sf "|" m4-nofpu ") ++ case "$biarch_multidir_names" in ++ *"$ml_srcbase"*) multidirs="${multidirs} ${x}" ;; ++ esac ++ ;; ++ *) multidirs="${multidirs} ${x}" ;; ++ esac ++done ++ + # Remove extraneous blanks from multidirs. + # Tests like `if [ -n "$multidirs" ]' require it. + multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'` +@@ -878,9 +897,19 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + fi + fi + ++ ml_configure_args= ++ for arg in ${ac_configure_args} ++ do ++ case $arg in ++ *CC=*) ml_configure_args=${ml_config_env} ;; ++ *CXX=*) ml_configure_args=${ml_config_env} ;; ++ *) ;; ++ esac ++ done ++ + if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \ + --with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \ +- "${ac_configure_args}" ${ml_config_env} ${ml_srcdiroption} ; then ++ "${ac_configure_args}" ${ml_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then + true + else + exit 1 --- gcc-7-7.1.0.orig/debian/patches/cross-biarch.diff +++ gcc-7-7.1.0/debian/patches/cross-biarch.diff @@ -0,0 +1,82 @@ +# DP: Fix the location of target's libs in cross-build for biarch + +Index: b/src/config-ml.in +=================================================================== +--- a/src/config-ml.in ++++ b/src/config-ml.in +@@ -533,7 +533,13 @@ multi-do: + else \ + if [ -d ../$${dir}/$${lib} ]; then \ + flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ +- if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \ ++ libsuffix_="$${dir}"; \ ++ if [ "$${dir}" = "n32" ]; then libsuffix_=32; fi; \ ++ if [ -n "$$($${compiler} -v 2>&1 |grep '^Target: mips')" ] && [ "$${dir}" = "32" ]; then libsuffix_=o32; fi; \ ++ if (cd ../$${dir}/$${lib}; $(MAKE) $(subst \ ++ -B$(build_tooldir)/lib/, \ ++ -B$(build_tooldir)/lib$${libsuffix_}/, \ ++ $(FLAGS_TO_PASS)) \ + CFLAGS="$(CFLAGS) $${flags}" \ + CCASFLAGS="$(CCASFLAGS) $${flags}" \ + FCFLAGS="$(FCFLAGS) $${flags}" \ +@@ -786,6 +792,15 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + GFORTRAN_=$GFORTRAN' ' + GOC_=$GOC' ' + else ++ if [ "${ml_dir}" = "." ]; then ++ FILTER_="s!X\\(.*\\)!\\1!p" ++ elif [ "${ml_dir}" = "n32" ]; then # mips n32 -> lib32 ++ FILTER_="s!X\\(.*\\)/!\\132/!p" ++ elif [ "${ml_dir}" = "32" ] && [ "$(echo ${host} |grep '^mips')" ]; then # mips o32 -> libo32 ++ FILTER_="s!X\\(.*\\)/!\\1o32/!p" ++ else ++ FILTER_="s!X\\(.*\\)/!\\1${ml_dir}/!p" ++ fi + # Create a regular expression that matches any string as long + # as ML_POPDIR. + popdir_rx=`echo "${ML_POPDIR}" | sed 's,.,.,g'` +@@ -794,6 +809,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + case $arg in + -[BIL]"${ML_POPDIR}"/*) + CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\1/p"`' ' ;; ++ -B*/lib/) ++ CC_="${CC_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) +@@ -806,6 +823,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + case $arg in + -[BIL]"${ML_POPDIR}"/*) + CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ -B*/lib/) ++ CXX_="${CXX_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) +@@ -818,6 +837,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + case $arg in + -[BIL]"${ML_POPDIR}"/*) + F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ -B*/lib/) ++ F77_="${F77_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) +@@ -842,6 +865,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + case $arg in + -[BIL]"${ML_POPDIR}"/*) + GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ -B*/lib/) ++ GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) +@@ -854,6 +879,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + case $arg in + -[BIL]"${ML_POPDIR}"/*) + GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ -B*/lib/) ++ GOC_="${GOC_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) --- gcc-7-7.1.0.orig/debian/patches/cross-fixes.diff +++ gcc-7-7.1.0/debian/patches/cross-fixes.diff @@ -0,0 +1,81 @@ +# DP: Fix the linker error when creating an xcc for ia64 + +--- + gcc/config/ia64/fde-glibc.c | 3 +++ + gcc/config/ia64/unwind-ia64.c | 3 ++- + gcc/unwind-compat.c | 2 ++ + gcc/unwind-generic.h | 2 ++ + 6 files changed, 14 insertions(+), 1 deletions(-) + +Index: b/src/libgcc/config/ia64/fde-glibc.c +=================================================================== +--- a/src/libgcc/config/ia64/fde-glibc.c ++++ b/src/libgcc/config/ia64/fde-glibc.c +@@ -28,6 +28,7 @@ + #ifndef _GNU_SOURCE + #define _GNU_SOURCE 1 + #endif ++#ifndef inhibit_libc + #include "config.h" + #include + #include +@@ -159,3 +160,5 @@ _Unwind_FindTableEntry (void *pc, unw_wo + + return data.ret; + } ++ ++#endif +Index: b/src/libgcc/config/ia64/unwind-ia64.c +=================================================================== +--- a/src/libgcc/config/ia64/unwind-ia64.c ++++ b/src/libgcc/config/ia64/unwind-ia64.c +@@ -26,6 +26,7 @@ + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . */ + ++#ifndef inhibit_libc + #include "tconfig.h" + #include "tsystem.h" + #include "coretypes.h" +@@ -2466,3 +2467,4 @@ alias (_Unwind_SetIP); + #endif + + #endif ++#endif +Index: b/src/libgcc/unwind-compat.c +=================================================================== +--- a/src/libgcc/unwind-compat.c ++++ b/src/libgcc/unwind-compat.c +@@ -23,6 +23,7 @@ + . */ + + #if defined (USE_GAS_SYMVER) && defined (USE_LIBUNWIND_EXCEPTIONS) ++#ifndef inhibit_libc + #include "tconfig.h" + #include "tsystem.h" + #include "unwind.h" +@@ -207,3 +208,4 @@ _Unwind_SetIP (struct _Unwind_Context *c + } + symver (_Unwind_SetIP, GCC_3.0); + #endif ++#endif +Index: b/src/libgcc/unwind-generic.h +=================================================================== +--- a/src/libgcc/unwind-generic.h ++++ b/src/libgcc/unwind-generic.h +@@ -221,6 +221,7 @@ _Unwind_SjLj_Resume_or_Rethrow (struct _ + compatible with the standard ABI for IA-64, we inline these. */ + + #ifdef __ia64__ ++#ifndef inhibit_libc + static inline _Unwind_Ptr + _Unwind_GetDataRelBase (struct _Unwind_Context *_C) + { +@@ -237,6 +238,7 @@ _Unwind_GetTextRelBase (struct _Unwind_C + + /* @@@ Retrieve the Backing Store Pointer of the given context. */ + extern _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *); ++#endif /* inhibit_libc */ + #else + extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *); + extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *); --- gcc-7-7.1.0.orig/debian/patches/cross-install-location.diff +++ gcc-7-7.1.0/debian/patches/cross-install-location.diff @@ -0,0 +1,378 @@ +Index: b/src/fixincludes/Makefile.in +=================================================================== +--- a/src/fixincludes/Makefile.in ++++ b/src/fixincludes/Makefile.in +@@ -52,9 +52,9 @@ target_noncanonical:=@target_noncanonica + gcc_version := $(shell cat $(srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version) + # Directory in which the compiler finds executables +-libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) ++libexecsubdir = $(libexecdir)/gcc-cross/$(target_noncanonical)/$(gcc_version) + # Where our executable files go + itoolsdir = $(libexecsubdir)/install-tools + # Where our data files go +Index: b/src/libgfortran/Makefile.in +=================================================================== +--- a/src/libgfortran/Makefile.in ++++ b/src/libgfortran/Makefile.in +@@ -604,12 +604,12 @@ libgfortran_la_LDFLAGS = -version-info ` + + libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP) + cafexeclib_LTLIBRARIES = libcaf_single.la +-cafexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR) ++cafexeclibdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR) + libcaf_single_la_SOURCES = caf/single.c + libcaf_single_la_LDFLAGS = -static + libcaf_single_la_DEPENDENCIES = caf/libcaf.h + libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS) +-@IEEE_SUPPORT_TRUE@fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude ++@IEEE_SUPPORT_TRUE@fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude + @IEEE_SUPPORT_TRUE@nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod + AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \ + -I$(srcdir)/$(MULTISRCTOP)../gcc/config $(LIBQUADINCLUDE) \ +Index: b/src/libgfortran/Makefile.am +=================================================================== +--- a/src/libgfortran/Makefile.am ++++ b/src/libgfortran/Makefile.am +@@ -43,14 +43,14 @@ libgfortran_la_LDFLAGS = -version-info ` + libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP) + + cafexeclib_LTLIBRARIES = libcaf_single.la +-cafexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR) ++cafexeclibdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR) + libcaf_single_la_SOURCES = caf/single.c + libcaf_single_la_LDFLAGS = -static + libcaf_single_la_DEPENDENCIES = caf/libcaf.h + libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS) + + if IEEE_SUPPORT +-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude ++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude + nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod + endif + +Index: b/src/lto-plugin/Makefile.in +=================================================================== +--- a/src/lto-plugin/Makefile.in ++++ b/src/lto-plugin/Makefile.in +@@ -255,7 +255,7 @@ with_libiberty = @with_libiberty@ + ACLOCAL_AMFLAGS = -I .. -I ../config + AUTOMAKE_OPTIONS = no-dependencies + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) +-libexecsubdir := $(libexecdir)/gcc/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix) ++libexecsubdir := $(libexecdir)/gcc-cross/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix) + AM_CPPFLAGS = -I$(top_srcdir)/../include $(DEFS) + AM_CFLAGS = @ac_lto_plugin_warn_cflags@ + AM_LDFLAGS = @ac_lto_plugin_ldflags@ +Index: b/src/lto-plugin/Makefile.am +=================================================================== +--- a/src/lto-plugin/Makefile.am ++++ b/src/lto-plugin/Makefile.am +@@ -5,7 +5,7 @@ AUTOMAKE_OPTIONS = no-dependencies + + gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) + target_noncanonical := @target_noncanonical@ +-libexecsubdir := $(libexecdir)/gcc/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix) ++libexecsubdir := $(libexecdir)/gcc-cross/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix) + + AM_CPPFLAGS = -I$(top_srcdir)/../include $(DEFS) + AM_CFLAGS = @ac_lto_plugin_warn_cflags@ +Index: b/src/libitm/Makefile.in +=================================================================== +--- a/src/libitm/Makefile.in ++++ b/src/libitm/Makefile.in +@@ -334,8 +334,8 @@ SUBDIRS = testsuite + gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) + abi_version = -fabi-version=4 + search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) +-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/finclude +-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/finclude ++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + AM_CPPFLAGS = $(addprefix -I, $(search_path)) + AM_CFLAGS = $(XCFLAGS) + AM_CXXFLAGS = $(XCFLAGS) -std=gnu++0x -funwind-tables -fno-exceptions \ +Index: b/src/libitm/Makefile.am +=================================================================== +--- a/src/libitm/Makefile.am ++++ b/src/libitm/Makefile.am +@@ -11,8 +11,8 @@ abi_version = -fabi-version=4 + config_path = @config_path@ + search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) + +-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/finclude +-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/finclude ++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + + vpath % $(strip $(search_path)) + +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -4179,7 +4179,7 @@ process_command (unsigned int decoded_op + GCC_EXEC_PREFIX is typically a directory name with a trailing + / (which is ignored by make_relative_prefix), so append a + program name. */ +- char *tmp_prefix = concat (gcc_exec_prefix, "gcc", NULL); ++ char *tmp_prefix = concat (gcc_exec_prefix, "gcc-cross", NULL); + gcc_libexec_prefix = get_relative_prefix (tmp_prefix, + standard_exec_prefix, + standard_libexec_prefix); +@@ -4205,15 +4205,15 @@ process_command (unsigned int decoded_op + { + int len = strlen (gcc_exec_prefix); + +- if (len > (int) sizeof ("/lib/gcc/") - 1 ++ if (len > (int) sizeof ("/lib/gcc-cross/") - 1 + && (IS_DIR_SEPARATOR (gcc_exec_prefix[len-1]))) + { +- temp = gcc_exec_prefix + len - sizeof ("/lib/gcc/") + 1; ++ temp = gcc_exec_prefix + len - sizeof ("/lib/gcc-cross/") + 1; + if (IS_DIR_SEPARATOR (*temp) + && filename_ncmp (temp + 1, "lib", 3) == 0 + && IS_DIR_SEPARATOR (temp[4]) +- && filename_ncmp (temp + 5, "gcc", 3) == 0) +- len -= sizeof ("/lib/gcc/") - 1; ++ && filename_ncmp (temp + 5, "gcc-cross", 3) == 0) ++ len -= sizeof ("/lib/gcc-cross/") - 1; + } + + set_std_prefix (gcc_exec_prefix, len); +Index: b/src/gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -592,9 +592,9 @@ libexecdir = @libexecdir@ + # -------- + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) ++libsubdir = $(libdir)/gcc-cross/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) + # Directory in which the compiler finds executables +-libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) ++libexecsubdir = $(libexecdir)/gcc-cross/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) + # Directory in which all plugin resources are installed + plugin_resourcesdir = $(libsubdir)/plugin + # Directory in which plugin headers are installed +@@ -2017,8 +2017,8 @@ prefix.o: $(FULLVER) + + DRIVER_DEFINES = \ + -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \ +- -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ +- -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \ ++ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-cross/\" \ ++ -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc-cross/\" \ + -DDEFAULT_TARGET_VERSION=\"$(version)\" \ + -DDEFAULT_REAL_TARGET_MACHINE=\"$(real_target_noncanonical)\" \ + -DDEFAULT_TARGET_MACHINE=\"$(target_noncanonical)\" \ +@@ -2671,7 +2671,7 @@ PREPROCESSOR_DEFINES = \ + -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ + -DNATIVE_SYSTEM_HEADER_DIR=\"$(NATIVE_SYSTEM_HEADER_DIR)\" \ + -DPREFIX=\"$(prefix)/\" \ +- -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ ++ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-cross/\" \ + @TARGET_SYSTEM_ROOT_DEFINE@ + + CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(FULLVER_s) +Index: b/src/libssp/Makefile.in +=================================================================== +--- a/src/libssp/Makefile.in ++++ b/src/libssp/Makefile.in +@@ -287,7 +287,7 @@ gcc_version := $(shell cat $(top_srcdir) + @LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@version_dep = ssp.map-sun + AM_CFLAGS = -Wall + toolexeclib_LTLIBRARIES = libssp.la libssp_nonshared.la +-libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include ++libsubincludedir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/include + nobase_libsubinclude_HEADERS = ssp/ssp.h ssp/string.h ssp/stdio.h ssp/unistd.h + libssp_la_SOURCES = \ + ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \ +Index: b/src/libssp/Makefile.am +=================================================================== +--- a/src/libssp/Makefile.am ++++ b/src/libssp/Makefile.am +@@ -39,7 +39,7 @@ AM_CFLAGS = -Wall + toolexeclib_LTLIBRARIES = libssp.la libssp_nonshared.la + + target_noncanonical = @target_noncanonical@ +-libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include ++libsubincludedir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/include + nobase_libsubinclude_HEADERS = ssp/ssp.h ssp/string.h ssp/stdio.h ssp/unistd.h + + libssp_la_SOURCES = \ +Index: b/src/libquadmath/Makefile.in +=================================================================== +--- a/src/libquadmath/Makefile.in ++++ b/src/libquadmath/Makefile.in +@@ -354,7 +354,7 @@ AUTOMAKE_OPTIONS = 1.8 foreign + + @BUILD_LIBQUADMATH_TRUE@libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD) + @BUILD_LIBQUADMATH_TRUE@nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h +-@BUILD_LIBQUADMATH_TRUE@libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++@BUILD_LIBQUADMATH_TRUE@libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + @BUILD_LIBQUADMATH_TRUE@libquadmath_la_SOURCES = \ + @BUILD_LIBQUADMATH_TRUE@ math/x2y2m1q.c math/isinf_nsq.c math/acoshq.c math/fmodq.c \ + @BUILD_LIBQUADMATH_TRUE@ math/acosq.c math/frexpq.c \ +Index: b/src/libquadmath/Makefile.am +=================================================================== +--- a/src/libquadmath/Makefile.am ++++ b/src/libquadmath/Makefile.am +@@ -41,7 +41,7 @@ libquadmath_la_LDFLAGS = -version-info ` + libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD) + + nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h +-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + + libquadmath_la_SOURCES = \ + math/x2y2m1q.c math/isinf_nsq.c math/acoshq.c math/fmodq.c \ +Index: b/src/libobjc/Makefile.in +=================================================================== +--- a/src/libobjc/Makefile.in ++++ b/src/libobjc/Makefile.in +@@ -50,7 +50,7 @@ top_builddir = . + -include ../boehm-gc/threads.mk + + libdir = $(exec_prefix)/lib +-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version) + + # Multilib support variables. + MULTISRCTOP = +Index: b/src/libada/Makefile.in +=================================================================== +--- a/src/libada/Makefile.in ++++ b/src/libada/Makefile.in +@@ -68,7 +68,7 @@ GCC_DIR=$(MULTIBUILDTOP)../../$(host_sub + + target_noncanonical:=@target_noncanonical@ + version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER) +-libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR) ++libsubdir := $(libdir)/gcc-cross/$(target_noncanonical)/$(version)$(MULTISUBDIR) + ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR)) + ADA_RTS_SUBDIR=./rts$(subst /,_,$(MULTISUBDIR)) + +Index: b/src/libgomp/Makefile.in +=================================================================== +--- a/src/libgomp/Makefile.in ++++ b/src/libgomp/Makefile.in +@@ -386,8 +386,8 @@ gcc_version := $(shell cat $(top_srcdir) + search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) \ + $(top_srcdir)/../include + +-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude +-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude ++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + AM_CPPFLAGS = $(addprefix -I, $(search_path)) + AM_CFLAGS = $(XCFLAGS) + AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS) +Index: b/src/libgomp/Makefile.am +=================================================================== +--- a/src/libgomp/Makefile.am ++++ b/src/libgomp/Makefile.am +@@ -10,8 +10,8 @@ config_path = @config_path@ + search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) \ + $(top_srcdir)/../include + +-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude +-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude ++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + + vpath % $(strip $(search_path)) + +Index: b/src/libgcc/Makefile.in +=================================================================== +--- a/src/libgcc/Makefile.in ++++ b/src/libgcc/Makefile.in +@@ -186,7 +186,7 @@ STRIP = @STRIP@ + STRIP_FOR_TARGET = $(STRIP) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(real_host_noncanonical)/$(version)@accel_dir_suffix@ ++libsubdir = $(libdir)/gcc-cross/$(real_host_noncanonical)/$(version)@accel_dir_suffix@ + # Used to install the shared libgcc. + slibdir = @slibdir@ + # Maybe used for DLLs on Windows targets. +Index: b/src/libffi/include/Makefile.am +=================================================================== +--- a/src/libffi/include/Makefile.am ++++ b/src/libffi/include/Makefile.am +@@ -8,6 +8,6 @@ EXTRA_DIST=ffi.h.in + + # Where generated headers like ffitarget.h get installed. + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) +-toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++toollibffidir := $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + + toollibffi_HEADERS = ffi.h ffitarget.h +Index: b/src/libffi/include/Makefile.in +=================================================================== +--- a/src/libffi/include/Makefile.in ++++ b/src/libffi/include/Makefile.in +@@ -251,7 +251,7 @@ EXTRA_DIST = ffi.h.in + + # Where generated headers like ffitarget.h get installed. + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) +-toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++toollibffidir := $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + toollibffi_HEADERS = ffi.h ffitarget.h + all: all-am + +Index: b/src/libcc1/Makefile.am +=================================================================== +--- a/src/libcc1/Makefile.am ++++ b/src/libcc1/Makefile.am +@@ -35,7 +35,7 @@ libiberty = $(if $(wildcard $(libiberty_ + $(Wc)$(libiberty_normal))) + libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) + +-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin ++plugindir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/plugin + cc1libdir = $(libdir)/$(libsuffix) + + if ENABLE_PLUGIN +Index: b/src/libcc1/Makefile.in +=================================================================== +--- a/src/libcc1/Makefile.in ++++ b/src/libcc1/Makefile.in +@@ -290,7 +290,7 @@ libiberty = $(if $(wildcard $(libiberty_ + $(Wc)$(libiberty_normal))) + + libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) +-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin ++plugindir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/plugin + cc1libdir = $(libdir)/$(libsuffix) + @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la + @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la +Index: b/src/libsanitizer/Makefile.am +=================================================================== +--- a/src/libsanitizer/Makefile.am ++++ b/src/libsanitizer/Makefile.am +@@ -1,6 +1,6 @@ + ACLOCAL_AMFLAGS = -I .. -I ../config + +-sanincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/sanitizer ++sanincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include/sanitizer + + nodist_saninclude_HEADERS = + +Index: b/src/libsanitizer/Makefile.in +=================================================================== +--- a/src/libsanitizer/Makefile.in ++++ b/src/libsanitizer/Makefile.in +@@ -285,7 +285,7 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + ACLOCAL_AMFLAGS = -I .. -I ../config +-sanincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/sanitizer ++sanincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include/sanitizer + nodist_saninclude_HEADERS = $(am__append_1) + @SANITIZER_SUPPORTED_TRUE@SUBDIRS = sanitizer_common $(am__append_2) \ + @SANITIZER_SUPPORTED_TRUE@ $(am__append_3) lsan asan ubsan \ --- gcc-7-7.1.0.orig/debian/patches/cross-no-locale-include.diff +++ gcc-7-7.1.0/debian/patches/cross-no-locale-include.diff @@ -0,0 +1,17 @@ +# DP: Don't add /usr/local/include for cross compilers. Assume that +# DP: /usr/include is ready for multiarch, but not /usr/local/include. + +--- a/src/gcc/cppdefault.c ++++ b/src/gcc/cppdefault.c +@@ -66,8 +66,11 @@ + #ifdef LOCAL_INCLUDE_DIR + /* /usr/local/include comes before the fixincluded header files. */ + { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, ++#if 0 ++ /* Unsafe to assume that /usr/local/include is ready for multiarch. */ + { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, + #endif ++#endif + #ifdef PREFIX_INCLUDE_DIR + { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 }, + #endif --- gcc-7-7.1.0.orig/debian/patches/disable-gdc-tests.diff +++ gcc-7-7.1.0/debian/patches/disable-gdc-tests.diff @@ -0,0 +1,19 @@ +# DP: Disable D tests, hang on many buildds + +Index: b/src/gcc/d/Make-lang.in +=================================================================== +--- a/src/gcc/d/Make-lang.in ++++ b/src/gcc/d/Make-lang.in +@@ -148,9 +148,9 @@ d.srcman: doc/gdc.1 + # check targets. However, our DejaGNU framework requires 'check-gdc' as its + # entry point. We feed the former to the latter here. + check-d: check-gdc +-lang_checks += check-gdc +-lang_checks_parallelized += check-gdc +-check_gdc_parallelize = 10 ++#lang_checks += check-gdc ++#lang_checks_parallelized += check-gdc ++#check_gdc_parallelize = 10 + + # Install hooks. + --- gcc-7-7.1.0.orig/debian/patches/g++-multiarch-incdir.diff +++ gcc-7-7.1.0/debian/patches/g++-multiarch-incdir.diff @@ -0,0 +1,119 @@ +# DP: Use /usr/include//c++/4.x as the include directory +# DP: for host dependent c++ header files. + +Index: b/src/libstdc++-v3/include/Makefile.am +=================================================================== +--- a/src/libstdc++-v3/include/Makefile.am ++++ b/src/libstdc++-v3/include/Makefile.am +@@ -924,7 +924,7 @@ endif + + host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR) + host_builddir = ./${host_alias}/bits +-host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits ++host_installdir = $(if $(shell $(CC) -print-multiarch),/usr/include/$(shell $(filter-out -m%,$(CC)) -print-multiarch)/c++/$(notdir ${gxx_include_dir})$(MULTISUBDIR)/bits,${gxx_include_dir}/${default_host_alias}$(MULTISUBDIR)/bits) + host_headers = \ + ${host_srcdir}/ctype_base.h \ + ${host_srcdir}/ctype_inline.h \ +Index: b/src/libstdc++-v3/include/Makefile.in +=================================================================== +--- a/src/libstdc++-v3/include/Makefile.in ++++ b/src/libstdc++-v3/include/Makefile.in +@@ -1209,7 +1209,7 @@ profile_impl_headers = \ + @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = ${c_compatibility_headers} + host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR) + host_builddir = ./${host_alias}/bits +-host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits ++host_installdir = $(if $(shell $(CC) -print-multiarch),/usr/include/$(shell $(filter-out -m%,$(CC)) -print-multiarch)/c++/$(notdir ${gxx_include_dir})$(MULTISUBDIR)/bits,${gxx_include_dir}/${default_host_alias}$(MULTISUBDIR)/bits) + host_headers = \ + ${host_srcdir}/ctype_base.h \ + ${host_srcdir}/ctype_inline.h \ +Index: b/src/gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -1150,6 +1150,7 @@ FLAGS_TO_PASS = \ + "prefix=$(prefix)" \ + "local_prefix=$(local_prefix)" \ + "gxx_include_dir=$(gcc_gxx_include_dir)" \ ++ "gxx_tool_include_dir=$(gcc_gxx_tool_include_dir)" \ + "build_tooldir=$(build_tooldir)" \ + "gcc_tooldir=$(gcc_tooldir)" \ + "bindir=$(bindir)" \ +@@ -1681,6 +1682,14 @@ ifneq ($(xmake_file),) + include $(xmake_file) + endif + ++# Directory in which the compiler finds target-dependent g++ includes. ++ifneq ($(call if_multiarch,non-empty),) ++ gcc_gxx_tool_include_dir = $(libsubdir)/$(libsubdir_to_prefix)include/$(MULTIARCH_DIRNAME)/c++/$(BASEVER_c) ++else ++ gcc_gxx_tool_include_dir = $(gcc_gxx_include_dir)/$(target_noncanonical) ++endif ++ ++ + # all-tree.def includes all the tree.def files. + all-tree.def: s-alltree; @true + s-alltree: Makefile +@@ -2768,7 +2777,7 @@ PREPROCESSOR_DEFINES = \ + -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \ + -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ + -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ +- -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ ++ -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_tool_include_dir)\" \ + -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ + -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \ + -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ +Index: b/src/gcc/cppdefault.c +=================================================================== +--- a/src/gcc/cppdefault.c ++++ b/src/gcc/cppdefault.c +@@ -49,6 +49,8 @@ const struct default_include cpp_include + /* Pick up GNU C++ target-dependent include files. */ + { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, ++ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, ++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 2 }, + #endif + #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR + /* Pick up GNU C++ backward and deprecated include files. */ +Index: b/src/gcc/incpath.c +=================================================================== +--- a/src/gcc/incpath.c ++++ b/src/gcc/incpath.c +@@ -158,6 +158,18 @@ add_standard_paths (const char *sysroot, + } + str = reconcat (str, str, dir_separator_str, + imultiarch, NULL); ++ if (p->cplusplus && strstr (str, "/c++/")) ++ { ++ char *suffix = strstr (str, "/c++/"); ++ *suffix++ = '\0'; ++ suffix = xstrdup (suffix); ++ str = reconcat (str, str, dir_separator_str, ++ imultiarch, ++ dir_separator_str, suffix, NULL); ++ } ++ else ++ str = reconcat (str, str, dir_separator_str, ++ imultiarch, NULL); + } + add_path (str, SYSTEM, p->cxx_aware, false); + } +@@ -222,7 +234,16 @@ add_standard_paths (const char *sysroot, + free (str); + continue; + } +- str = reconcat (str, str, dir_separator_str, imultiarch, NULL); ++ if (p->cplusplus && strstr (str, "/c++/")) ++ { ++ char *suffix = strstr (str, "/c++/"); ++ *suffix++ = '\0'; ++ suffix = xstrdup (suffix); ++ str = reconcat (str, str, dir_separator_str, imultiarch, ++ dir_separator_str, suffix, NULL); ++ } ++ else ++ str = reconcat (str, str, dir_separator_str, imultiarch, NULL); + } + + add_path (str, SYSTEM, p->cxx_aware, false); --- gcc-7-7.1.0.orig/debian/patches/gcc-as-needed-gold.diff +++ gcc-7-7.1.0/debian/patches/gcc-as-needed-gold.diff @@ -0,0 +1,17 @@ +# DP: Use --push-state/--pop-state for gold as well when linking libtsan. + +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -700,10 +700,10 @@ + #define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) + #define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \ +- " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \ ++ " %{!static-libtsan:--push-state --no-as-needed}" \ + " -ltsan " \ + " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \ +- " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ ++ " %{!static-libtsan:--pop-state}" \ + STATIC_LIBTSAN_LIBS + #else + #define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS --- gcc-7-7.1.0.orig/debian/patches/gcc-as-needed.diff +++ gcc-7-7.1.0/debian/patches/gcc-as-needed.diff @@ -0,0 +1,183 @@ +# DP: On linux targets pass --as-needed by default to the linker, but always +# DP: link the sanitizer libraries with --no-as-needed. + +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -568,8 +568,11 @@ proper position among the other output f + #ifdef LIBTSAN_EARLY_SPEC + #define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) +-#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION \ +- "} -ltsan %{static-libtsan:" LD_DYNAMIC_OPTION "}" \ ++#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \ ++ " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \ ++ " -ltsan " \ ++ " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \ ++ " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ + STATIC_LIBTSAN_LIBS + #else + #define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS +--- a/src/gcc/config/gnu-user.h ++++ b/src/gcc/config/gnu-user.h +@@ -124,13 +124,13 @@ + #define LIBASAN_EARLY_SPEC "%{!shared:libasan_preinit%O%s} " \ + "%{static-libasan:%{!shared:" \ + LD_STATIC_OPTION " --whole-archive -lasan --no-whole-archive " \ +- LD_DYNAMIC_OPTION "}}%{!static-libasan:-lasan}" ++ LD_DYNAMIC_OPTION "}}%{!static-libasan:%{!fuse-ld=gold:--push-state} --no-as-needed -lasan %{fuse-ld=gold:--as-needed;:--pop-state}}" + #undef LIBTSAN_EARLY_SPEC + #define LIBTSAN_EARLY_SPEC "%{static-libtsan:%{!shared:" \ + LD_STATIC_OPTION " --whole-archive -ltsan --no-whole-archive " \ +- LD_DYNAMIC_OPTION "}}%{!static-libtsan:-ltsan}" ++ LD_DYNAMIC_OPTION "}}%{!static-libtsan:%{!fuse-ld=gold:--push-state} --no-as-needed -ltsan %{fuse-ld=gold:--as-needed;:--pop-state}}" + #undef LIBLSAN_EARLY_SPEC + #define LIBLSAN_EARLY_SPEC "%{static-liblsan:%{!shared:" \ + LD_STATIC_OPTION " --whole-archive -llsan --no-whole-archive " \ +- LD_DYNAMIC_OPTION "}}%{!static-liblsan:-llsan}" ++ LD_DYNAMIC_OPTION "}}%{!static-liblsan:%{!fuse-ld=gold:--push-state} --no-as-needed -llsan %{fuse-ld=gold:--as-needed;:--pop-state}}" + #endif +Index: b/src/gcc/config/aarch64/aarch64-linux.h +=================================================================== +--- a/src/gcc/config/aarch64/aarch64-linux.h ++++ b/src/gcc/config/aarch64/aarch64-linux.h +@@ -36,6 +36,7 @@ + + #define LINUX_TARGET_LINK_SPEC "%{h*} \ + --hash-style=gnu \ ++ --as-needed \ + %{static:-Bstatic} \ + %{shared:-shared} \ + %{symbolic:-Bsymbolic} \ +Index: b/src/gcc/config/ia64/linux.h +=================================================================== +--- a/src/gcc/config/ia64/linux.h ++++ b/src/gcc/config/ia64/linux.h +@@ -58,7 +58,7 @@ do { \ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC " --hash-style=gnu \ ++#define LINK_SPEC " --hash-style=gnu --as-needed \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +Index: b/src/gcc/config/sparc/linux.h +=================================================================== +--- a/src/gcc/config/sparc/linux.h ++++ b/src/gcc/config/sparc/linux.h +@@ -86,7 +86,7 @@ extern const char *host_detect_local_cpu + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf32_sparc --hash-style=gnu %{shared:-shared} \ ++#define LINK_SPEC "-m elf32_sparc --hash-style=gnu --as-needed %{shared:-shared} \ + %{!mno-relax:%{!r:-relax}} \ + %{!shared: \ + %{!static: \ +Index: b/src/gcc/config/s390/linux.h +=================================================================== +--- a/src/gcc/config/s390/linux.h ++++ b/src/gcc/config/s390/linux.h +@@ -65,7 +65,7 @@ along with GCC; see the file COPYING3. + + #undef LINK_SPEC + #define LINK_SPEC \ +- "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu \ ++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu --as-needed \ + %{shared:-shared} \ + %{!shared: \ + %{static:-static} \ +Index: b/src/gcc/config/rs6000/linux64.h +=================================================================== +--- a/src/gcc/config/rs6000/linux64.h ++++ b/src/gcc/config/rs6000/linux64.h +@@ -466,12 +466,12 @@ extern int dot_symbols; + " -m elf64ppc") + #endif + +-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=gnu %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=gnu --as-needed %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}} \ + %(link_os_extra_spec32)" + +-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=gnu %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=gnu --as-needed %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}} \ + %(link_os_extra_spec64)" +Index: b/src/gcc/config/rs6000/sysv4.h +=================================================================== +--- a/src/gcc/config/rs6000/sysv4.h ++++ b/src/gcc/config/rs6000/sysv4.h +@@ -784,7 +784,7 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEF + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ + MUSL_DYNAMIC_LINKER) + +-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu --as-needed %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" + +Index: b/src/gcc/config/i386/gnu-user64.h +=================================================================== +--- a/src/gcc/config/i386/gnu-user64.h ++++ b/src/gcc/config/i386/gnu-user64.h +@@ -57,6 +57,7 @@ see the files COPYING3 and COPYING.RUNTI + %{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \ + %{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \ + --hash-style=gnu \ ++ --as-needed \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +Index: b/src/gcc/config/i386/gnu-user.h +=================================================================== +--- a/src/gcc/config/i386/gnu-user.h ++++ b/src/gcc/config/i386/gnu-user.h +@@ -74,7 +74,7 @@ along with GCC; see the file COPYING3. + { "link_emulation", GNU_USER_LINK_EMULATION },\ + { "dynamic_linker", GNU_USER_DYNAMIC_LINKER } + +-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=gnu %{shared:-shared} \ ++#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=gnu --as-needed %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ +Index: b/src/gcc/config/alpha/linux-elf.h +=================================================================== +--- a/src/gcc/config/alpha/linux-elf.h ++++ b/src/gcc/config/alpha/linux-elf.h +@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3. + + #define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER + +-#define LINK_SPEC "-m elf64alpha --hash-style=gnu %{G*} %{relax:-relax} \ ++#define LINK_SPEC "-m elf64alpha --hash-style=gnu --as-needed %{G*} %{relax:-relax} \ + %{O*:-O3} %{!O*:-O1} \ + %{shared:-shared} \ + %{!shared: \ +Index: b/src/gcc/config/arm/linux-elf.h +=================================================================== +--- a/src/gcc/config/arm/linux-elf.h ++++ b/src/gcc/config/arm/linux-elf.h +@@ -73,6 +73,7 @@ + %{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \ + -X \ + --hash-style=gnu \ ++ --as-needed \ + %{mbig-endian:-EB} %{mlittle-endian:-EL}" \ + SUBTARGET_EXTRA_LINK_SPEC + +Index: b/src/gcc/config/mips/gnu-user.h +=================================================================== +--- a/src/gcc/config/mips/gnu-user.h ++++ b/src/gcc/config/mips/gnu-user.h +@@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. + #undef GNU_USER_TARGET_LINK_SPEC + #define GNU_USER_TARGET_LINK_SPEC "\ + %{G*} %{EB} %{EL} %{mips*} %{shared} \ ++ -as-needed \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ --- gcc-7-7.1.0.orig/debian/patches/gcc-auto-build.diff +++ gcc-7-7.1.0/debian/patches/gcc-auto-build.diff @@ -0,0 +1,15 @@ +# DP: Fix cross building a native compiler. + +Index: b/src/gcc/configure.ac +=================================================================== +--- a/src/gcc/configure.ac ++++ b/src/gcc/configure.ac +@@ -1705,7 +1705,7 @@ else + # Clearing GMPINC is necessary to prevent host headers being + # used by the build compiler. Defining GENERATOR_FILE stops + # system.h from including gmp.h. +- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ ++ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD} -DGENERATOR_FILE" \ + CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ + LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ + GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \ --- gcc-7-7.1.0.orig/debian/patches/gcc-d-lang.diff +++ gcc-7-7.1.0/debian/patches/gcc-d-lang.diff @@ -0,0 +1,251 @@ +# DP: Add D options and specs for the gcc driver. + +Index: b/src/gcc/d/lang-specs.h +=================================================================== +--- /dev/null ++++ b/src/gcc/d/lang-specs.h +@@ -0,0 +1,31 @@ ++/* lang-specs.h -- D frontend for GCC. ++ Copyright (C) 2011, 2012 Free Software Foundation, Inc. ++ ++ GCC is free software; you can redistribute it and/or modify it under ++ the terms of the GNU General Public License as published by the Free ++ Software Foundation; either version 3, or (at your option) any later ++ version. ++ ++ GCC is distributed in the hope that it will be useful, but WITHOUT ANY ++ WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with GCC; see the file COPYING3. If not see ++ . ++*/ ++ ++/* %{!M} probably doesn't make sense because we would need ++ to do that -- -MD and -MMD doesn't sound like a plan for D.... */ ++ ++{".d", "@d", 0, 1, 0 }, ++{".D", "@d", 0, 1, 0 }, ++{".dd", "@d", 0, 1, 0 }, ++{".DD", "@d", 0, 1, 0 }, ++{".di", "@d", 0, 1, 0 }, ++{".DI", "@d", 0, 1, 0 }, ++{"@d", ++ "%{!E:cc1d %i %(cc1_options) %(cc1d) %I %{nostdinc*} %{+e*} %{I*} %{J*}\ ++ %{M} %{MM} %{!fsyntax-only:%(invoke_as)}}", 0, 1, 0 }, ++ +Index: b/src/gcc/d/lang.opt +=================================================================== +--- /dev/null ++++ b/src/gcc/d/lang.opt +@@ -0,0 +1,208 @@ ++; GDC -- D front-end for GCC ++; Copyright (C) 2011, 2012 Free Software Foundation, Inc. ++; ++; This program is free software; you can redistribute it and/or modify ++; it under the terms of the GNU General Public License as published by ++; the Free Software Foundation; either version 2 of the License, or ++; (at your option) any later version. ++; ++; This program is distributed in the hope that it will be useful, ++; but WITHOUT ANY WARRANTY; without even the implied warranty of ++; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++; GNU General Public License for more details. ++; ++; You should have received a copy of the GNU General Public License ++; along with GCC; see the file COPYING3. If not see ++; . ++ ++Language ++D ++ ++debuglib= ++Driver Joined ++Debug library to use instead of phobos ++ ++defaultlib= ++Driver Joined ++Default library to use instead of phobos ++ ++fassert ++D ++Permit the use of the assert keyword ++ ++; For D: defaults to on ++fbounds-check ++D ++Generate code to check bounds before indexing arrays ++ ++fbuiltin ++D Var(flag_no_builtin, 0) ++Recognize built-in functions ++ ++fdebug ++D ++Compile in debug code ++ ++fdebug= ++D Joined RejectNegative ++-fdebug,-fdebug=,-fdebug= Compile in debug code, code <= level, or code identified by ident ++ ++fdeps= ++D Joined RejectNegative ++-fdeps= Write module dependencies to filename ++ ++fdoc ++D ++Generate documentation ++ ++fdoc-dir= ++D Joined RejectNegative ++-fdoc-dir= Write documentation file to docdir directory ++ ++fdoc-file= ++D Joined RejectNegative ++-fdoc-file= Write documentation file to filename ++ ++fdoc-inc= ++D Joined RejectNegative ++-fdoc-inc= Include a Ddoc macro file ++ ++fdump-source ++D RejectNegative ++Dump decoded UTF-8 text and source from HTML ++ ++fd-verbose ++D ++Print information about D language processing to stdout ++ ++fd-vtls ++D ++List all variables going into thread local storage ++ ++femit-templates ++D ++-femit-templates Emit templates code and data even if the linker cannot merge multiple copies ++ ++fignore-unknown-pragmas ++D ++Ignore unsupported pragmas ++ ++fin ++D ++Generate runtime code for in() contracts ++ ++fintfc ++Generate D interface files ++ ++fintfc-dir= ++D Joined RejectNegative ++-fintfc-dir= Write D interface files to directory ++ ++fintfc-file= ++D Joined RejectNegative ++-fintfc-file= Write D interface file to ++ ++finvariants ++D ++Generate runtime code for invariant()'s ++ ++fmake-deps= ++D Joined RejectNegative ++-fmake-deps= Write dependency output to the given file ++ ++fmake-mdeps= ++D Joined RejectNegative ++Like -fmake-deps= but ignore system modules ++ ++femit-moduleinfo ++D ++Generate ModuleInfo struct for output module ++ ++fonly= ++D Joined RejectNegative ++Process all modules specified on the command line, but only generate code for the module specified by the argument ++ ++fout ++D ++Generate runtime code for out() contracts ++ ++fproperty ++D ++Enforce property syntax ++ ++frelease ++D ++Compile release version ++ ++fsplit-dynamic-arrays ++D Var(flag_split_darrays) ++Split dynamic arrays into length and pointer when passing to functions ++ ++funittest ++D ++Compile in unittest code ++ ++fversion= ++D Joined RejectNegative ++-fversion= Compile in version code >= or identified by ++ ++fXf= ++D Joined RejectNegative ++-fXf= Write JSON file to ++ ++imultilib ++D Joined Separate ++-imultilib Set to be the multilib include subdirectory ++ ++iprefix ++D Joined Separate ++-iprefix Specify as a prefix for next two options ++ ++isysroot ++D Joined Separate ++-isysroot Set to be the system root directory ++ ++isystem ++D Joined Separate ++-isystem Add to the start of the system include path ++ ++I ++D Joined Separate ++-I Add to the end of the main include path ++ ++J ++D Joined Separate ++-J Put MODULE files in 'directory' ++ ++nophoboslib ++Driver ++Do not link the standard D library in the compilation ++ ++nostdinc ++D ++Do not search standard system include directories (those specified with -isystem will still be used) ++ ++static-libphobos ++Driver ++Link the standard D library statically in the compilation ++ ++Wall ++D ++; Documented in c.opt ++ ++Wcast-result ++D Warning Var(warn_cast_result) ++Warn about casts that will produce a null or nil result ++ ++Wdeprecated ++D ++; Documented in c.opt ++ ++Werror ++D ++; Documented in common.opt ++ ++Wunknown-pragmas ++D ++; Documented in c.opt ++ --- gcc-7-7.1.0.orig/debian/patches/gcc-default-format-security.diff +++ gcc-7-7.1.0/debian/patches/gcc-default-format-security.diff @@ -0,0 +1,39 @@ +# DP: Turn on -Wformat -Wformat-security by default for C, C++, ObjC, ObjC++. + +Index: b/src/gcc/doc/invoke.texi +=================================================================== +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -4119,6 +4119,11 @@ value is used and that might result in t + sufficient length or magnitude. + @end table + ++NOTE: In Ubuntu 8.10 and later versions this option is enabled by default ++for C, C++, ObjC, ObjC++. To disable, use @option{-Wno-format-security}, ++or disable all format warnings with @option{-Wformat=0}. To make format ++security warnings fatal, specify @option{-Werror=format-security}. ++ + @item -Wformat-y2k + @opindex Wformat-y2k + @opindex Wno-format-y2k +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -867,11 +867,14 @@ proper position among the other output f + #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G" + #endif + ++/* no separate spec, just shove it into the ssp default spec */ ++#define FORMAT_SECURITY_SPEC "%{!Wformat:%{!Wformat=2:%{!Wformat=0:%{!Wall:-Wformat} %{!Wno-format-security:-Wformat-security}}}}" ++ + #ifndef SSP_DEFAULT_SPEC + #if defined(TARGET_LIBC_PROVIDES_SSP) && !defined(ACCEL_COMPILER) +-#define SSP_DEFAULT_SPEC "%{!fno-stack-protector:%{!fstack-protector-all:%{!ffreestanding:%{!nostdlib:-fstack-protector}}}}" ++#define SSP_DEFAULT_SPEC "%{!fno-stack-protector:%{!fstack-protector-all:%{!ffreestanding:%{!nostdlib:-fstack-protector}}}} " FORMAT_SECURITY_SPEC + #else +-#define SSP_DEFAULT_SPEC "" ++#define SSP_DEFAULT_SPEC FORMAT_SECURITY_SPEC + #endif + #endif + --- gcc-7-7.1.0.orig/debian/patches/gcc-default-fortify-source.diff +++ gcc-7-7.1.0/debian/patches/gcc-default-fortify-source.diff @@ -0,0 +1,42 @@ +# DP: Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++, +# DP: if the optimization level is > 0 + +--- + gcc/doc/invoke.texi | 6 ++++++ + gcc/c-family/c-cppbuiltin.c | 3 + + 2 files changed, 9 insertions(+), 0 deletions(-) + +Index: b/src/gcc/doc/invoke.texi +=================================================================== +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -7105,6 +7105,12 @@ also turns on the following optimization + Please note the warning under @option{-fgcse} about + invoking @option{-O2} on programs that use computed gotos. + ++NOTE: In Ubuntu 8.10 and later versions, @option{-D_FORTIFY_SOURCE=2} is ++set by default, and is activated when @option{-O} is set to 2 or higher. ++This enables additional compile-time and run-time checks for several libc ++functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or ++@option{-D_FORTIFY_SOURCE=0}. ++ + @item -O3 + @opindex O3 + Optimize yet more. @option{-O3} turns on all optimizations specified +Index: b/src/gcc/c-family/c-cppbuiltin.c +=================================================================== +--- a/src/gcc/c-family/c-cppbuiltin.c ++++ b/src/gcc/c-family/c-cppbuiltin.c +@@ -1335,6 +1335,12 @@ c_cpp_builtins (cpp_reader *pfile) + builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0); + builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0); + ++#if !defined(ACCEL_COMPILER) ++ /* Fortify Source enabled by default for optimization levels > 0 */ ++ if (optimize) ++ builtin_define_with_int_value ("_FORTIFY_SOURCE", 2); ++#endif ++ + /* Misc. */ + if (flag_gnu89_inline) + cpp_define (pfile, "__GNUC_GNU_INLINE__"); --- gcc-7-7.1.0.orig/debian/patches/gcc-default-relro.diff +++ gcc-7-7.1.0/debian/patches/gcc-default-relro.diff @@ -0,0 +1,45 @@ +# DP: Turn on -Wl,-z,relro by default. + +--- + gcc/doc/invoke.texi | 3 +++ + gcc/gcc.c | 1 + + 2 files changed, 4 insertions(+), 0 deletions(-) + +Index: b/src/gcc/doc/invoke.texi +=================================================================== +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -11813,6 +11813,9 @@ For example, @option{-Wl,-Map,output.map + linker. When using the GNU linker, you can also get the same effect with + @option{-Wl,-Map=output.map}. + ++NOTE: In Ubuntu 8.10 and later versions, for LDFLAGS, the option ++@option{-Wl,-z,relro} is used. To disable, use @option{-Wl,-z,norelro}. ++ + @item -u @var{symbol} + @opindex u + Pretend the symbol @var{symbol} is undefined, to force linking of +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -1037,6 +1037,11 @@ proper position among the other output f + /* We pass any -flto flags on to the linker, which is expected + to understand them. In practice, this means it had better be collect2. */ + /* %{e*} includes -export-dynamic; see comment in common.opt. */ ++#if defined(ACCEL_COMPILER) ++# define RELRO_SPEC "" ++#else ++# define RELRO_SPEC "-z relro " ++#endif + #ifndef LINK_COMMAND_SPEC + #define LINK_COMMAND_SPEC "\ + %{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ +@@ -1045,6 +1050,7 @@ proper position among the other output f + "%{flto|flto=*:% + + * gcc.c (offload_targets_default): New variable. + (process_command): Set it if -foffload is defaulted. + (driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1 + into environment if -foffload has been defaulted. + * lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define. + (compile_images_for_offload_targets): If OFFLOAD_TARGET_DEFAULT + is in the environment, don't fail if corresponding mkoffload + can't be found. Free and clear offload_names if no valid offload + is found. +libgomp/ + * target.c (gomp_load_plugin_for_device): If a plugin can't be + dlopened, assume it has no devices silently. + +--- a/src/gcc/gcc.c.jj 2017-01-17 10:28:40.000000000 +0100 ++++ b/src/gcc/gcc.c 2017-01-20 16:26:29.649962902 +0100 +@@ -290,6 +290,10 @@ static const char *spec_host_machine = D + + static char *offload_targets = NULL; + ++/* Set to true if -foffload has not been used and offload_targets ++ is set to the configured in default. */ ++static bool offload_targets_default; ++ + /* Nonzero if cross-compiling. + When -b is used, the value comes from the `specs' file. */ + +@@ -4457,7 +4461,10 @@ process_command (unsigned int decoded_op + /* If the user didn't specify any, default to all configured offload + targets. */ + if (ENABLE_OFFLOADING && offload_targets == NULL) +- handle_foffload_option (OFFLOAD_TARGETS); ++ { ++ handle_foffload_option (OFFLOAD_TARGETS); ++ offload_targets_default = true; ++ } + + if (output_file + && strcmp (output_file, "-") != 0 +@@ -7693,6 +7700,12 @@ driver::maybe_putenv_OFFLOAD_TARGETS () + obstack_grow (&collect_obstack, offload_targets, + strlen (offload_targets) + 1); + xputenv (XOBFINISH (&collect_obstack, char *)); ++ if (offload_targets_default) ++ { ++ obstack_grow (&collect_obstack, "OFFLOAD_TARGET_DEFAULT=1", ++ sizeof ("OFFLOAD_TARGET_DEFAULT=1") - 1); ++ xputenv (XOBFINISH (&collect_obstack, char *)); ++ } + } + + free (offload_targets); +--- a/src/gcc/lto-wrapper.c.jj 2017-01-01 12:45:34.000000000 +0100 ++++ b/src/gcc/lto-wrapper.c 2017-01-20 16:34:18.294016997 +0100 +@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3. + /* Environment variable, used for passing the names of offload targets from GCC + driver to lto-wrapper. */ + #define OFFLOAD_TARGET_NAMES_ENV "OFFLOAD_TARGET_NAMES" ++#define OFFLOAD_TARGET_DEFAULT_ENV "OFFLOAD_TARGET_DEFAULT" + + enum lto_mode_d { + LTO_MODE_NONE, /* Not doing LTO. */ +@@ -790,8 +791,10 @@ compile_images_for_offload_targets (unsi + if (!target_names) + return; + unsigned num_targets = parse_env_var (target_names, &names, NULL); ++ const char *target_names_default = getenv (OFFLOAD_TARGET_DEFAULT_ENV); + + int next_name_entry = 0; ++ bool hsa_seen = false; + const char *compiler_path = getenv ("COMPILER_PATH"); + if (!compiler_path) + goto out; +@@ -804,18 +807,32 @@ compile_images_for_offload_targets (unsi + /* HSA does not use LTO-like streaming and a different compiler, skip + it. */ + if (strcmp (names[i], "hsa") == 0) +- continue; ++ { ++ hsa_seen = true; ++ continue; ++ } + + offload_names[next_name_entry] + = compile_offload_image (names[i], compiler_path, in_argc, in_argv, + compiler_opts, compiler_opt_count, + linker_opts, linker_opt_count); + if (!offload_names[next_name_entry]) +- fatal_error (input_location, +- "problem with building target image for %s\n", names[i]); ++ { ++ if (target_names_default != NULL) ++ continue; ++ fatal_error (input_location, ++ "problem with building target image for %s\n", ++ names[i]); ++ } + next_name_entry++; + } + ++ if (next_name_entry == 0 && !hsa_seen) ++ { ++ free (offload_names); ++ offload_names = NULL; ++ } ++ + out: + free_array_of_ptrs ((void **) names, num_targets); + } +--- a/src/libgomp/target.c.jj 2017-01-01 12:45:52.000000000 +0100 ++++ b/src/libgomp/target.c 2017-01-20 20:12:13.756710875 +0100 +@@ -2356,7 +2356,7 @@ gomp_load_plugin_for_device (struct gomp + + void *plugin_handle = dlopen (plugin_name, RTLD_LAZY); + if (!plugin_handle) +- goto dl_fail; ++ return 0; + + /* Check if all required functions are available in the plugin and store + their handlers. None of the symbols can legitimately be NULL, --- gcc-7-7.1.0.orig/debian/patches/gcc-fuse-ld-lld-doc.diff +++ gcc-7-7.1.0/debian/patches/gcc-fuse-ld-lld-doc.diff @@ -0,0 +1,17 @@ +# DP: Allow to use lld with -fuse-ld=ld.lld (documentation) + +Index: gcc/doc/invoke.texi +=================================================================== +--- a/src/gcc/doc/invoke.texi (revision 246158) ++++ a/src/gcc/doc/invoke.texi (working copy) +@@ -10501,6 +10501,10 @@ + @opindex fuse-ld=gold + Use the @command{gold} linker instead of the default linker. + ++@item -fuse-ld=lld ++@opindex fuse-ld=lld ++Use the LLVM @command{lld} linker instead of the default linker. ++ + @cindex Libraries + @item -l@var{library} + @itemx -l @var{library} --- gcc-7-7.1.0.orig/debian/patches/gcc-fuse-ld-lld.diff +++ gcc-7-7.1.0/debian/patches/gcc-fuse-ld-lld.diff @@ -0,0 +1,83 @@ +# DP: Allow to use lld with -fuse-ld=ld.lld + +Index: b/src/gcc/collect2.c +=================================================================== +--- a/src/gcc/collect2.c ++++ b/src/gcc/collect2.c +@@ -831,6 +831,7 @@ main (int argc, char **argv) + USE_PLUGIN_LD, + USE_GOLD_LD, + USE_BFD_LD, ++ USE_LLD_LD, + USE_LD_MAX + } selected_linker = USE_DEFAULT_LD; + static const char *const ld_suffixes[USE_LD_MAX] = +@@ -838,7 +839,8 @@ main (int argc, char **argv) + "ld", + PLUGIN_LD_SUFFIX, + "ld.gold", +- "ld.bfd" ++ "ld.bfd", ++ "ld.lld" + }; + static const char *const real_ld_suffix = "real-ld"; + static const char *const collect_ld_suffix = "collect-ld"; +@@ -1004,6 +1006,8 @@ main (int argc, char **argv) + selected_linker = USE_BFD_LD; + else if (strcmp (argv[i], "-fuse-ld=gold") == 0) + selected_linker = USE_GOLD_LD; ++ else if (strcmp (argv[i], "-fuse-ld=lld") == 0) ++ selected_linker = USE_LLD_LD; + + #ifdef COLLECT_EXPORT_LIST + /* These flags are position independent, although their order +@@ -1093,7 +1097,8 @@ main (int argc, char **argv) + /* Maybe we know the right file to use (if not cross). */ + ld_file_name = 0; + #ifdef DEFAULT_LINKER +- if (selected_linker == USE_BFD_LD || selected_linker == USE_GOLD_LD) ++ if (selected_linker == USE_BFD_LD || selected_linker == USE_GOLD_LD || ++ selected_linker == USE_LLD_LD) + { + char *linker_name; + # ifdef HOST_EXECUTABLE_SUFFIX +@@ -1307,7 +1312,7 @@ main (int argc, char **argv) + else if (!use_collect_ld + && strncmp (arg, "-fuse-ld=", 9) == 0) + { +- /* Do not pass -fuse-ld={bfd|gold} to the linker. */ ++ /* Do not pass -fuse-ld={bfd|gold|lld} to the linker. */ + ld1--; + ld2--; + } +Index: b/src/gcc/common.opt +=================================================================== +--- a/src/gcc/common.opt ++++ b/src/gcc/common.opt +@@ -2635,9 +2635,13 @@ Common Driver Negative(fuse-ld=gold) + Use the bfd linker instead of the default linker. + + fuse-ld=gold +-Common Driver Negative(fuse-ld=bfd) ++Common Driver Negative(fuse-ld=lld) + Use the gold linker instead of the default linker. + ++fuse-ld=lld ++Common Driver Negative(fuse-ld=bfd) ++Use the lld LLVM linker instead of the default linker. ++ + fuse-linker-plugin + Common Undocumented Var(flag_use_linker_plugin) + +Index: b/src/gcc/opts.c +=================================================================== +--- a/src/gcc/opts.c ++++ b/src/gcc/opts.c +@@ -2315,6 +2315,7 @@ common_handle_option (struct gcc_options + + case OPT_fuse_ld_bfd: + case OPT_fuse_ld_gold: ++ case OPT_fuse_ld_lld: + case OPT_fuse_linker_plugin: + /* No-op. Used by the driver and passed to us because it starts with f.*/ + break; --- gcc-7-7.1.0.orig/debian/patches/gcc-gfdl-build.diff +++ gcc-7-7.1.0/debian/patches/gcc-gfdl-build.diff @@ -0,0 +1,39 @@ +# DP: Build a dummy s-tm-texi without access to the texinfo sources + +Index: b/src/gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -2405,30 +2405,8 @@ s-tm-texi: $(srcdir)/doc/../doc/tm.texi + # \r is not portable to Solaris tr, therefore we have a special + # case for ASCII. We use \r for other encodings like EBCDIC. + s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in +- $(RUN_GEN) build/genhooks$(build_exeext) -d \ +- $(srcdir)/doc/tm.texi.in > tmp-tm.texi +- case `echo X|tr X '\101'` in \ +- A) tr -d '\015' < tmp-tm.texi > tmp2-tm.texi ;; \ +- *) tr -d '\r' < tmp-tm.texi > tmp2-tm.texi ;; \ +- esac +- mv tmp2-tm.texi tmp-tm.texi +- $(SHELL) $(srcdir)/../move-if-change tmp-tm.texi tm.texi +- @if cmp -s $(srcdir)/doc/tm.texi tm.texi; then \ +- $(STAMP) $@; \ +- elif test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/tm.texi.in \ +- && ( test $(srcdir)/doc/tm.texi -nt $(srcdir)/target.def \ +- || test $(srcdir)/doc/tm.texi -nt $(srcdir)/c-family/c-target.def \ +- || test $(srcdir)/doc/tm.texi -nt $(srcdir)/common/common-target.def \ +- ); then \ +- echo >&2 ; \ +- echo You should edit $(srcdir)/doc/tm.texi.in rather than $(srcdir)/doc/tm.texi . >&2 ; \ +- false; \ +- else \ +- echo >&2 ; \ +- echo Verify that you have permission to grant a GFDL license for all >&2 ; \ +- echo new text in tm.texi, then copy it to $(srcdir)/doc/tm.texi. >&2 ; \ +- false; \ +- fi ++ cat $(srcdir)/doc/tm.texi.in > tmp-tm.texi ++ $(STAMP) $@ + + gimple-match.c: s-match gimple-match-head.c ; @true + generic-match.c: s-match generic-match-head.c ; @true --- gcc-7-7.1.0.orig/debian/patches/gcc-hash-style-both.diff +++ gcc-7-7.1.0/debian/patches/gcc-hash-style-both.diff @@ -0,0 +1,167 @@ +# DP: Link using --hash-style=both (alpha, amd64, armel, armhf, ia64, i386, powerpc, ppc64, s390, sparc) + +2006-07-11 Jakub Jelinek + + * config/i386/linux.h (LINK_SPEC): Add --hash-style=both. + * config/i386/linux64.h (LINK_SPEC): Likewise. + * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise. + * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32, + LINK_OS_LINUX_SPEC64): Likewise. + * config/s390/linux.h (LINK_SPEC): Likewise. + * config/ia64/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC, + LINK_ARCH64_SPEC): Likewise. + * config/alpha/linux-elf.h (LINK_SPEC): Likewise. + +2009-12-21 Matthias Klose + + * config/arm/linux-elf.h (LINK_SPEC): Add --hash-style=both. + +2012-11-17 Matthias Klose + + * config/aarch64/aarch64-linux.h (LINK_SPEC): Add --hash-style=both. + +--- + gcc/config/alpha/linux-elf.h | 2 +- + gcc/config/i386/linux.h | 2 +- + gcc/config/i386/linux64.h | 2 +- + gcc/config/ia64/linux.h | 2 +- + gcc/config/rs6000/linux64.h | 4 ++-- + gcc/config/rs6000/sysv4.h | 2 +- + gcc/config/s390/linux.h | 2 +- + gcc/config/sparc/linux.h | 2 +- + 8 files changed, 9 insertions(+), 9 deletions(-) + +Index: b/src/gcc/config/alpha/linux-elf.h +=================================================================== +--- a/src/gcc/config/alpha/linux-elf.h ++++ b/src/gcc/config/alpha/linux-elf.h +@@ -37,7 +37,7 @@ + + #define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER + +-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \ ++#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \ + %{O*:-O3} %{!O*:-O1} \ + %{shared:-shared} \ + %{!shared: \ +Index: b/src/gcc/config/ia64/linux.h +=================================================================== +--- a/src/gcc/config/ia64/linux.h ++++ b/src/gcc/config/ia64/linux.h +@@ -58,7 +58,7 @@ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "\ ++#define LINK_SPEC " --hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +Index: b/src/gcc/config/rs6000/linux64.h +=================================================================== +--- a/src/gcc/config/rs6000/linux64.h ++++ b/src/gcc/config/rs6000/linux64.h +@@ -385,11 +385,11 @@ + " -m elf64ppc") + #endif + +-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}" + +-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}" + +Index: b/src/gcc/config/rs6000/sysv4.h +=================================================================== +--- a/src/gcc/config/rs6000/sysv4.h ++++ b/src/gcc/config/rs6000/sysv4.h +@@ -788,7 +788,7 @@ + #define GNU_USER_DYNAMIC_LINKER \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) + +-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" + +Index: b/src/gcc/config/s390/linux.h +=================================================================== +--- a/src/gcc/config/s390/linux.h ++++ b/src/gcc/config/s390/linux.h +@@ -65,7 +65,7 @@ + + #undef LINK_SPEC + #define LINK_SPEC \ +- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \ ++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{static:-static} \ +Index: b/src/gcc/config/sparc/linux.h +=================================================================== +--- a/src/gcc/config/sparc/linux.h ++++ b/src/gcc/config/sparc/linux.h +@@ -86,7 +86,7 @@ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ ++#define LINK_SPEC "-m elf32_sparc --hash-style=both %{shared:-shared} \ + %{!mno-relax:%{!r:-relax}} \ + %{!shared: \ + %{!static: \ +Index: b/src/gcc/config/arm/linux-elf.h +=================================================================== +--- a/src/gcc/config/arm/linux-elf.h ++++ b/src/gcc/config/arm/linux-elf.h +@@ -67,6 +67,7 @@ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER "} \ + -X \ ++ --hash-style=both \ + %{mbig-endian:-EB} %{mlittle-endian:-EL}" \ + SUBTARGET_EXTRA_LINK_SPEC + +Index: b/src/gcc/config/i386/gnu-user.h +=================================================================== +--- a/src/gcc/config/i386/gnu-user.h ++++ b/src/gcc/config/i386/gnu-user.h +@@ -74,7 +74,7 @@ + { "link_emulation", GNU_USER_LINK_EMULATION },\ + { "dynamic_linker", GNU_USER_DYNAMIC_LINKER } + +-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ ++#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ +Index: b/src/gcc/config/i386/gnu-user64.h +=================================================================== +--- a/src/gcc/config/i386/gnu-user64.h ++++ b/src/gcc/config/i386/gnu-user64.h +@@ -56,6 +56,7 @@ + "%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \ + %{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \ + %{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \ ++ --hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +Index: b/src/gcc/config/aarch64/aarch64-linux.h +=================================================================== +--- a/src/gcc/config/aarch64/aarch64-linux.h ++++ b/src/gcc/config/aarch64/aarch64-linux.h +@@ -24,6 +24,7 @@ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64.so.1" + + #define LINUX_TARGET_LINK_SPEC "%{h*} \ ++ --hash-style=both \ + %{static:-Bstatic} \ + %{shared:-shared} \ + %{symbolic:-Bsymbolic} \ --- gcc-7-7.1.0.orig/debian/patches/gcc-hash-style-gnu.diff +++ gcc-7-7.1.0/debian/patches/gcc-hash-style-gnu.diff @@ -0,0 +1,169 @@ +# DP: Link using --hash-style=gnu (aarch64, alpha, amd64, armel, armhf, ia64, +# DP: i386, powerpc, ppc64, s390, sparc) + +2006-07-11 Jakub Jelinek + + * config/i386/linux.h (LINK_SPEC): Add --hash-style=gnu. + * config/i386/linux64.h (LINK_SPEC): Likewise. + * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise. + * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32, + LINK_OS_LINUX_SPEC64): Likewise. + * config/s390/linux.h (LINK_SPEC): Likewise. + * config/ia64/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC, + LINK_ARCH64_SPEC): Likewise. + * config/alpha/linux-elf.h (LINK_SPEC): Likewise. + +2009-12-21 Matthias Klose + + * config/arm/linux-elf.h (LINK_SPEC): Add --hash-style=gnu. + +2012-11-17 Matthias Klose + + * config/aarch64/aarch64-linux.h (LINK_SPEC): Add --hash-style=gnu. + +--- + gcc/config/alpha/linux-elf.h | 2 +- + gcc/config/i386/linux.h | 2 +- + gcc/config/i386/linux64.h | 2 +- + gcc/config/ia64/linux.h | 2 +- + gcc/config/rs6000/linux64.h | 4 ++-- + gcc/config/rs6000/sysv4.h | 2 +- + gcc/config/s390/linux.h | 2 +- + gcc/config/sparc/linux.h | 2 +- + 8 files changed, 9 insertions(+), 9 deletions(-) + +Index: b/src/gcc/config/alpha/linux-elf.h +=================================================================== +--- a/src/gcc/config/alpha/linux-elf.h ++++ b/src/gcc/config/alpha/linux-elf.h +@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3. + + #define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER + +-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \ ++#define LINK_SPEC "-m elf64alpha --hash-style=gnu %{G*} %{relax:-relax} \ + %{O*:-O3} %{!O*:-O1} \ + %{shared:-shared} \ + %{!shared: \ +Index: b/src/gcc/config/ia64/linux.h +=================================================================== +--- a/src/gcc/config/ia64/linux.h ++++ b/src/gcc/config/ia64/linux.h +@@ -58,7 +58,7 @@ do { \ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "\ ++#define LINK_SPEC " --hash-style=gnu \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +Index: b/src/gcc/config/rs6000/linux64.h +=================================================================== +--- a/src/gcc/config/rs6000/linux64.h ++++ b/src/gcc/config/rs6000/linux64.h +@@ -469,12 +469,12 @@ extern int dot_symbols; + " -m elf64ppc") + #endif + +-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=gnu %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}} \ + %(link_os_extra_spec32)" + +-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=gnu %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}} \ + %(link_os_extra_spec64)" +Index: b/src/gcc/config/rs6000/sysv4.h +=================================================================== +--- a/src/gcc/config/rs6000/sysv4.h ++++ b/src/gcc/config/rs6000/sysv4.h +@@ -800,7 +800,7 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEF + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ + MUSL_DYNAMIC_LINKER) + +-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" + +Index: b/src/gcc/config/s390/linux.h +=================================================================== +--- a/src/gcc/config/s390/linux.h ++++ b/src/gcc/config/s390/linux.h +@@ -78,7 +78,7 @@ along with GCC; see the file COPYING3. + + #undef LINK_SPEC + #define LINK_SPEC \ +- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \ ++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu \ + %{shared:-shared} \ + %{!shared: \ + %{static:-static} \ +Index: b/src/gcc/config/sparc/linux.h +=================================================================== +--- a/src/gcc/config/sparc/linux.h ++++ b/src/gcc/config/sparc/linux.h +@@ -86,7 +86,7 @@ extern const char *host_detect_local_cpu + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ ++#define LINK_SPEC "-m elf32_sparc --hash-style=gnu %{shared:-shared} \ + %{!mno-relax:%{!r:-relax}} \ + %{!shared: \ + %{!static: \ +Index: b/src/gcc/config/arm/linux-elf.h +=================================================================== +--- a/src/gcc/config/arm/linux-elf.h ++++ b/src/gcc/config/arm/linux-elf.h +@@ -70,6 +70,7 @@ + %{rdynamic:-export-dynamic} \ + %{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \ + -X \ ++ --hash-style=gnu \ + %{mbig-endian:-EB} %{mlittle-endian:-EL}" \ + SUBTARGET_EXTRA_LINK_SPEC + +Index: b/src/gcc/config/i386/gnu-user.h +=================================================================== +--- a/src/gcc/config/i386/gnu-user.h ++++ b/src/gcc/config/i386/gnu-user.h +@@ -74,7 +74,7 @@ along with GCC; see the file COPYING3. + { "link_emulation", GNU_USER_LINK_EMULATION },\ + { "dynamic_linker", GNU_USER_DYNAMIC_LINKER } + +-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ ++#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=gnu %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ +Index: b/src/gcc/config/i386/gnu-user64.h +=================================================================== +--- a/src/gcc/config/i386/gnu-user64.h ++++ b/src/gcc/config/i386/gnu-user64.h +@@ -56,6 +56,7 @@ see the files COPYING3 and COPYING.RUNTI + "%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \ + %{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \ + %{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \ ++ --hash-style=gnu \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +Index: b/src/gcc/config/aarch64/aarch64-linux.h +=================================================================== +--- a/src/gcc/config/aarch64/aarch64-linux.h ++++ b/src/gcc/config/aarch64/aarch64-linux.h +@@ -35,6 +35,7 @@ + #define CPP_SPEC "%{pthread:-D_REENTRANT}" + + #define LINUX_TARGET_LINK_SPEC "%{h*} \ ++ --hash-style=gnu \ + %{static:-Bstatic} \ + %{shared:-shared} \ + %{symbolic:-Bsymbolic} \ --- gcc-7-7.1.0.orig/debian/patches/gcc-ice-apport.diff +++ gcc-7-7.1.0/debian/patches/gcc-ice-apport.diff @@ -0,0 +1,24 @@ +# DP: Report an ICE to apport (if apport is available +# DP: and the environment variable GCC_NOAPPORT is not set) + +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -6899,6 +6899,16 @@ do_report_bug (const char **new_argv, co + fflush(stderr); + free(cmd); + } ++ if (!env.get ("GCC_NOAPPORT") ++ && !access ("/usr/share/apport/gcc_ice_hook", R_OK | X_OK)) ++ { ++ char *cmd = XNEWVEC (char, 50 + strlen (*out_file) ++ + strlen (new_argv[0])); ++ sprintf (cmd, "/usr/share/apport/gcc_ice_hook %s %s", ++ new_argv[0], *out_file); ++ system (cmd); ++ free (cmd); ++ } + /* Make sure it is not deleted. */ + free (*out_file); + *out_file = NULL; --- gcc-7-7.1.0.orig/debian/patches/gcc-ice-dump.diff +++ gcc-7-7.1.0/debian/patches/gcc-ice-dump.diff @@ -0,0 +1,41 @@ +# DP: For ICEs, dump the preprocessed source file to stderr +# DP: when in a distro build environment. + +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -3163,7 +3163,8 @@ execute (void) + /* For ICEs in cc1, cc1obj, cc1plus see if it is + reproducible or not. */ + const char *p; +- if (flag_report_bug ++ const char *deb_build_options = env.get("DEB_BUILD_OPTIONS"); ++ if ((flag_report_bug || deb_build_options) + && WEXITSTATUS (status) == ICE_EXIT_CODE + && i == 0 + && (p = strrchr (commands[0].argv[0], DIR_SEPARATOR)) +@@ -6881,8 +6882,23 @@ do_report_bug (const char **new_argv, co + + if (status == ATTEMPT_STATUS_SUCCESS) + { ++ const char *deb_build_options = env.get("DEB_BUILD_OPTIONS"); ++ + fnotice (stderr, "Preprocessed source stored into %s file," + " please attach this to your bugreport.\n", *out_file); ++ if (deb_build_options) ++ { ++ char *cmd = XNEWVEC (char, 50 + strlen (*out_file)); ++ ++ sprintf(cmd, "/usr/bin/awk '{print \"%d:\", $0}' %s >&2", getpid(), *out_file); ++ fprintf(stderr, "=== BEGIN GCC DUMP ===\n"); ++ fflush(stderr); ++ system(cmd); ++ fflush(stderr); ++ fprintf(stderr, "=== END GCC DUMP ===\n"); ++ fflush(stderr); ++ free(cmd); ++ } + /* Make sure it is not deleted. */ + free (*out_file); + *out_file = NULL; --- gcc-7-7.1.0.orig/debian/patches/gcc-linaro-doc.diff +++ gcc-7-7.1.0/debian/patches/gcc-linaro-doc.diff @@ -0,0 +1,28 @@ +# DP: Changes for the Linaro 7-2017.05 snapshot (documentation). + +--- a/src/gcc/doc/install.texi ++++ b/src/gcc/doc/install.texi +@@ -1092,14 +1092,18 @@ for each target is given below. + + @table @code + @item arm*-*-* +-@var{list} is one of@code{default}, @code{aprofile} or @code{rmprofile}. +-Specifying @code{default} is equivalent to omitting this option, ie. only the +-default runtime library will be enabled. Specifying @code{aprofile} or +-@code{rmprofile} builds multilibs for a combination of ISA, architecture, +-FPU available and floating-point ABI. ++@var{list} is a comma separated list of @code{aprofile} and @code{rmprofile} ++to build multilibs for A or R and M architecture profiles respectively. Note ++that, due to some limitation of the current multilib framework, using the ++combined @code{aprofile,rmprofile} multilibs selects in some cases a less ++optimal multilib than when using the multilib profile for the architecture ++targetted. The special value @code{default} is also accepted and is equivalent ++to omitting the option, ie. only the default run-time library will be enabled. + + The table below gives the combination of ISAs, architectures, FPUs and + floating-point ABIs for which multilibs are built for each accepted value. ++The union of these options is considered when specifying both @code{aprofile} ++and @code{rmprofile}. + + @multitable @columnfractions .15 .28 .30 + @item Option @tab aprofile @tab rmprofile --- gcc-7-7.1.0.orig/debian/patches/gcc-linaro-no-macros.diff +++ gcc-7-7.1.0/debian/patches/gcc-linaro-no-macros.diff @@ -0,0 +1,92 @@ +# DP : Don't add the __LINARO_RELEASE__ and __LINARO_SPIN__ macros for distro builds. + +Index: b/src/gcc/cppbuiltin.c +=================================================================== +--- a/src/gcc/cppbuiltin.c ++++ b/src/gcc/cppbuiltin.c +@@ -53,41 +53,18 @@ parse_basever (int *major, int *minor, i + *patchlevel = s_patchlevel; + } + +-/* Parse a LINAROVER version string of the format "M.m-year.month[-spin][~dev]" +- to create Linaro release number YYYYMM and spin version. */ +-static void +-parse_linarover (int *release, int *spin) +-{ +- static int s_year = -1, s_month, s_spin; +- +- if (s_year == -1) +- if (sscanf (LINAROVER, "%*[^-]-%d.%d-%d", &s_year, &s_month, &s_spin) != 3) +- { +- sscanf (LINAROVER, "%*[^-]-%d.%d", &s_year, &s_month); +- s_spin = 0; +- } +- +- if (release) +- *release = s_year * 100 + s_month; +- +- if (spin) +- *spin = s_spin; +-} + + /* Define __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__ and __VERSION__. */ + static void + define__GNUC__ (cpp_reader *pfile) + { +- int major, minor, patchlevel, linaro_release, linaro_spin; ++ int major, minor, patchlevel; + + parse_basever (&major, &minor, &patchlevel); +- parse_linarover (&linaro_release, &linaro_spin); + cpp_define_formatted (pfile, "__GNUC__=%d", major); + cpp_define_formatted (pfile, "__GNUC_MINOR__=%d", minor); + cpp_define_formatted (pfile, "__GNUC_PATCHLEVEL__=%d", patchlevel); + cpp_define_formatted (pfile, "__VERSION__=\"%s\"", version_string); +- cpp_define_formatted (pfile, "__LINARO_RELEASE__=%d", linaro_release); +- cpp_define_formatted (pfile, "__LINARO_SPIN__=%d", linaro_spin); + cpp_define_formatted (pfile, "__ATOMIC_RELAXED=%d", MEMMODEL_RELAXED); + cpp_define_formatted (pfile, "__ATOMIC_SEQ_CST=%d", MEMMODEL_SEQ_CST); + cpp_define_formatted (pfile, "__ATOMIC_ACQUIRE=%d", MEMMODEL_ACQUIRE); +Index: b/src/gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -845,12 +845,10 @@ BASEVER := $(srcdir)/BASE-VER # 4.x + DEVPHASE := $(srcdir)/DEV-PHASE # experimental, prerelease, "" + DATESTAMP := $(srcdir)/DATESTAMP # YYYYMMDD or empty + REVISION := $(srcdir)/REVISION # [BRANCH revision XXXXXX] +-LINAROVER := $(srcdir)/LINARO-VERSION # M.x-YYYY.MM[-S][~dev] + + BASEVER_c := $(shell cat $(BASEVER)) + DEVPHASE_c := $(shell cat $(DEVPHASE)) + DATESTAMP_c := $(shell cat $(DATESTAMP)) +-LINAROVER_c := $(shell cat $(LINAROVER)) + + ifeq (,$(wildcard $(REVISION))) + REVISION_c := +@@ -877,7 +875,6 @@ DATESTAMP_s := \ + "\"$(if $(DEVPHASE_c)$(filter-out 0,$(PATCHLEVEL_c)), $(DATESTAMP_c))\"" + PKGVERSION_s:= "\"@PKGVERSION@\"" + BUGURL_s := "\"@REPORT_BUGS_TO@\"" +-LINAROVER_s := "\"$(LINAROVER_c)\"" + + PKGVERSION := @PKGVERSION@ + BUGURL_TEXI := @REPORT_BUGS_TEXI@ +@@ -2804,9 +2801,8 @@ PREPROCESSOR_DEFINES = \ + -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ + @TARGET_SYSTEM_ROOT_DEFINE@ + +-CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s) \ +- -DLINAROVER=$(LINAROVER_s) +-cppbuiltin.o: $(BASEVER) $(LINAROVER) ++CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s) ++cppbuiltin.o: $(BASEVER) + + CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES) + +Index: b/src/gcc/LINARO-VERSION +=================================================================== +--- a/src/gcc/LINARO-VERSION ++++ /dev/null +@@ -1 +0,0 @@ +-7.1-2017.05~dev --- gcc-7-7.1.0.orig/debian/patches/gcc-linaro.diff +++ gcc-7-7.1.0/debian/patches/gcc-linaro.diff @@ -0,0 +1,673 @@ +# DP: Changes for the Linaro 7-2017.05 snapshot. + +MSG=$(git log origin/linaro/gcc-7-branch --format=format:"%s" -n 1 --grep "Merge branches"); SVN=${MSG##* }; git log origin/gcc-7-branch --format=format:"%H" -n 1 --grep "gcc-7-branch@${SVN%.}" + +LANG=C git diff --no-renames 4f4f68662706100e1fb1bb4e73ee50061d626f81 ffc354ab2f2465daf14068b1ad2c7afec87a1c9e \ + | egrep -v '^(diff|index) ' \ + | filterdiff --strip=1 --addoldprefix=a/src/ --addnewprefix=b/src/ \ + | sed 's,a/src//dev/null,/dev/null,' + +Index: b/src/.gitreview +=================================================================== +--- /dev/null ++++ b/src/.gitreview +@@ -0,0 +1,5 @@ ++[gerrit] ++host=review.linaro.org ++port=29418 ++project=toolchain/gcc ++defaultbranch=linaro-local/gcc-7-integration-branch +Index: b/src/gcc/LINARO-VERSION +=================================================================== +--- /dev/null ++++ b/src/gcc/LINARO-VERSION +@@ -0,0 +1 @@ ++7.1-2017.05~dev +Index: b/src/gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -845,10 +845,12 @@ BASEVER := $(srcdir)/BASE-VER # 4.x + DEVPHASE := $(srcdir)/DEV-PHASE # experimental, prerelease, "" + DATESTAMP := $(srcdir)/DATESTAMP # YYYYMMDD or empty + REVISION := $(srcdir)/REVISION # [BRANCH revision XXXXXX] ++LINAROVER := $(srcdir)/LINARO-VERSION # M.x-YYYY.MM[-S][~dev] + + BASEVER_c := $(shell cat $(BASEVER)) + DEVPHASE_c := $(shell cat $(DEVPHASE)) + DATESTAMP_c := $(shell cat $(DATESTAMP)) ++LINAROVER_c := $(shell cat $(LINAROVER)) + + ifeq (,$(wildcard $(REVISION))) + REVISION_c := +@@ -875,6 +877,7 @@ DATESTAMP_s := \ + "\"$(if $(DEVPHASE_c)$(filter-out 0,$(PATCHLEVEL_c)), $(DATESTAMP_c))\"" + PKGVERSION_s:= "\"@PKGVERSION@\"" + BUGURL_s := "\"@REPORT_BUGS_TO@\"" ++LINAROVER_s := "\"$(LINAROVER_c)\"" + + PKGVERSION := @PKGVERSION@ + BUGURL_TEXI := @REPORT_BUGS_TEXI@ +@@ -2801,8 +2804,9 @@ PREPROCESSOR_DEFINES = \ + -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ + @TARGET_SYSTEM_ROOT_DEFINE@ + +-CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s) +-cppbuiltin.o: $(BASEVER) ++CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s) \ ++ -DLINAROVER=$(LINAROVER_s) ++cppbuiltin.o: $(BASEVER) $(LINAROVER) + + CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES) + +Index: b/src/gcc/config.gcc +=================================================================== +--- a/src/gcc/config.gcc ++++ b/src/gcc/config.gcc +@@ -3791,34 +3791,19 @@ case "${target}" in + # Add extra multilibs + if test "x$with_multilib_list" != x; then + arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'` +- case ${arm_multilibs} in +- aprofile) +- # Note that arm/t-aprofile is a +- # stand-alone make file fragment to be +- # used only with itself. We do not +- # specifically use the +- # TM_MULTILIB_OPTION framework because +- # this shorthand is more +- # pragmatic. +- tmake_profile_file="arm/t-aprofile" +- ;; +- rmprofile) +- # Note that arm/t-rmprofile is a +- # stand-alone make file fragment to be +- # used only with itself. We do not +- # specifically use the +- # TM_MULTILIB_OPTION framework because +- # this shorthand is more +- # pragmatic. +- tmake_profile_file="arm/t-rmprofile" +- ;; +- default) +- ;; +- *) +- echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2 +- exit 1 +- ;; +- esac ++ if test "x${arm_multilibs}" != xdefault ; then ++ for arm_multilib in ${arm_multilibs}; do ++ case ${arm_multilib} in ++ aprofile|rmprofile) ++ tmake_profile_file="arm/t-multilib" ++ ;; ++ *) ++ echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2 ++ exit 1 ++ ;; ++ esac ++ done ++ fi + + if test "x${tmake_profile_file}" != x ; then + # arm/t-aprofile and arm/t-rmprofile are only +@@ -3835,6 +3820,7 @@ case "${target}" in + fi + + tmake_file="${tmake_file} ${tmake_profile_file}" ++ TM_MULTILIB_CONFIG="$with_multilib_list" + fi + fi + ;; +Index: b/src/gcc/config/aarch64/aarch64.c +=================================================================== +--- a/src/gcc/config/aarch64/aarch64.c ++++ b/src/gcc/config/aarch64/aarch64.c +@@ -193,10 +193,10 @@ static const struct aarch64_flag_desc aa + static const struct cpu_addrcost_table generic_addrcost_table = + { + { +- 0, /* hi */ ++ 1, /* hi */ + 0, /* si */ + 0, /* di */ +- 0, /* ti */ ++ 1, /* ti */ + }, + 0, /* pre_modify */ + 0, /* post_modify */ +@@ -538,8 +538,8 @@ static const struct tune_params generic_ + 2, /* issue_rate */ + (AARCH64_FUSE_AES_AESMC), /* fusible_ops */ + 8, /* function_align. */ +- 8, /* jump_align. */ +- 4, /* loop_align. */ ++ 4, /* jump_align. */ ++ 8, /* loop_align. */ + 2, /* int_reassoc_width. */ + 4, /* fp_reassoc_width. */ + 1, /* vec_reassoc_width. */ +@@ -547,7 +547,7 @@ static const struct tune_params generic_ + 2, /* min_div_recip_mul_df. */ + 0, /* max_case_values. */ + 0, /* cache_line_size. */ +- tune_params::AUTOPREFETCHER_OFF, /* autoprefetcher_model. */ ++ tune_params::AUTOPREFETCHER_WEAK, /* autoprefetcher_model. */ + (AARCH64_EXTRA_TUNE_NONE) /* tune_flags. */ + }; + +Index: b/src/gcc/config/arm/arm-builtins.c +=================================================================== +--- a/src/gcc/config/arm/arm-builtins.c ++++ b/src/gcc/config/arm/arm-builtins.c +@@ -1893,10 +1893,10 @@ arm_init_builtins (void) + = build_function_type_list (unsigned_type_node, NULL); + + arm_builtin_decls[ARM_BUILTIN_GET_FPSCR] +- = add_builtin_function ("__builtin_arm_ldfscr", ftype_get_fpscr, ++ = add_builtin_function ("__builtin_arm_get_fpscr", ftype_get_fpscr, + ARM_BUILTIN_GET_FPSCR, BUILT_IN_MD, NULL, NULL_TREE); + arm_builtin_decls[ARM_BUILTIN_SET_FPSCR] +- = add_builtin_function ("__builtin_arm_stfscr", ftype_set_fpscr, ++ = add_builtin_function ("__builtin_arm_set_fpscr", ftype_set_fpscr, + ARM_BUILTIN_SET_FPSCR, BUILT_IN_MD, NULL, NULL_TREE); + } + +Index: b/src/gcc/config/arm/arm.c +=================================================================== +--- a/src/gcc/config/arm/arm.c ++++ b/src/gcc/config/arm/arm.c +@@ -28236,17 +28236,32 @@ arm_expand_compare_and_swap (rtx operand + gcc_unreachable (); + } + +- switch (mode) ++ if (TARGET_THUMB1) + { +- case QImode: gen = gen_atomic_compare_and_swapqi_1; break; +- case HImode: gen = gen_atomic_compare_and_swaphi_1; break; +- case SImode: gen = gen_atomic_compare_and_swapsi_1; break; +- case DImode: gen = gen_atomic_compare_and_swapdi_1; break; +- default: +- gcc_unreachable (); ++ switch (mode) ++ { ++ case QImode: gen = gen_atomic_compare_and_swapt1qi_1; break; ++ case HImode: gen = gen_atomic_compare_and_swapt1hi_1; break; ++ case SImode: gen = gen_atomic_compare_and_swapt1si_1; break; ++ case DImode: gen = gen_atomic_compare_and_swapt1di_1; break; ++ default: ++ gcc_unreachable (); ++ } ++ } ++ else ++ { ++ switch (mode) ++ { ++ case QImode: gen = gen_atomic_compare_and_swap32qi_1; break; ++ case HImode: gen = gen_atomic_compare_and_swap32hi_1; break; ++ case SImode: gen = gen_atomic_compare_and_swap32si_1; break; ++ case DImode: gen = gen_atomic_compare_and_swap32di_1; break; ++ default: ++ gcc_unreachable (); ++ } + } + +- bdst = TARGET_THUMB1 ? bval : gen_rtx_REG (CCmode, CC_REGNUM); ++ bdst = TARGET_THUMB1 ? bval : gen_rtx_REG (CC_Zmode, CC_REGNUM); + emit_insn (gen (bdst, rval, mem, oldval, newval, is_weak, mod_s, mod_f)); + + if (mode == QImode || mode == HImode) +Index: b/src/gcc/config/arm/iterators.md +=================================================================== +--- a/src/gcc/config/arm/iterators.md ++++ b/src/gcc/config/arm/iterators.md +@@ -45,6 +45,9 @@ + ;; A list of the 32bit and 64bit integer modes + (define_mode_iterator SIDI [SI DI]) + ++;; A list of atomic compare and swap success return modes ++(define_mode_iterator CCSI [(CC_Z "TARGET_32BIT") (SI "TARGET_THUMB1")]) ++ + ;; A list of modes which the VFP unit can handle + (define_mode_iterator SDF [(SF "") (DF "TARGET_VFP_DOUBLE")]) + +@@ -411,6 +414,10 @@ + ;; Mode attributes + ;;---------------------------------------------------------------------------- + ++;; Determine name of atomic compare and swap from success result mode. This ++;; distinguishes between 16-bit Thumb and 32-bit Thumb/ARM. ++(define_mode_attr arch [(CC_Z "32") (SI "t1")]) ++ + ;; Determine element size suffix from vector mode. + (define_mode_attr MMX_char [(V8QI "b") (V4HI "h") (V2SI "w") (DI "d")]) + +Index: b/src/gcc/config/arm/sync.md +=================================================================== +--- a/src/gcc/config/arm/sync.md ++++ b/src/gcc/config/arm/sync.md +@@ -191,9 +191,9 @@ + + ;; Constraints of this pattern must be at least as strict as those of the + ;; cbranchsi operations in thumb1.md and aim to be as permissive. +-(define_insn_and_split "atomic_compare_and_swap_1" +- [(set (match_operand 0 "cc_register_operand" "=&c,&l,&l,&l") ;; bool out +- (unspec_volatile:CC_Z [(const_int 0)] VUNSPEC_ATOMIC_CAS)) ++(define_insn_and_split "atomic_compare_and_swap_1" ++ [(set (match_operand:CCSI 0 "cc_register_operand" "=&c,&l,&l,&l") ;; bool out ++ (unspec_volatile:CCSI [(const_int 0)] VUNSPEC_ATOMIC_CAS)) + (set (match_operand:SI 1 "s_register_operand" "=&r,&l,&0,&l*h") ;; val out + (zero_extend:SI + (match_operand:NARROW 2 "mem_noofs_operand" "+Ua,Ua,Ua,Ua"))) ;; memory +@@ -223,9 +223,9 @@ + + ;; Constraints of this pattern must be at least as strict as those of the + ;; cbranchsi operations in thumb1.md and aim to be as permissive. +-(define_insn_and_split "atomic_compare_and_swap_1" +- [(set (match_operand 0 "cc_register_operand" "=&c,&l,&l,&l") ;; bool out +- (unspec_volatile:CC_Z [(const_int 0)] VUNSPEC_ATOMIC_CAS)) ++(define_insn_and_split "atomic_compare_and_swap_1" ++ [(set (match_operand:CCSI 0 "cc_register_operand" "=&c,&l,&l,&l") ;; bool out ++ (unspec_volatile:CCSI [(const_int 0)] VUNSPEC_ATOMIC_CAS)) + (set (match_operand:SIDI 1 "s_register_operand" "=&r,&l,&0,&l*h") ;; val out + (match_operand:SIDI 2 "mem_noofs_operand" "+Ua,Ua,Ua,Ua")) ;; memory + (set (match_dup 2) +Index: b/src/gcc/config/arm/t-aprofile +=================================================================== +--- a/src/gcc/config/arm/t-aprofile ++++ b/src/gcc/config/arm/t-aprofile +@@ -24,30 +24,13 @@ + # have their default values during the configure step. We enforce + # this during the top-level configury. + +-MULTILIB_OPTIONS = +-MULTILIB_DIRNAMES = +-MULTILIB_EXCEPTIONS = +-MULTILIB_MATCHES = +-MULTILIB_REUSE = +- +-# We have the following hierachy: +-# ISA: A32 (.) or T32 (thumb) +-# Architecture: ARMv7-A (v7-a), ARMv7VE (v7ve), or ARMv8-A (v8-a). +-# FPU: VFPv3-D16 (fpv3), NEONv1 (simdv1), VFPv4-D16 (fpv4), +-# NEON-VFPV4 (simdvfpv4), NEON for ARMv8 (simdv8), or None (.). +-# Float-abi: Soft (.), softfp (softfp), or hard (hardfp). +- +-MULTILIB_OPTIONS += mthumb +-MULTILIB_DIRNAMES += thumb ++# Arch and FPU variants to build libraries with + +-MULTILIB_OPTIONS += march=armv7-a/march=armv7ve/march=armv8-a +-MULTILIB_DIRNAMES += v7-a v7ve v8-a ++MULTI_ARCH_OPTS_A = march=armv7-a/march=armv7ve/march=armv8-a ++MULTI_ARCH_DIRS_A = v7-a v7ve v8-a + +-MULTILIB_OPTIONS += mfpu=vfpv3-d16/mfpu=neon/mfpu=vfpv4-d16/mfpu=neon-vfpv4/mfpu=neon-fp-armv8 +-MULTILIB_DIRNAMES += fpv3 simdv1 fpv4 simdvfpv4 simdv8 +- +-MULTILIB_OPTIONS += mfloat-abi=softfp/mfloat-abi=hard +-MULTILIB_DIRNAMES += softfp hard ++MULTI_FPU_OPTS_A = mfpu=vfpv3-d16/mfpu=neon/mfpu=vfpv4-d16/mfpu=neon-vfpv4/mfpu=neon-fp-armv8 ++MULTI_FPU_DIRS_A = fpv3 simdv1 fpv4 simdvfpv4 simdv8 + + + # Option combinations to build library with +@@ -71,7 +54,11 @@ MULTILIB_REQUIRED += *march=armv8-a + MULTILIB_REQUIRED += *march=armv8-a/mfpu=neon-fp-armv8/mfloat-abi=* + + ++# Matches ++ + # CPU Matches ++MULTILIB_MATCHES += march?armv7-a=mcpu?marvell-pj4 ++MULTILIB_MATCHES += march?armv7-a=mcpu?generic-armv7-a + MULTILIB_MATCHES += march?armv7-a=mcpu?cortex-a8 + MULTILIB_MATCHES += march?armv7-a=mcpu?cortex-a9 + MULTILIB_MATCHES += march?armv7-a=mcpu?cortex-a5 +Index: b/src/gcc/config/arm/t-multilib +=================================================================== +--- /dev/null ++++ b/src/gcc/config/arm/t-multilib +@@ -0,0 +1,69 @@ ++# Copyright (C) 2016 Free Software Foundation, Inc. ++# ++# This file is part of GCC. ++# ++# GCC is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3, or (at your option) ++# any later version. ++# ++# GCC is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with GCC; see the file COPYING3. If not see ++# . ++ ++# This is a target makefile fragment that attempts to get ++# multilibs built for the range of CPU's, FPU's and ABI's that ++# are relevant for the ARM architecture. It should not be used in ++# conjunction with another make file fragment and assumes --with-arch, ++# --with-cpu, --with-fpu, --with-float, --with-mode have their default ++# values during the configure step. We enforce this during the ++# top-level configury. ++ ++MULTILIB_OPTIONS = ++MULTILIB_DIRNAMES = ++MULTILIB_EXCEPTIONS = ++MULTILIB_MATCHES = ++MULTILIB_REUSE = ++ ++comma := , ++tm_multilib_list := $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) ++ ++HAS_APROFILE := $(filter aprofile,$(tm_multilib_list)) ++HAS_RMPROFILE := $(filter rmprofile,$(tm_multilib_list)) ++ ++ifneq (,$(HAS_APROFILE)) ++include $(srcdir)/config/arm/t-aprofile ++endif ++ifneq (,$(HAS_RMPROFILE)) ++include $(srcdir)/config/arm/t-rmprofile ++endif ++SEP := $(and $(HAS_APROFILE),$(HAS_RMPROFILE),/) ++ ++ ++# We have the following hierachy: ++# ISA: A32 (.) or T16/T32 (thumb) ++# Architecture: ARMv6-M (v6-m), ARMv7-M (v7-m), ARMv7E-M (v7e-m), ++# ARMv7 (v7-ar), ARMv7-A (v7-a), ARMv7VE (v7ve), ++# ARMv8-M Baseline (v8-m.base), ARMv8-M Mainline (v8-m.main) ++# or ARMv8-A (v8-a). ++# FPU: VFPv3-D16 (fpv3), NEONv1 (simdv1), FPV4-SP-D16 (fpv4-sp), ++# VFPv4-D16 (fpv4), NEON-VFPV4 (simdvfpv4), FPV5-SP-D16 (fpv5-sp), ++# VFPv5-D16 (fpv5), NEON for ARMv8 (simdv8), or None (.). ++# Float-abi: Soft (.), softfp (softfp), or hard (hard). ++ ++MULTILIB_OPTIONS += mthumb ++MULTILIB_DIRNAMES += thumb ++ ++MULTILIB_OPTIONS += $(MULTI_ARCH_OPTS_A)$(SEP)$(MULTI_ARCH_OPTS_RM) ++MULTILIB_DIRNAMES += $(MULTI_ARCH_DIRS_A) $(MULTI_ARCH_DIRS_RM) ++ ++MULTILIB_OPTIONS += $(MULTI_FPU_OPTS_A)$(SEP)$(MULTI_FPU_OPTS_RM) ++MULTILIB_DIRNAMES += $(MULTI_FPU_DIRS_A) $(MULTI_FPU_DIRS_RM) ++ ++MULTILIB_OPTIONS += mfloat-abi=softfp/mfloat-abi=hard ++MULTILIB_DIRNAMES += softfp hard +Index: b/src/gcc/config/arm/t-rmprofile +=================================================================== +--- a/src/gcc/config/arm/t-rmprofile ++++ b/src/gcc/config/arm/t-rmprofile +@@ -24,33 +24,14 @@ + # values during the configure step. We enforce this during the + # top-level configury. + +-MULTILIB_OPTIONS = +-MULTILIB_DIRNAMES = +-MULTILIB_EXCEPTIONS = +-MULTILIB_MATCHES = +-MULTILIB_REUSE = +- +-# We have the following hierachy: +-# ISA: A32 (.) or T16/T32 (thumb). +-# Architecture: ARMv6S-M (v6-m), ARMv7-M (v7-m), ARMv7E-M (v7e-m), +-# ARMv8-M Baseline (v8-m.base) or ARMv8-M Mainline (v8-m.main). +-# FPU: VFPv3-D16 (fpv3), FPV4-SP-D16 (fpv4-sp), FPV5-SP-D16 (fpv5-sp), +-# VFPv5-D16 (fpv5), or None (.). +-# Float-abi: Soft (.), softfp (softfp), or hard (hardfp). +- +-# Options to build libraries with +- +-MULTILIB_OPTIONS += mthumb +-MULTILIB_DIRNAMES += thumb + +-MULTILIB_OPTIONS += march=armv6s-m/march=armv7-m/march=armv7e-m/march=armv7/march=armv8-m.base/march=armv8-m.main +-MULTILIB_DIRNAMES += v6-m v7-m v7e-m v7-ar v8-m.base v8-m.main ++# Arch and FPU variants to build libraries with + +-MULTILIB_OPTIONS += mfpu=vfpv3-d16/mfpu=fpv4-sp-d16/mfpu=fpv5-sp-d16/mfpu=fpv5-d16 +-MULTILIB_DIRNAMES += fpv3 fpv4-sp fpv5-sp fpv5 ++MULTI_ARCH_OPTS_RM = march=armv6s-m/march=armv7-m/march=armv7e-m/march=armv7/march=armv8-m.base/march=armv8-m.main ++MULTI_ARCH_DIRS_RM = v6-m v7-m v7e-m v7-ar v8-m.base v8-m.main + +-MULTILIB_OPTIONS += mfloat-abi=softfp/mfloat-abi=hard +-MULTILIB_DIRNAMES += softfp hard ++MULTI_FPU_OPTS_RM = mfpu=vfpv3-d16/mfpu=fpv4-sp-d16/mfpu=fpv5-sp-d16/mfpu=fpv5-d16 ++MULTI_FPU_DIRS_RM = fpv3 fpv4-sp fpv5-sp fpv5 + + + # Option combinations to build library with +Index: b/src/gcc/configure +=================================================================== +--- a/src/gcc/configure ++++ b/src/gcc/configure +@@ -1717,7 +1717,8 @@ Optional Packages: + --with-stabs arrange to use stabs instead of host debug format + --with-dwarf2 force the default debug format to be DWARF 2 + --with-specs=SPECS add SPECS to driver command-line processing +- --with-pkgversion=PKG Use PKG in the version string in place of "GCC" ++ --with-pkgversion=PKG Use PKG in the version string in place of "Linaro ++ GCC `cat $srcdir/LINARO-VERSION`" + --with-bugurl=URL Direct users to URL to report a bug + --with-multilib-list select multilibs (AArch64, SH and x86-64 only) + --with-gnu-ld assume the C compiler uses GNU ld default=no +@@ -7637,7 +7638,7 @@ if test "${with_pkgversion+set}" = set; + *) PKGVERSION="($withval) " ;; + esac + else +- PKGVERSION="(GCC) " ++ PKGVERSION="(Linaro GCC `cat $srcdir/LINARO-VERSION`) " + + fi + +@@ -18433,7 +18434,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 18436 "configure" ++#line 18437 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -18539,7 +18540,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 18542 "configure" ++#line 18543 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +Index: b/src/gcc/cppbuiltin.c +=================================================================== +--- a/src/gcc/cppbuiltin.c ++++ b/src/gcc/cppbuiltin.c +@@ -53,18 +53,41 @@ parse_basever (int *major, int *minor, i + *patchlevel = s_patchlevel; + } + ++/* Parse a LINAROVER version string of the format "M.m-year.month[-spin][~dev]" ++ to create Linaro release number YYYYMM and spin version. */ ++static void ++parse_linarover (int *release, int *spin) ++{ ++ static int s_year = -1, s_month, s_spin; ++ ++ if (s_year == -1) ++ if (sscanf (LINAROVER, "%*[^-]-%d.%d-%d", &s_year, &s_month, &s_spin) != 3) ++ { ++ sscanf (LINAROVER, "%*[^-]-%d.%d", &s_year, &s_month); ++ s_spin = 0; ++ } ++ ++ if (release) ++ *release = s_year * 100 + s_month; ++ ++ if (spin) ++ *spin = s_spin; ++} + + /* Define __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__ and __VERSION__. */ + static void + define__GNUC__ (cpp_reader *pfile) + { +- int major, minor, patchlevel; ++ int major, minor, patchlevel, linaro_release, linaro_spin; + + parse_basever (&major, &minor, &patchlevel); ++ parse_linarover (&linaro_release, &linaro_spin); + cpp_define_formatted (pfile, "__GNUC__=%d", major); + cpp_define_formatted (pfile, "__GNUC_MINOR__=%d", minor); + cpp_define_formatted (pfile, "__GNUC_PATCHLEVEL__=%d", patchlevel); + cpp_define_formatted (pfile, "__VERSION__=\"%s\"", version_string); ++ cpp_define_formatted (pfile, "__LINARO_RELEASE__=%d", linaro_release); ++ cpp_define_formatted (pfile, "__LINARO_SPIN__=%d", linaro_spin); + cpp_define_formatted (pfile, "__ATOMIC_RELAXED=%d", MEMMODEL_RELAXED); + cpp_define_formatted (pfile, "__ATOMIC_SEQ_CST=%d", MEMMODEL_SEQ_CST); + cpp_define_formatted (pfile, "__ATOMIC_ACQUIRE=%d", MEMMODEL_ACQUIRE); +Index: b/src/gcc/simplify-rtx.c +=================================================================== +--- a/src/gcc/simplify-rtx.c ++++ b/src/gcc/simplify-rtx.c +@@ -3345,19 +3345,21 @@ simplify_binary_operation_1 (enum rtx_co + && UINTVAL (trueop0) == GET_MODE_MASK (mode) + && ! side_effects_p (op1)) + return op0; ++ ++ canonicalize_shift: + /* Given: + scalar modes M1, M2 + scalar constants c1, c2 + size (M2) > size (M1) + c1 == size (M2) - size (M1) + optimize: +- (ashiftrt:M1 (subreg:M1 (lshiftrt:M2 (reg:M2) (const_int )) ++ ([a|l]shiftrt:M1 (subreg:M1 (lshiftrt:M2 (reg:M2) (const_int )) + ) + (const_int )) + to: +- (subreg:M1 (ashiftrt:M2 (reg:M2) (const_int )) ++ (subreg:M1 ([a|l]shiftrt:M2 (reg:M2) (const_int )) + ). */ +- if (code == ASHIFTRT ++ if ((code == ASHIFTRT || code == LSHIFTRT) + && !VECTOR_MODE_P (mode) + && SUBREG_P (op0) + && CONST_INT_P (op1) +@@ -3374,13 +3376,13 @@ simplify_binary_operation_1 (enum rtx_co + rtx tmp = GEN_INT (INTVAL (XEXP (SUBREG_REG (op0), 1)) + + INTVAL (op1)); + machine_mode inner_mode = GET_MODE (SUBREG_REG (op0)); +- tmp = simplify_gen_binary (ASHIFTRT, ++ tmp = simplify_gen_binary (code, + GET_MODE (SUBREG_REG (op0)), + XEXP (SUBREG_REG (op0), 0), + tmp); + return lowpart_subreg (mode, tmp, inner_mode); + } +- canonicalize_shift: ++ + if (SHIFT_COUNT_TRUNCATED && CONST_INT_P (op1)) + { + val = INTVAL (op1) & (GET_MODE_PRECISION (mode) - 1); +Index: b/src/gcc/testsuite/gcc.c-torture/execute/pr78622.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/execute/pr78622.c ++++ b/src/gcc/testsuite/gcc.c-torture/execute/pr78622.c +@@ -1,6 +1,7 @@ + /* PR middle-end/78622 - [7 Regression] -Wformat-overflow/-fprintf-return-value + incorrect with overflow/wrapping + { dg-skip-if "Requires %hhd format" { hppa*-*-hpux* } { "*" } { "" } } ++ { dg-require-effective-target c99_runtime } + { dg-additional-options "-Wformat-overflow=2" } */ + + __attribute__((noinline, noclone)) int +Index: b/src/gcc/testsuite/gcc.dg/lsr-div1.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.dg/lsr-div1.c +@@ -0,0 +1,57 @@ ++/* Test division by const int generates only one shift. */ ++/* { dg-do run } */ ++/* { dg-options "-O2 -fdump-rtl-combine-all" } */ ++/* { dg-options "-O2 -fdump-rtl-combine-all -mtune=cortex-a53" { target aarch64*-*-* } } */ ++/* { dg-require-effective-target int32plus } */ ++ ++extern void abort (void); ++ ++#define NOINLINE __attribute__((noinline)) ++ ++static NOINLINE int ++f1 (unsigned int n) ++{ ++ return n % 0x33; ++} ++ ++static NOINLINE int ++f2 (unsigned int n) ++{ ++ return n % 0x12; ++} ++ ++int ++main () ++{ ++ int a = 0xaaaaaaaa; ++ int b = 0x55555555; ++ int c; ++ c = f1 (a); ++ if (c != 0x11) ++ abort (); ++ c = f1 (b); ++ if (c != 0x22) ++ abort (); ++ c = f2 (a); ++ if (c != 0xE) ++ abort (); ++ c = f2 (b); ++ if (c != 0x7) ++ abort (); ++ return 0; ++} ++ ++/* Following replacement pattern of intger division by constant, GCC is expected ++ to generate UMULL and (x)SHIFTRT. This test checks that considering division ++ by const 0x33, gcc generates a single LSHIFTRT by 37, instead of ++ two - LSHIFTRT by 32 and LSHIFTRT by 5. */ ++ ++/* { dg-final { scan-rtl-dump "\\(set \\(subreg:DI \\(reg:SI" "combine" { target aarch64*-*-* } } } */ ++/* { dg-final { scan-rtl-dump "\\(lshiftrt:DI \\(reg:DI" "combine" { target aarch64*-*-* } } } */ ++/* { dg-final { scan-rtl-dump "\\(const_int 37 " "combine" { target aarch64*-*-* } } } */ ++ ++/* Similarly, considering division by const 0x12, gcc generates a ++ single LSHIFTRT by 34, instead of two - LSHIFTRT by 32 and LSHIFTRT by 2. */ ++ ++/* { dg-final { scan-rtl-dump "\\(const_int 34 " "combine" { target aarch64*-*-* } } } */ ++ +Index: b/src/gcc/testsuite/gcc.target/arm/fpscr.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/arm/fpscr.c +@@ -0,0 +1,16 @@ ++/* Test the fpscr builtins. */ ++ ++/* { dg-do compile } */ ++/* { dg-require-effective-target arm_fp_ok } */ ++/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */ ++/* { dg-add-options arm_fp } */ ++ ++void ++test_fpscr () ++{ ++ volatile unsigned int status = __builtin_arm_get_fpscr (); ++ __builtin_arm_set_fpscr (status); ++} ++ ++/* { dg-final { scan-assembler "mrc\tp10, 7, r\[0-9\]+, cr1, cr0, 0" } } */ ++/* { dg-final { scan-assembler "mcr\tp10, 7, r\[0-9\]+, cr1, cr0, 0" } } */ --- gcc-7-7.1.0.orig/debian/patches/gcc-multiarch.diff +++ gcc-7-7.1.0/debian/patches/gcc-multiarch.diff @@ -0,0 +1,254 @@ +# DP: - Remaining multiarch patches, not yet submitted upstream. +# DP: - Add MULTIARCH_DIRNAME definitions for multilib configurations, +# DP: which are used for the non-multilib builds. + +2013-06-12 Matthias Klose + + * config/i386/t-linux64: Set MULTIARCH_DIRNAME. + * config/i386/t-kfreebsd: Set MULTIARCH_DIRNAME. + * config.gcc (i[34567]86-*-linux* | x86_64-*-linux*): Prepend + i386/t-linux to $tmake_file; + set default ABI to N64 for mips64el. + * config/mips/t-linux64: Set MULTIARCH_DIRNAME. + * config/rs6000/t-linux64: Set MULTIARCH_DIRNAME. + * config/s390/t-linux64: Set MULTIARCH_DIRNAME. + * config/sparc/t-linux64: Set MULTIARCH_DIRNAME. + * src/gcc/config/mips/mips.h: (/usr)/lib as default path. + +Index: b/src/gcc/config/sh/t-linux +=================================================================== +--- a/src/gcc/config/sh/t-linux ++++ b/src/gcc/config/sh/t-linux +@@ -1,2 +1,10 @@ + MULTILIB_DIRNAMES= + MULTILIB_MATCHES = ++ ++ifneq (,$(findstring sh4,$(target))) ++MULTILIB_OSDIRNAMES = .:sh4-linux-gnu sh4_nofpu-linux-gnu:sh4-linux-gnu ++MULTIARCH_DIRNAME = $(call if_multiarch,sh4-linux-gnu) ++else ++MULTILIB_OSDIRNAMES = .:sh3-linux-gnu sh3_nofpu-linux-gnu:sh3-linux-gnu ++MULTIARCH_DIRNAME = $(call if_multiarch,sh3-linux-gnu) ++endif +Index: b/src/gcc/config/sparc/t-linux64 +=================================================================== +--- a/src/gcc/config/sparc/t-linux64 ++++ b/src/gcc/config/sparc/t-linux64 +@@ -27,3 +27,5 @@ MULTILIB_OPTIONS = m64/m32 + MULTILIB_DIRNAMES = 64 32 + MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu) + MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu) ++ ++MULTIARCH_DIRNAME = $(call if_multiarch,sparc$(if $(findstring 64,$(target)),64)-linux-gnu) +Index: b/src/gcc/config/s390/t-linux64 +=================================================================== +--- a/src/gcc/config/s390/t-linux64 ++++ b/src/gcc/config/s390/t-linux64 +@@ -9,3 +9,5 @@ MULTILIB_OPTIONS = m64/m31 + MULTILIB_DIRNAMES = 64 32 + MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu) + MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu) ++ ++MULTIARCH_DIRNAME = $(call if_multiarch,s390$(if $(findstring s390x,$(target)),x)-linux-gnu) +Index: b/src/gcc/config/rs6000/t-linux64 +=================================================================== +--- a/src/gcc/config/rs6000/t-linux64 ++++ b/src/gcc/config/rs6000/t-linux64 +@@ -31,6 +31,8 @@ MULTILIB_EXTRA_OPTS := + MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu) + MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu) + ++MULTIARCH_DIRNAME = $(call if_multiarch,powerpc$(if $(findstring 64,$(target)),64)-linux-gnu) ++ + rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c + $(COMPILE) $< + $(POSTCOMPILE) +Index: b/src/gcc/config/i386/t-linux64 +=================================================================== +--- a/src/gcc/config/i386/t-linux64 ++++ b/src/gcc/config/i386/t-linux64 +@@ -36,3 +36,13 @@ MULTILIB_DIRNAMES = $(patsubst m%, %, + MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) + MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu) + MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) ++ ++ifneq (,$(findstring x86_64,$(target))) ++ ifneq (,$(findstring biarchx32.h,$(tm_include_list))) ++ MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnux32) ++ else ++ MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnu) ++ endif ++else ++ MULTIARCH_DIRNAME = $(call if_multiarch,i386-linux-gnu) ++endif +Index: b/src/gcc/config/i386/t-kfreebsd +=================================================================== +--- a/src/gcc/config/i386/t-kfreebsd ++++ b/src/gcc/config/i386/t-kfreebsd +@@ -1,5 +1,9 @@ +-MULTIARCH_DIRNAME = $(call if_multiarch,i386-kfreebsd-gnu) ++ifeq (,$(MULTIARCH_DIRNAME)) ++ MULTIARCH_DIRNAME = $(call if_multiarch,i386-kfreebsd-gnu) ++endif + + # MULTILIB_OSDIRNAMES are set in t-linux64. + KFREEBSD_OS = $(filter kfreebsd%, $(word 3, $(subst -, ,$(target)))) + MULTILIB_OSDIRNAMES := $(filter-out mx32=%,$(subst linux,$(KFREEBSD_OS),$(MULTILIB_OSDIRNAMES))) ++ ++MULTIARCH_DIRNAME := $(subst linux,$(KFREEBSD_OS),$(MULTIARCH_DIRNAME)) +Index: b/src/gcc/config/mips/t-linux64 +=================================================================== +--- a/src/gcc/config/mips/t-linux64 ++++ b/src/gcc/config/mips/t-linux64 +@@ -18,9 +18,22 @@ + + MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64 + MULTILIB_DIRNAMES = n32 32 64 ++MIPS_R6 = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),r6) ++MIPS_32 = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),32) ++MIPS_ISA = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),isa) + MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el) + MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft) + MULTILIB_OSDIRNAMES = \ + ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ + ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ + ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++ ++ifneq (,$(findstring abin32,$(target))) ++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) ++else ++ifneq (,$(findstring abi64,$(target))) ++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++else ++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) ++endif ++endif +Index: b/src/gcc/config.gcc +=================================================================== +--- a/src/gcc/config.gcc ++++ b/src/gcc/config.gcc +@@ -2095,6 +2095,11 @@ mips*-*-linux*) # Linux MIPS, either + target_cpu_default=MASK_SOFT_FLOAT_ABI + enable_mips_multilibs="yes" + ;; ++ mipsisa64r6*-*-linux-gnuabi64) ++ default_mips_abi=64 ++ default_mips_arch=mips64r6 ++ enable_mips_multilibs="yes" ++ ;; + mipsisa64r6*-*-linux*) + default_mips_abi=n32 + default_mips_arch=mips64r6 +@@ -2105,6 +2110,10 @@ mips*-*-linux*) # Linux MIPS, either + default_mips_arch=mips64r2 + enable_mips_multilibs="yes" + ;; ++ mips64*-*-linux-gnuabi64 | mipsisa64*-*-linux-gnuabi64) ++ default_mips_abi=64 ++ enable_mips_multilibs="yes" ++ ;; + mips64*-*-linux* | mipsisa64*-*-linux*) + default_mips_abi=n32 + enable_mips_multilibs="yes" +@@ -3060,6 +3069,16 @@ powerpc*-*-* | rs6000-*-*) + tm_file="${tm_file} rs6000/option-defaults.h" + esac + ++# non-glibc systems ++case ${target} in ++*-linux-musl*) ++ tmake_file="${tmake_file} t-musl" ++ ;; ++*-linux-uclibc*) ++ tmake_file="${tmake_file} t-uclibc" ++ ;; ++esac ++ + # Build mkoffload tool + case ${target} in + *-intelmic-* | *-intelmicemul-*) +@@ -4507,7 +4526,7 @@ case ${target} in + i[34567]86-*-darwin* | x86_64-*-darwin*) + ;; + i[34567]86-*-linux* | x86_64-*-linux*) +- tmake_file="$tmake_file i386/t-linux" ++ tmake_file="i386/t-linux $tmake_file" + ;; + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) + tmake_file="$tmake_file i386/t-kfreebsd" +Index: b/src/gcc/config/aarch64/t-aarch64-linux +=================================================================== +--- a/src/gcc/config/aarch64/t-aarch64-linux ++++ b/src/gcc/config/aarch64/t-aarch64-linux +@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm + LIB1ASMFUNCS = _aarch64_sync_cache_range + + AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) +-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) +-MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) ++MULTILIB_OSDIRNAMES = mabi.lp64=../lib$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) ++MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)_ilp32-linux-gnu) + +-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32 ++MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) +Index: b/src/gcc/config/mips/mips.h +=================================================================== +--- a/src/gcc/config/mips/mips.h ++++ b/src/gcc/config/mips/mips.h +@@ -3499,16 +3499,6 @@ struct GTY(()) machine_function { + #define PMODE_INSN(NAME, ARGS) \ + (Pmode == SImode ? NAME ## _si ARGS : NAME ## _di ARGS) + +-/* If we are *not* using multilibs and the default ABI is not ABI_32 we +- need to change these from /lib and /usr/lib. */ +-#if MIPS_ABI_DEFAULT == ABI_N32 +-#define STANDARD_STARTFILE_PREFIX_1 "/lib32/" +-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib32/" +-#elif MIPS_ABI_DEFAULT == ABI_64 +-#define STANDARD_STARTFILE_PREFIX_1 "/lib64/" +-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib64/" +-#endif +- + /* Load store bonding is not supported by micromips and fix_24k. The + performance can be degraded for those targets. Hence, do not bond for + micromips or fix_24k. */ +Index: b/src/gcc/config/tilegx/t-tilegx +=================================================================== +--- a/src/gcc/config/tilegx/t-tilegx ++++ b/src/gcc/config/tilegx/t-tilegx +@@ -1,6 +1,7 @@ + MULTILIB_OPTIONS = m64/m32 + MULTILIB_DIRNAMES = 64 32 +-MULTILIB_OSDIRNAMES = ../lib ../lib32 ++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:tilegx-linux-gnu) ../lib32$(call if_multiarch,:tilegx32-linux-gnu) ++MULTIARCH_DIRNAME = $(call if_multiarch,tilegx-linux-gnu) + + LIBGCC = stmp-multilib + INSTALL_LIBGCC = install-multilib +Index: b/src/gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -521,7 +521,7 @@ SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER + STMP_FIXINC = @STMP_FIXINC@ + + # Test to see whether exists in the system header files. +-LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ] ++LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h -o -f $(SYSTEM_HEADER_DIR)/$(MULTIARCH_DIRNAME)/limits.h ] + + # Directory for prefix to system directories, for + # each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc. +Index: b/src/gcc/config/t-musl +=================================================================== +--- /dev/null ++++ b/src/gcc/config/t-musl +@@ -0,0 +1,2 @@ ++MULTIARCH_DIRNAME := $(subst -linux-gnu,-linux-musl,$(MULTIARCH_DIRNAME)) ++MULTILIB_OSDIRNAMES := $(subst -linux-gnu,-linux-musl,$(MULTILIB_OSDIRNAMES)) +Index: b/src/gcc/config/t-uclibc +=================================================================== +--- /dev/null ++++ b/src/gcc/config/t-uclibc +@@ -0,0 +1,2 @@ ++MULTIARCH_DIRNAME := $(subst -linux-gnu,-linux-uclibc,$(MULTIARCH_DIRNAME)) ++MULTILIB_OSDIRNAMES := $(subst -linux-gnu,-linux-uclibc,$(MULTILIB_OSDIRNAMES)) --- gcc-7-7.1.0.orig/debian/patches/gcc-multilib-multiarch.diff +++ gcc-7-7.1.0/debian/patches/gcc-multilib-multiarch.diff @@ -0,0 +1,126 @@ +# DP: Don't auto-detect multilib osdirnames. + +Index: b/src/gcc/config/sparc/t-linux64 +=================================================================== +--- a/src/gcc/config/sparc/t-linux64 ++++ b/src/gcc/config/sparc/t-linux64 +@@ -25,7 +25,12 @@ + + MULTILIB_OPTIONS = m64/m32 + MULTILIB_DIRNAMES = 64 32 ++ifneq (,$(findstring sparc64,$(target))) ++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:sparc64-linux-gnu) ++MULTILIB_OSDIRNAMES += ../lib32$(call if_multiarch,:sparc-linux-gnu) ++else + MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu) +-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu) ++MULTILIB_OSDIRNAMES += ../lib$(call if_multiarch,:sparc-linux-gnu) ++endif + + MULTIARCH_DIRNAME = $(call if_multiarch,sparc$(if $(findstring 64,$(target)),64)-linux-gnu) +Index: b/src/gcc/config/s390/t-linux64 +=================================================================== +--- a/src/gcc/config/s390/t-linux64 ++++ b/src/gcc/config/s390/t-linux64 +@@ -7,7 +7,12 @@ + + MULTILIB_OPTIONS = m64/m31 + MULTILIB_DIRNAMES = 64 32 ++ifneq (,$(findstring s390x,$(target))) ++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:s390x-linux-gnu) ++MULTILIB_OSDIRNAMES += ../lib32$(call if_multiarch,:s390-linux-gnu) ++else + MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu) +-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu) ++MULTILIB_OSDIRNAMES += ../lib$(call if_multiarch,:s390-linux-gnu) ++endif + + MULTIARCH_DIRNAME = $(call if_multiarch,s390$(if $(findstring s390x,$(target)),x)-linux-gnu) +Index: b/src/gcc/config/rs6000/t-linux64 +=================================================================== +--- a/src/gcc/config/rs6000/t-linux64 ++++ b/src/gcc/config/rs6000/t-linux64 +@@ -28,8 +28,13 @@ + MULTILIB_OPTIONS := m64/m32 + MULTILIB_DIRNAMES := 64 32 + MULTILIB_EXTRA_OPTS := ++ifneq (,$(findstring powerpc64,$(target))) ++MULTILIB_OSDIRNAMES := m64=../lib$(call if_multiarch,:powerpc64-linux-gnu) ++MULTILIB_OSDIRNAMES += m32=../lib32$(call if_multiarch,:powerpc-linux-gnu) ++else + MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu) +-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu) ++MULTILIB_OSDIRNAMES += m32=../lib$(call if_multiarch,:powerpc-linux-gnu) ++endif + + MULTIARCH_DIRNAME = $(call if_multiarch,powerpc$(if $(findstring 64,$(target)),64)-linux-gnu) + +Index: b/src/gcc/config/i386/t-linux64 +=================================================================== +--- a/src/gcc/config/i386/t-linux64 ++++ b/src/gcc/config/i386/t-linux64 +@@ -33,9 +33,19 @@ + comma=, + MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) + MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) ++ifneq (,$(findstring gnux32,$(target))) + MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) +-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu) ++MULTILIB_OSDIRNAMES+= m32=../lib32$(call if_multiarch,:i386-linux-gnu) ++MULTILIB_OSDIRNAMES+= mx32=../lib$(call if_multiarch,:x86_64-linux-gnux32) ++else ifneq (,$(findstring x86_64,$(target))) ++MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu) ++MULTILIB_OSDIRNAMES+= m32=../lib32$(call if_multiarch,:i386-linux-gnu) + MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) ++else ++MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) ++MULTILIB_OSDIRNAMES+= m32=../lib$(call if_multiarch,:i386-linux-gnu) ++MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) ++endif + + ifneq (,$(findstring x86_64,$(target))) + ifneq (,$(findstring biarchx32.h,$(tm_include_list))) +Index: b/src/gcc/config/mips/t-linux64 +=================================================================== +--- a/src/gcc/config/mips/t-linux64 ++++ b/src/gcc/config/mips/t-linux64 +@@ -23,10 +23,23 @@ MIPS_32 = $(if $(findstring r6, $(firstw + MIPS_ISA = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),isa) + MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el) + MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft) ++ ++ifneq (,$(findstring gnuabi64,$(target))) ++MULTILIB_OSDIRNAMES = \ ++ ../lib32$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ ++ ../libo32$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ ++ ../lib$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++else ifneq (,$(findstring gnuabin32,$(target))) ++MULTILIB_OSDIRNAMES = \ ++ ../lib$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ ++ ../libo32$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ ++ ../lib64$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++else + MULTILIB_OSDIRNAMES = \ +- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ +- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ +- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++ ../lib32$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ ++ ../lib$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ ++ ../lib64$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++endif + + ifneq (,$(findstring abin32,$(target))) + MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) +Index: b/src/gcc/config/rs6000/t-linux +=================================================================== +--- a/src/gcc/config/rs6000/t-linux ++++ b/src/gcc/config/rs6000/t-linux +@@ -2,7 +2,7 @@ + # or soft-float. + ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float))) + ifneq (,$(findstring powerpc64,$(target))) +-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu) ++MULTILIB_OSDIRNAMES := .=../lib$(call if_multiarch,:powerpc64-linux-gnu) + else + ifneq (,$(findstring spe,$(target))) + MULTIARCH_DIRNAME := powerpc-linux-gnuspe$(if $(findstring 8548,$(with_cpu)),,v1) --- gcc-7-7.1.0.orig/debian/patches/gcc-target-include-asm.diff +++ gcc-7-7.1.0/debian/patches/gcc-target-include-asm.diff @@ -0,0 +1,15 @@ +# DP: Search $(builddir)/sys-include for the asm header files + +Index: b/src/configure.ac +=================================================================== +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -3156,7 +3156,7 @@ fi + # being built; programs in there won't even run. + if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then + # Search for pre-installed headers if nothing else fits. +- FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include' ++ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include -isystem $(CURDIR)/sys-include' + fi + + if test "x${use_gnu_ld}" = x && --- gcc-7-7.1.0.orig/debian/patches/gcc-textdomain.diff +++ gcc-7-7.1.0/debian/patches/gcc-textdomain.diff @@ -0,0 +1,96 @@ +# DP: Set gettext's domain and textdomain to the versioned package name. + +Index: b/src/gcc/intl.c +=================================================================== +--- a/src/gcc/intl.c ++++ b/src/gcc/intl.c +@@ -55,8 +55,8 @@ gcc_init_libintl (void) + setlocale (LC_ALL, ""); + #endif + +- (void) bindtextdomain ("gcc", LOCALEDIR); +- (void) textdomain ("gcc"); ++ (void) bindtextdomain ("gcc-7", LOCALEDIR); ++ (void) textdomain ("gcc-7"); + + /* Opening quotation mark. */ + open_quote = _("`"); +Index: b/src/gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -4116,8 +4116,8 @@ install-po: + dir=$(localedir)/$$lang/LC_MESSAGES; \ + echo $(mkinstalldirs) $(DESTDIR)$$dir; \ + $(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \ +- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \ +- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \ ++ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-7.mo; \ ++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-7.mo; \ + done + + # Rule for regenerating the message template (gcc.pot). +Index: b/src/libcpp/init.c +=================================================================== +--- a/src/libcpp/init.c ++++ b/src/libcpp/init.c +@@ -155,7 +155,7 @@ init_library (void) + init_trigraph_map (); + + #ifdef ENABLE_NLS +- (void) bindtextdomain (PACKAGE, LOCALEDIR); ++ (void) bindtextdomain (PACKAGE PACKAGE_SUFFIX, LOCALEDIR); + #endif + } + } +Index: b/src/libcpp/system.h +=================================================================== +--- a/src/libcpp/system.h ++++ b/src/libcpp/system.h +@@ -280,7 +280,7 @@ extern int errno; + #endif + + #ifndef _ +-# define _(msgid) dgettext (PACKAGE, msgid) ++# define _(msgid) dgettext (PACKAGE PACKAGE_SUFFIX, msgid) + #endif + + #ifndef N_ +Index: b/src/libcpp/Makefile.in +=================================================================== +--- a/src/libcpp/Makefile.in ++++ b/src/libcpp/Makefile.in +@@ -49,6 +49,7 @@ LDFLAGS = @LDFLAGS@ + LIBICONV = @LIBICONV@ + LIBINTL = @LIBINTL@ + PACKAGE = @PACKAGE@ ++PACKAGE_SUFFIX = -7 + RANLIB = @RANLIB@ + SHELL = @SHELL@ + USED_CATALOGS = @USED_CATALOGS@ +@@ -72,10 +73,12 @@ depcomp = $(SHELL) $(srcdir)/../depcomp + + INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \ + -I$(srcdir)/include ++DEBCPPFLAGS += -DPACKAGE_SUFFIX=\"$(strip $(PACKAGE_SUFFIX))\" + +-ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS) $(PICFLAG) ++ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS) $(PICFLAG) \ ++ $(DEBCPPFLAGS) + ALL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(NOEXCEPTION_FLAGS) $(INCLUDES) \ +- $(CPPFLAGS) $(PICFLAG) ++ $(CPPFLAGS) $(PICFLAG) $(DEBCPPFLAGS) + + # The name of the compiler to use. + COMPILER = $(CXX) +@@ -164,8 +167,8 @@ install-strip install: all installdirs + else continue; \ + fi; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ +- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ +- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ ++ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \ ++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \ + done + + mostlyclean: --- gcc-7-7.1.0.orig/debian/patches/gdc-7-doc.diff +++ gcc-7-7.1.0/debian/patches/gdc-7-doc.diff @@ -0,0 +1,106 @@ +# DP: This implements D language support in the GCC back end, and adds +# DP: relevant documentation about the GDC front end (documentation part). + +Index: b/src/gcc/doc/frontends.texi +=================================================================== +--- a/src/gcc/doc/frontends.texi ++++ b/src/gcc/doc/frontends.texi +@@ -9,6 +9,7 @@ + @cindex GNU Compiler Collection + @cindex GNU C Compiler + @cindex Ada ++@cindex D + @cindex Fortran + @cindex Go + @cindex Objective-C +@@ -16,7 +17,7 @@ + GCC stands for ``GNU Compiler Collection''. GCC is an integrated + distribution of compilers for several major programming languages. These + languages currently include C, C++, Objective-C, Objective-C++, +-Fortran, Ada, Go, and BRIG (HSAIL). ++Fortran, Ada, Go, D, and BRIG (HSAIL). + + The abbreviation @dfn{GCC} has multiple meanings in common use. The + current official meaning is ``GNU Compiler Collection'', which refers +Index: b/src/gcc/doc/install.texi +=================================================================== +--- a/src/gcc/doc/install.texi ++++ b/src/gcc/doc/install.texi +@@ -1617,12 +1617,12 @@ their runtime libraries should be built. + grep ^language= */config-lang.in + @end smallexample + Currently, you can use any of the following: +-@code{all}, @code{ada}, @code{c}, @code{c++}, @code{fortran}, ++@code{all}, @code{ada}, @code{c}, @code{c++}, @code{d}, @code{fortran}, + @code{go}, @code{jit}, @code{lto}, @code{objc}, @code{obj-c++}. + Building the Ada compiler has special requirements, see below. + If you do not pass this flag, or specify the option @code{all}, then all + default languages available in the @file{gcc} sub-tree will be configured. +-Ada, Go, Jit, and Objective-C++ are not default languages. LTO is not a ++Ada, D, Go, Jit, and Objective-C++ are not default languages. LTO is not a + default language, but is built by default because @option{--enable-lto} is + enabled by default. The other languages are default languages. + +Index: b/src/gcc/doc/invoke.texi +=================================================================== +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -1349,6 +1349,15 @@ called @dfn{specs}. + Ada source code file containing a library unit body (a subprogram or + package body). Such files are also called @dfn{bodies}. + ++@item @var{file}.d ++D source code file. ++ ++@item @var{file}.di ++D interface code file. ++ ++@item @var{file}.dd ++D documentation code file. ++ + @c GCC also knows about some suffixes for languages not yet included: + @c Pascal: + @c @var{file}.p +@@ -1384,6 +1393,7 @@ objective-c objective-c-header objecti + objective-c++ objective-c++-header objective-c++-cpp-output + assembler assembler-with-cpp + ada ++d + f77 f77-cpp-input f95 f95-cpp-input + go + brig +Index: b/src/gcc/doc/sourcebuild.texi +=================================================================== +--- a/src/gcc/doc/sourcebuild.texi ++++ b/src/gcc/doc/sourcebuild.texi +@@ -106,6 +106,9 @@ The Objective-C and Objective-C++ runtim + @item libquadmath + The runtime support library for quad-precision math operations. + ++@item libphobos ++The D standard runtime library. ++ + @item libssp + The Stack protector runtime library. + +Index: b/src/gcc/doc/standards.texi +=================================================================== +--- a/src/gcc/doc/standards.texi ++++ b/src/gcc/doc/standards.texi +@@ -309,6 +309,16 @@ capability is typically utilized to impl + finalization extension for a gcc supported processor. HSA standards are + freely available at @uref{http://www.hsafoundation.com/standards/}. + ++@section D language ++ ++The D language is under development as of this writing; see the ++@uref{http://dlang.org/@/language-reference.html, current language ++reference}. At present the current major version of D is 2.0, and ++there is no way to describe the language supported by GCC in terms of ++a specific minor version. In general GCC follows the D frontend ++releases closely, and any given GCC release will support the current ++language as of the date that the release was frozen. ++ + @section References for Other Languages + + @xref{Top, GNAT Reference Manual, About This Guide, gnat_rm, --- gcc-7-7.1.0.orig/debian/patches/gdc-7.diff +++ gcc-7-7.1.0/debian/patches/gdc-7.diff @@ -0,0 +1,139 @@ +# DP: This implements D language support in the GCC back end, and adds +# DP: relevant documentation about the GDC front end (code part). + +Index: b/src/gcc/config/darwin.h +=================================================================== +--- a/src/gcc/config/darwin.h ++++ b/src/gcc/config/darwin.h +@@ -49,6 +49,10 @@ see the files COPYING3 and COPYING.RUNTI + /* Suppress g++ attempt to link in the math library automatically. */ + #define MATH_LIBRARY "" + ++/* Suppress gdc attempt to link in the thread and time library automatically. */ ++#define THREAD_LIBRARY "" ++#define TIME_LIBRARY "" ++ + /* We have atexit. */ + + #define HAVE_ATEXIT +Index: b/src/gcc/config/i386/cygming.h +=================================================================== +--- a/src/gcc/config/i386/cygming.h ++++ b/src/gcc/config/i386/cygming.h +@@ -181,6 +181,10 @@ along with GCC; see the file COPYING3. + + #undef MATH_LIBRARY + #define MATH_LIBRARY "" ++#undef THREAD_LIBRARY ++#define THREAD_LIBRARY "" ++#undef TIME_LIBRARY ++#define TIME_LIBRARY "" + + #undef TARGET_LIBC_HAS_FUNCTION + #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function +Index: b/src/gcc/config/linux-android.h +=================================================================== +--- a/src/gcc/config/linux-android.h ++++ b/src/gcc/config/linux-android.h +@@ -57,3 +57,9 @@ + + #define ANDROID_ENDFILE_SPEC \ + "%{shared: crtend_so%O%s;: crtend_android%O%s}" ++ ++/* Suppress gdc attempt to link in the thread and time library automatically. */ ++#if ANDROID_DEFAULT ++# define THREAD_LIBRARY "" ++# define TIME_LIBRARY "" ++#endif +Index: b/src/gcc/config/rs6000/rs6000.c +=================================================================== +--- a/src/gcc/config/rs6000/rs6000.c ++++ b/src/gcc/config/rs6000/rs6000.c +@@ -31548,7 +31548,8 @@ rs6000_output_function_epilogue (FILE *f + if (lang_GNU_C () + || ! strcmp (language_string, "GNU GIMPLE") + || ! strcmp (language_string, "GNU Go") +- || ! strcmp (language_string, "libgccjit")) ++ || ! strcmp (language_string, "libgccjit") ++ || ! strcmp (language_string, "GNU D")) + i = 0; + else if (! strcmp (language_string, "GNU F77") + || lang_GNU_Fortran ()) +Index: b/src/gcc/dwarf2out.c +=================================================================== +--- a/src/gcc/dwarf2out.c ++++ b/src/gcc/dwarf2out.c +@@ -5079,6 +5079,16 @@ is_ada (void) + return lang == DW_LANG_Ada95 || lang == DW_LANG_Ada83; + } + ++/* Return TRUE if the language is D. */ ++ ++static inline bool ++is_dlang (void) ++{ ++ unsigned int lang = get_AT_unsigned (comp_unit_die (), DW_AT_language); ++ ++ return lang == DW_LANG_D; ++} ++ + /* Remove the specified attribute if present. Return TRUE if removal + was successful. */ + +@@ -23594,6 +23604,8 @@ gen_compile_unit_die (const char *filena + language = DW_LANG_ObjC; + else if (strcmp (language_string, "GNU Objective-C++") == 0) + language = DW_LANG_ObjC_plus_plus; ++ else if (strcmp (language_string, "GNU D") == 0) ++ language = DW_LANG_D; + else if (dwarf_version >= 5 || !dwarf_strict) + { + if (strcmp (language_string, "GNU Go") == 0) +@@ -25158,7 +25170,7 @@ declare_in_namespace (tree thing, dw_die + + if (ns_context != context_die) + { +- if (is_fortran ()) ++ if (is_fortran () || is_dlang ()) + return ns_context; + if (DECL_P (thing)) + gen_decl_die (thing, NULL, NULL, ns_context); +@@ -25181,7 +25193,7 @@ gen_namespace_die (tree decl, dw_die_ref + { + /* Output a real namespace or module. */ + context_die = setup_namespace_context (decl, comp_unit_die ()); +- namespace_die = new_die (is_fortran () ++ namespace_die = new_die (is_fortran () || is_dlang () + ? DW_TAG_module : DW_TAG_namespace, + context_die, decl); + /* For Fortran modules defined in different CU don't add src coords. */ +@@ -25248,7 +25260,7 @@ gen_decl_die (tree decl, tree origin, st + break; + + case CONST_DECL: +- if (!is_fortran () && !is_ada ()) ++ if (!is_fortran () && !is_ada () && !is_dlang ()) + { + /* The individual enumerators of an enum type get output when we output + the Dwarf representation of the relevant enum type itself. */ +@@ -25795,7 +25807,7 @@ dwarf2out_decl (tree decl) + case CONST_DECL: + if (debug_info_level <= DINFO_LEVEL_TERSE) + return; +- if (!is_fortran () && !is_ada ()) ++ if (!is_fortran () && !is_ada () && !is_dlang ()) + return; + if (TREE_STATIC (decl) && decl_function_context (decl)) + context_die = lookup_decl_die (DECL_CONTEXT (decl)); +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -1307,6 +1307,7 @@ static const struct compiler default_com + {".java", "#Java", 0, 0, 0}, {".class", "#Java", 0, 0, 0}, + {".zip", "#Java", 0, 0, 0}, {".jar", "#Java", 0, 0, 0}, + {".go", "#Go", 0, 1, 0}, ++ {".d", "#D", 0, 1, 0}, {".dd", "#D", 0, 1, 0}, {".di", "#D", 0, 1, 0}, + /* Next come the entries for C. */ + {".c", "@c", 0, 0, 1}, + {"@c", --- gcc-7-7.1.0.orig/debian/patches/gdc-cross-biarch.diff +++ gcc-7-7.1.0/debian/patches/gdc-cross-biarch.diff @@ -0,0 +1,13 @@ +# DP: Fix the location of target's libs in cross-build for biarch + +--- a/src/config-ml.in ++++ b/src/config-ml.in +@@ -891,6 +915,8 @@ + case $arg in + -[BIL]"${ML_POPDIR}"/*) + GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ -B*/lib/) ++ GDC_="${GDC_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) --- gcc-7-7.1.0.orig/debian/patches/gdc-cross-install-location.diff +++ gcc-7-7.1.0/debian/patches/gdc-cross-install-location.diff @@ -0,0 +1,28 @@ +Index: b/src/libphobos/configure.ac +=================================================================== +--- a/src/libphobos/configure.ac ++++ b/src/libphobos/configure.ac +@@ -118,6 +118,8 @@ + AC_SUBST([DRUNTIME_SOVERSION]) + AC_SUBST([PHOBOS_SOVERSION]) + ++# trigger rebuild of the configure file ++ + # Set default flags (after DRUNTIME_WERROR!) + if test -z "$DFLAGS"; then + DFLAGS="-Wall $WERROR_FLAG -g -frelease -O2" +Index: b/src/libphobos/m4/druntime.m4 +=================================================================== +--- a/src/libphobos/m4/druntime.m4 ++++ b/src/libphobos/m4/druntime.m4 +@@ -78,7 +78,7 @@ AC_DEFUN([DRUNTIME_INSTALL_DIRECTORIES], + AC_SUBST(toolexeclibdir) + + # Default case for install directory for D sources files. +- gdc_include_dir='${libdir}/gcc/${target_alias}'/${d_gcc_ver}/include/d ++ gdc_include_dir='${libdir}/gcc-cross/${target_alias}'/${d_gcc_ver}/include/d + AC_SUBST(gdc_include_dir) + ]) + +--- gcc/src/libphobos/configure.ac~ 2017-05-03 13:31:07.175437754 +0200 ++++ gcc/src/libphobos/configure.ac 2017-05-03 13:33:19.905663189 +0200 --- gcc-7-7.1.0.orig/debian/patches/gdc-driver-nophobos.diff +++ gcc-7-7.1.0/debian/patches/gdc-driver-nophobos.diff @@ -0,0 +1,28 @@ +# DP: Modify gdc driver to have no libphobos by default. + +Index: b/src/gcc/d/d-lang.cc +=================================================================== +--- a/src/gcc/d/d-lang.cc ++++ b/src/gcc/d/d-lang.cc +@@ -198,7 +198,7 @@ static void + d_init_options_struct(gcc_options *opts) + { + // GCC options +- opts->x_flag_exceptions = 1; ++ opts->x_flag_exceptions = 0; + + // Avoid range issues for complex multiply and divide. + opts->x_flag_complex_method = 2; +Index: b/src/gcc/d/d-spec.c +=================================================================== +--- a/src/gcc/d/d-spec.c ++++ b/src/gcc/d/d-spec.c +@@ -62,7 +62,7 @@ static int library = 0; + + /* If true, use the standard D runtime library when linking with + standard libraries. */ +-static bool need_phobos = true; ++static bool need_phobos = false; + + void + lang_specific_driver (cl_decoded_option **in_decoded_options, --- gcc-7-7.1.0.orig/debian/patches/gdc-frontend-posix.diff +++ gcc-7-7.1.0/debian/patches/gdc-frontend-posix.diff @@ -0,0 +1,15 @@ +# DP: Fix build of the D frontend on the Hurd and KFreeBSD. + +Index: b/src/gcc/d/dfrontend/object.h +=================================================================== +--- a/src/gcc/d/dfrontend/object.h ++++ b/src/gcc/d/dfrontend/object.h +@@ -10,7 +10,7 @@ + #ifndef OBJECT_H + #define OBJECT_H + +-#define POSIX (__linux__ || __APPLE__ || __FreeBSD__ || __OpenBSD__ || __sun) ++#define POSIX (__linux__ || __GLIBC__ || __gnu_hurd__ || __APPLE__ || __FreeBSD__ || __OpenBSD__ || __sun) + + #if __DMC__ + #pragma once --- gcc-7-7.1.0.orig/debian/patches/gdc-libphobos-build.diff +++ gcc-7-7.1.0/debian/patches/gdc-libphobos-build.diff @@ -0,0 +1,950 @@ +# DP: This implements building of libphobos library in GCC. + +# Please read ada-changes-in-autogen-output.diff about src/Makefile.[def|tpl]. + +Index: b/src/Makefile.def +=================================================================== +--- a/src/Makefile.def ++++ b/src/Makefile.def +@@ -167,6 +167,7 @@ target_modules = { module= libgfortran; + target_modules = { module= libobjc; }; + target_modules = { module= libgo; }; + target_modules = { module= libhsail-rt; }; ++target_modules = { module= libphobos; }; + target_modules = { module= libtermcap; no_check=true; + missing=mostlyclean; + missing=clean; +@@ -312,6 +313,7 @@ flags_to_pass = { flag= FLAGS_FOR_TARGET + flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; }; + flags_to_pass = { flag= GOC_FOR_TARGET ; }; + flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; }; ++flags_to_pass = { flag= GDC_FOR_TARGET ; }; + flags_to_pass = { flag= LD_FOR_TARGET ; }; + flags_to_pass = { flag= LIPO_FOR_TARGET ; }; + flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; }; +@@ -583,6 +585,8 @@ dependencies = { module=configure-target + dependencies = { module=all-target-libgo; on=all-target-libbacktrace; }; + dependencies = { module=all-target-libgo; on=all-target-libffi; }; + dependencies = { module=all-target-libgo; on=all-target-libatomic; }; ++dependencies = { module=configure-target-libphobos; on=configure-target-zlib; }; ++dependencies = { module=all-target-libphobos; on=all-target-zlib; }; + dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; }; + dependencies = { module=configure-target-liboffloadmic; on=configure-target-libgomp; }; + dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; }; +@@ -637,6 +641,8 @@ languages = { language=go; gcc-check-tar + lib-check-target=check-target-libgo; }; + languages = { language=brig; gcc-check-target=check-brig; + lib-check-target=check-target-libhsail-rt; }; ++languages = { language=d; gcc-check-target=check-d; ++ lib-check-target=check-target-libphobos; }; + + // Toplevel bootstrap + bootstrap_stage = { id=1 ; }; +Index: b/src/Makefile.tpl +=================================================================== +--- a/src/Makefile.tpl ++++ b/src/Makefile.tpl +@@ -159,6 +159,7 @@ BUILD_EXPORTS = \ + GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ + GOC="$(GOC_FOR_BUILD)"; export GOC; \ + GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \ ++ GDC="$(GDC_FOR_BUILD)"; export GDC; \ + DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \ + LD="$(LD_FOR_BUILD)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \ +@@ -195,6 +196,7 @@ HOST_EXPORTS = \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \ + GOC="$(GOC)"; export GOC; \ ++ GDC="$(GDC)"; export GDC; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ +@@ -281,6 +283,7 @@ BASE_TARGET_EXPORTS = \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \ + GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \ ++ GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ +@@ -345,6 +348,7 @@ CXX_FOR_BUILD = @CXX_FOR_BUILD@ + DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@ + GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@ + GOC_FOR_BUILD = @GOC_FOR_BUILD@ ++GDC_FOR_BUILD = @GDC_FOR_BUILD@ + LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ + LD_FOR_BUILD = @LD_FOR_BUILD@ + NM_FOR_BUILD = @NM_FOR_BUILD@ +@@ -484,6 +488,7 @@ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_ + RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ + GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ + GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@ ++GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@ + DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@ + LD_FOR_TARGET=@LD_FOR_TARGET@ + +@@ -609,6 +614,7 @@ EXTRA_HOST_FLAGS = \ + 'DLLTOOL=$(DLLTOOL)' \ + 'GFORTRAN=$(GFORTRAN)' \ + 'GOC=$(GOC)' \ ++ 'GDC=$(GDC)' \ + 'LD=$(LD)' \ + 'LIPO=$(LIPO)' \ + 'NM=$(NM)' \ +@@ -665,6 +671,7 @@ EXTRA_TARGET_FLAGS = \ + 'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ + 'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ + 'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \ ++ 'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ + 'LD=$(COMPILER_LD_FOR_TARGET)' \ + 'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \ + 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \ +Index: b/src/config-ml.in +=================================================================== +--- a/src/config-ml.in ++++ b/src/config-ml.in +@@ -512,6 +512,7 @@ multi-do: + prefix="$(prefix)" \ + exec_prefix="$(exec_prefix)" \ + GOCFLAGS="$(GOCFLAGS) $${flags}" \ ++ GDCFLAGS="$(GDCFLAGS) $${flags}" \ + CXXFLAGS="$(CXXFLAGS) $${flags}" \ + LIBCFLAGS="$(LIBCFLAGS) $${flags}" \ + LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \ +@@ -746,6 +747,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + fi + done + ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags"' ++ ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags" GDC="${GDC_}$flags"' + + if [ "${with_target_subdir}" = "." ]; then + CC_=$CC' ' +@@ -753,6 +755,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + F77_=$F77' ' + GFORTRAN_=$GFORTRAN' ' + GOC_=$GOC' ' ++ GDC_=$GDC' ' + else + # Create a regular expression that matches any string as long + # as ML_POPDIR. +@@ -817,6 +820,18 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + esac + done + ++ GDC_= ++ for arg in ${GDC}; do ++ case $arg in ++ -[BIL]"${ML_POPDIR}"/*) ++ GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ "${ML_POPDIR}"/*) ++ GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ *) ++ GDC_="${GDC_}${arg} " ;; ++ esac ++ done ++ + if test "x${LD_LIBRARY_PATH+set}" = xset; then + LD_LIBRARY_PATH_= + for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do +Index: b/src/config/multi.m4 +=================================================================== +--- a/src/config/multi.m4 ++++ b/src/config/multi.m4 +@@ -64,4 +64,5 @@ multi_basedir="$multi_basedir" + CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + CC="$CC" + CXX="$CXX" +-GFORTRAN="$GFORTRAN"])])dnl ++GFORTRAN="$GFORTRAN" ++GDC="$GDC"])])dnl +Index: b/src/configure.ac +=================================================================== +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -173,7 +173,9 @@ target_libraries="target-libgcc \ + target-libada-sjlj \ + ${target_libiberty} \ + target-libgnatvsn \ +- target-libgo" ++ target-libgo \ ++ target-zlib \ ++ target-libphobos" + + # these tools are built using the target libraries, and are intended to + # run only in the target environment +@@ -1283,6 +1285,7 @@ if test "${build}" != "${host}" ; then + CXX_FOR_BUILD=${CXX_FOR_BUILD-g++} + GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran} + GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo} ++ GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc} + DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool} + LD_FOR_BUILD=${LD_FOR_BUILD-ld} + NM_FOR_BUILD=${NM_FOR_BUILD-nm} +@@ -1296,6 +1299,7 @@ else + CXX_FOR_BUILD="\$(CXX)" + GFORTRAN_FOR_BUILD="\$(GFORTRAN)" + GOC_FOR_BUILD="\$(GOC)" ++ GDC_FOR_BUILD="\$(GDC)" + DLLTOOL_FOR_BUILD="\$(DLLTOOL)" + LD_FOR_BUILD="\$(LD)" + NM_FOR_BUILD="\$(NM)" +@@ -3225,6 +3229,7 @@ AC_SUBST(CXX_FOR_BUILD) + AC_SUBST(DLLTOOL_FOR_BUILD) + AC_SUBST(GFORTRAN_FOR_BUILD) + AC_SUBST(GOC_FOR_BUILD) ++AC_SUBST(GDC_FOR_BUILD) + AC_SUBST(LDFLAGS_FOR_BUILD) + AC_SUBST(LD_FOR_BUILD) + AC_SUBST(NM_FOR_BUILD) +@@ -3334,6 +3339,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TA + NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET}) + NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran) + NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo) ++NCN_STRICT_CHECK_TARGET_TOOLS(GDC_FOR_TARGET, gdc) + + ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar) + ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as) +@@ -3367,6 +3373,8 @@ GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_T + [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran) + GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC, + [gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go) ++GCC_TARGET_TOOL(gdc, GDC_FOR_TARGET, GDC, ++ [gcc/gdc -B$$r/$(HOST_SUBDIR)/gcc/], d) + GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new]) + GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO) + GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new]) +Index: b/src/Makefile.in +=================================================================== +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -156,6 +156,7 @@ BUILD_EXPORTS = \ + GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ + GOC="$(GOC_FOR_BUILD)"; export GOC; \ + GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \ ++ GDC="$(GDC_FOR_BUILD)"; export GDC; \ + DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \ + LD="$(LD_FOR_BUILD)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \ +@@ -192,6 +193,7 @@ HOST_EXPORTS = \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \ + GOC="$(GOC)"; export GOC; \ ++ GDC="$(GDC)"; export GDC; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ +@@ -278,6 +280,7 @@ BASE_TARGET_EXPORTS = \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \ + GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \ ++ GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ +@@ -342,6 +345,7 @@ CXX_FOR_BUILD = @CXX_FOR_BUILD@ + DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@ + GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@ + GOC_FOR_BUILD = @GOC_FOR_BUILD@ ++GDC_FOR_BUILD = @GDC_FOR_BUILD@ + LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ + LD_FOR_BUILD = @LD_FOR_BUILD@ + NM_FOR_BUILD = @NM_FOR_BUILD@ +@@ -551,6 +555,7 @@ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_ + RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ + GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ + GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@ ++GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@ + DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@ + LD_FOR_TARGET=@LD_FOR_TARGET@ + +@@ -774,6 +779,7 @@ BASE_FLAGS_TO_PASS = \ + "GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \ + "GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \ + "GOCFLAGS_FOR_TARGET=$(GOCFLAGS_FOR_TARGET)" \ ++ "GDC_FOR_TARGET=$(GDC_FOR_TARGET)" \ + "LD_FOR_TARGET=$(LD_FOR_TARGET)" \ + "LIPO_FOR_TARGET=$(LIPO_FOR_TARGET)" \ + "LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \ +@@ -833,6 +839,7 @@ EXTRA_HOST_FLAGS = \ + 'DLLTOOL=$(DLLTOOL)' \ + 'GFORTRAN=$(GFORTRAN)' \ + 'GOC=$(GOC)' \ ++ 'GDC=$(GDC)' \ + 'LD=$(LD)' \ + 'LIPO=$(LIPO)' \ + 'NM=$(NM)' \ +@@ -889,6 +896,7 @@ EXTRA_TARGET_FLAGS = \ + 'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ + 'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ + 'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \ ++ 'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ + 'LD=$(COMPILER_LD_FOR_TARGET)' \ + 'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \ + 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \ +@@ -992,6 +1000,7 @@ configure-target: \ + maybe-configure-target-libobjc \ + maybe-configure-target-libgo \ + maybe-configure-target-libhsail-rt \ ++ maybe-configure-target-libphobos \ + maybe-configure-target-libtermcap \ + maybe-configure-target-winsup \ + maybe-configure-target-libgloss \ +@@ -1158,6 +1167,7 @@ all-target: maybe-all-target-libgfortran + all-target: maybe-all-target-libobjc + all-target: maybe-all-target-libgo + all-target: maybe-all-target-libhsail-rt ++all-target: maybe-all-target-libphobos + all-target: maybe-all-target-libtermcap + all-target: maybe-all-target-winsup + all-target: maybe-all-target-libgloss +@@ -1251,6 +1261,7 @@ info-target: maybe-info-target-libgfortr + info-target: maybe-info-target-libobjc + info-target: maybe-info-target-libgo + info-target: maybe-info-target-libhsail-rt ++info-target: maybe-info-target-libphobos + info-target: maybe-info-target-libtermcap + info-target: maybe-info-target-winsup + info-target: maybe-info-target-libgloss +@@ -1337,6 +1348,7 @@ dvi-target: maybe-dvi-target-libgfortran + dvi-target: maybe-dvi-target-libobjc + dvi-target: maybe-dvi-target-libgo + dvi-target: maybe-dvi-target-libhsail-rt ++dvi-target: maybe-dvi-target-libphobos + dvi-target: maybe-dvi-target-libtermcap + dvi-target: maybe-dvi-target-winsup + dvi-target: maybe-dvi-target-libgloss +@@ -1423,6 +1435,7 @@ pdf-target: maybe-pdf-target-libgfortran + pdf-target: maybe-pdf-target-libobjc + pdf-target: maybe-pdf-target-libgo + pdf-target: maybe-pdf-target-libhsail-rt ++pdf-target: maybe-pdf-target-libphobos + pdf-target: maybe-pdf-target-libtermcap + pdf-target: maybe-pdf-target-winsup + pdf-target: maybe-pdf-target-libgloss +@@ -1509,6 +1522,7 @@ html-target: maybe-html-target-libgfortr + html-target: maybe-html-target-libobjc + html-target: maybe-html-target-libgo + html-target: maybe-html-target-libhsail-rt ++html-target: maybe-html-target-libphobos + html-target: maybe-html-target-libtermcap + html-target: maybe-html-target-winsup + html-target: maybe-html-target-libgloss +@@ -1595,6 +1609,7 @@ TAGS-target: maybe-TAGS-target-libgfortr + TAGS-target: maybe-TAGS-target-libobjc + TAGS-target: maybe-TAGS-target-libgo + TAGS-target: maybe-TAGS-target-libhsail-rt ++TAGS-target: maybe-TAGS-target-libphobos + TAGS-target: maybe-TAGS-target-libtermcap + TAGS-target: maybe-TAGS-target-winsup + TAGS-target: maybe-TAGS-target-libgloss +@@ -1681,6 +1696,7 @@ install-info-target: maybe-install-info- + install-info-target: maybe-install-info-target-libobjc + install-info-target: maybe-install-info-target-libgo + install-info-target: maybe-install-info-target-libhsail-rt ++install-info-target: maybe-install-info-target-libphobos + install-info-target: maybe-install-info-target-libtermcap + install-info-target: maybe-install-info-target-winsup + install-info-target: maybe-install-info-target-libgloss +@@ -1767,6 +1783,7 @@ install-pdf-target: maybe-install-pdf-ta + install-pdf-target: maybe-install-pdf-target-libobjc + install-pdf-target: maybe-install-pdf-target-libgo + install-pdf-target: maybe-install-pdf-target-libhsail-rt ++install-pdf-target: maybe-install-pdf-target-libphobos + install-pdf-target: maybe-install-pdf-target-libtermcap + install-pdf-target: maybe-install-pdf-target-winsup + install-pdf-target: maybe-install-pdf-target-libgloss +@@ -1853,6 +1870,7 @@ install-html-target: maybe-install-html- + install-html-target: maybe-install-html-target-libobjc + install-html-target: maybe-install-html-target-libgo + install-html-target: maybe-install-html-target-libhsail-rt ++install-html-target: maybe-install-html-target-libphobos + install-html-target: maybe-install-html-target-libtermcap + install-html-target: maybe-install-html-target-winsup + install-html-target: maybe-install-html-target-libgloss +@@ -1939,6 +1957,7 @@ installcheck-target: maybe-installcheck- + installcheck-target: maybe-installcheck-target-libobjc + installcheck-target: maybe-installcheck-target-libgo + installcheck-target: maybe-installcheck-target-libhsail-rt ++installcheck-target: maybe-installcheck-target-libphobos + installcheck-target: maybe-installcheck-target-libtermcap + installcheck-target: maybe-installcheck-target-winsup + installcheck-target: maybe-installcheck-target-libgloss +@@ -2025,6 +2044,7 @@ mostlyclean-target: maybe-mostlyclean-ta + mostlyclean-target: maybe-mostlyclean-target-libobjc + mostlyclean-target: maybe-mostlyclean-target-libgo + mostlyclean-target: maybe-mostlyclean-target-libhsail-rt ++mostlyclean-target: maybe-mostlyclean-target-libphobos + mostlyclean-target: maybe-mostlyclean-target-libtermcap + mostlyclean-target: maybe-mostlyclean-target-winsup + mostlyclean-target: maybe-mostlyclean-target-libgloss +@@ -2111,6 +2131,7 @@ clean-target: maybe-clean-target-libgfor + clean-target: maybe-clean-target-libobjc + clean-target: maybe-clean-target-libgo + clean-target: maybe-clean-target-libhsail-rt ++clean-target: maybe-clean-target-libphobos + clean-target: maybe-clean-target-libtermcap + clean-target: maybe-clean-target-winsup + clean-target: maybe-clean-target-libgloss +@@ -2197,6 +2218,7 @@ distclean-target: maybe-distclean-target + distclean-target: maybe-distclean-target-libobjc + distclean-target: maybe-distclean-target-libgo + distclean-target: maybe-distclean-target-libhsail-rt ++distclean-target: maybe-distclean-target-libphobos + distclean-target: maybe-distclean-target-libtermcap + distclean-target: maybe-distclean-target-winsup + distclean-target: maybe-distclean-target-libgloss +@@ -2283,6 +2305,7 @@ maintainer-clean-target: maybe-maintaine + maintainer-clean-target: maybe-maintainer-clean-target-libobjc + maintainer-clean-target: maybe-maintainer-clean-target-libgo + maintainer-clean-target: maybe-maintainer-clean-target-libhsail-rt ++maintainer-clean-target: maybe-maintainer-clean-target-libphobos + maintainer-clean-target: maybe-maintainer-clean-target-libtermcap + maintainer-clean-target: maybe-maintainer-clean-target-winsup + maintainer-clean-target: maybe-maintainer-clean-target-libgloss +@@ -2425,6 +2448,7 @@ check-target: \ + maybe-check-target-libobjc \ + maybe-check-target-libgo \ + maybe-check-target-libhsail-rt \ ++ maybe-check-target-libphobos \ + maybe-check-target-libtermcap \ + maybe-check-target-winsup \ + maybe-check-target-libgloss \ +@@ -2607,6 +2631,7 @@ install-target: \ + maybe-install-target-libobjc \ + maybe-install-target-libgo \ + maybe-install-target-libhsail-rt \ ++ maybe-install-target-libphobos \ + maybe-install-target-libtermcap \ + maybe-install-target-winsup \ + maybe-install-target-libgloss \ +@@ -2713,6 +2738,7 @@ install-strip-target: \ + maybe-install-strip-target-libobjc \ + maybe-install-strip-target-libgo \ + maybe-install-strip-target-libhsail-rt \ ++ maybe-install-strip-target-libphobos \ + maybe-install-strip-target-libtermcap \ + maybe-install-strip-target-winsup \ + maybe-install-strip-target-libgloss \ +@@ -46570,6 +46596,464 @@ maintainer-clean-target-libhsail-rt: + + + ++.PHONY: configure-target-libphobos maybe-configure-target-libphobos ++maybe-configure-target-libphobos: ++@if gcc-bootstrap ++configure-target-libphobos: stage_current ++@endif gcc-bootstrap ++@if target-libphobos ++maybe-configure-target-libphobos: configure-target-libphobos ++configure-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ echo "Checking multilib configuration for libphobos..."; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \ ++ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \ ++ if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \ ++ if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \ ++ rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \ ++ else \ ++ rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \ ++ mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \ ++ fi; \ ++ else \ ++ mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \ ++ fi; \ ++ test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \ ++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo Configuring in $(TARGET_SUBDIR)/libphobos; \ ++ cd "$(TARGET_SUBDIR)/libphobos" || exit 1; \ ++ case $(srcdir) in \ ++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ ++ *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \ ++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ ++ esac; \ ++ module_srcdir=libphobos; \ ++ rm -f no-such-file || : ; \ ++ CONFIG_SITE=no-such-file $(SHELL) \ ++ $$s/$$module_srcdir/configure \ ++ --srcdir=$${topdir}/$$module_srcdir \ ++ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \ ++ --target=${target_alias} \ ++ || exit 1 ++@endif target-libphobos ++ ++ ++ ++ ++ ++.PHONY: all-target-libphobos maybe-all-target-libphobos ++maybe-all-target-libphobos: ++@if gcc-bootstrap ++all-target-libphobos: stage_current ++@endif gcc-bootstrap ++@if target-libphobos ++TARGET-target-libphobos=all ++maybe-all-target-libphobos: all-target-libphobos ++all-target-libphobos: configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \ ++ $(TARGET-target-libphobos)) ++@endif target-libphobos ++ ++ ++ ++ ++ ++.PHONY: check-target-libphobos maybe-check-target-libphobos ++maybe-check-target-libphobos: ++@if target-libphobos ++maybe-check-target-libphobos: check-target-libphobos ++ ++check-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) check) ++ ++@endif target-libphobos ++ ++.PHONY: install-target-libphobos maybe-install-target-libphobos ++maybe-install-target-libphobos: ++@if target-libphobos ++maybe-install-target-libphobos: install-target-libphobos ++ ++install-target-libphobos: installdirs ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ++ ++@endif target-libphobos ++ ++.PHONY: install-strip-target-libphobos maybe-install-strip-target-libphobos ++maybe-install-strip-target-libphobos: ++@if target-libphobos ++maybe-install-strip-target-libphobos: install-strip-target-libphobos ++ ++install-strip-target-libphobos: installdirs ++ @: $(MAKE); $(unstage) ++ @r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip) ++ ++@endif target-libphobos ++ ++# Other targets (info, dvi, pdf, etc.) ++ ++.PHONY: maybe-info-target-libphobos info-target-libphobos ++maybe-info-target-libphobos: ++@if target-libphobos ++maybe-info-target-libphobos: info-target-libphobos ++ ++info-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing info in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ info) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-dvi-target-libphobos dvi-target-libphobos ++maybe-dvi-target-libphobos: ++@if target-libphobos ++maybe-dvi-target-libphobos: dvi-target-libphobos ++ ++dvi-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing dvi in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ dvi) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-pdf-target-libphobos pdf-target-libphobos ++maybe-pdf-target-libphobos: ++@if target-libphobos ++maybe-pdf-target-libphobos: pdf-target-libphobos ++ ++pdf-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing pdf in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ pdf) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-html-target-libphobos html-target-libphobos ++maybe-html-target-libphobos: ++@if target-libphobos ++maybe-html-target-libphobos: html-target-libphobos ++ ++html-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing html in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ html) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-TAGS-target-libphobos TAGS-target-libphobos ++maybe-TAGS-target-libphobos: ++@if target-libphobos ++maybe-TAGS-target-libphobos: TAGS-target-libphobos ++ ++TAGS-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing TAGS in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ TAGS) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-install-info-target-libphobos install-info-target-libphobos ++maybe-install-info-target-libphobos: ++@if target-libphobos ++maybe-install-info-target-libphobos: install-info-target-libphobos ++ ++install-info-target-libphobos: \ ++ configure-target-libphobos \ ++ info-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing install-info in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-info) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-install-pdf-target-libphobos install-pdf-target-libphobos ++maybe-install-pdf-target-libphobos: ++@if target-libphobos ++maybe-install-pdf-target-libphobos: install-pdf-target-libphobos ++ ++install-pdf-target-libphobos: \ ++ configure-target-libphobos \ ++ pdf-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing install-pdf in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-pdf) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-install-html-target-libphobos install-html-target-libphobos ++maybe-install-html-target-libphobos: ++@if target-libphobos ++maybe-install-html-target-libphobos: install-html-target-libphobos ++ ++install-html-target-libphobos: \ ++ configure-target-libphobos \ ++ html-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing install-html in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ install-html) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-installcheck-target-libphobos installcheck-target-libphobos ++maybe-installcheck-target-libphobos: ++@if target-libphobos ++maybe-installcheck-target-libphobos: installcheck-target-libphobos ++ ++installcheck-target-libphobos: \ ++ configure-target-libphobos ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing installcheck in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ installcheck) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-mostlyclean-target-libphobos mostlyclean-target-libphobos ++maybe-mostlyclean-target-libphobos: ++@if target-libphobos ++maybe-mostlyclean-target-libphobos: mostlyclean-target-libphobos ++ ++mostlyclean-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ mostlyclean) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-clean-target-libphobos clean-target-libphobos ++maybe-clean-target-libphobos: ++@if target-libphobos ++maybe-clean-target-libphobos: clean-target-libphobos ++ ++clean-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing clean in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ clean) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-distclean-target-libphobos distclean-target-libphobos ++maybe-distclean-target-libphobos: ++@if target-libphobos ++maybe-distclean-target-libphobos: distclean-target-libphobos ++ ++distclean-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing distclean in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ distclean) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++.PHONY: maybe-maintainer-clean-target-libphobos maintainer-clean-target-libphobos ++maybe-maintainer-clean-target-libphobos: ++@if target-libphobos ++maybe-maintainer-clean-target-libphobos: maintainer-clean-target-libphobos ++ ++maintainer-clean-target-libphobos: ++ @: $(MAKE); $(unstage) ++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \ ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(NORMAL_TARGET_EXPORTS) \ ++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libphobos"; \ ++ for flag in $(EXTRA_TARGET_FLAGS); do \ ++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ ++ done; \ ++ (cd $(TARGET_SUBDIR)/libphobos && \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ ++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ ++ "RANLIB=$${RANLIB}" \ ++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ ++ maintainer-clean) \ ++ || exit 1 ++ ++@endif target-libphobos ++ ++ ++ ++ ++ + .PHONY: configure-target-libtermcap maybe-configure-target-libtermcap + maybe-configure-target-libtermcap: + @if gcc-bootstrap +@@ -51864,6 +52348,14 @@ check-gcc-brig: + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-brig); + check-brig: check-gcc-brig check-target-libhsail-rt + ++.PHONY: check-gcc-d check-d ++check-gcc-d: ++ r=`${PWD_COMMAND}`; export r; \ ++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ ++ $(HOST_EXPORTS) \ ++ (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-d); ++check-d: check-gcc-d check-target-libphobos ++ + + # The gcc part of install-no-fixedincludes, which relies on an intimate + # knowledge of how a number of gcc internal targets (inter)operate. Delegate. +@@ -54742,6 +55234,7 @@ configure-target-libgfortran: stage_last + configure-target-libobjc: stage_last + configure-target-libgo: stage_last + configure-target-libhsail-rt: stage_last ++configure-target-libphobos: stage_last + configure-target-libtermcap: stage_last + configure-target-winsup: stage_last + configure-target-libgloss: stage_last +@@ -54777,6 +55270,7 @@ configure-target-libgfortran: maybe-all- + configure-target-libobjc: maybe-all-gcc + configure-target-libgo: maybe-all-gcc + configure-target-libhsail-rt: maybe-all-gcc ++configure-target-libphobos: maybe-all-gcc + configure-target-libtermcap: maybe-all-gcc + configure-target-winsup: maybe-all-gcc + configure-target-libgloss: maybe-all-gcc +@@ -55803,6 +56297,8 @@ configure-target-libgo: maybe-all-target + all-target-libgo: maybe-all-target-libbacktrace + all-target-libgo: maybe-all-target-libffi + all-target-libgo: maybe-all-target-libatomic ++configure-target-libphobos: maybe-configure-target-zlib ++all-target-libphobos: maybe-all-target-zlib + configure-target-libstdc++-v3: maybe-configure-target-libgomp + + configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp +@@ -55930,6 +56426,7 @@ configure-target-libgfortran: maybe-all- + configure-target-libobjc: maybe-all-target-libgcc + configure-target-libgo: maybe-all-target-libgcc + configure-target-libhsail-rt: maybe-all-target-libgcc ++configure-target-libphobos: maybe-all-target-libgcc + configure-target-libtermcap: maybe-all-target-libgcc + configure-target-winsup: maybe-all-target-libgcc + configure-target-libgloss: maybe-all-target-libgcc +@@ -55973,6 +56470,8 @@ configure-target-libgo: maybe-all-target + + configure-target-libhsail-rt: maybe-all-target-newlib maybe-all-target-libgloss + ++configure-target-libphobos: maybe-all-target-newlib maybe-all-target-libgloss ++ + configure-target-libtermcap: maybe-all-target-newlib maybe-all-target-libgloss + + configure-target-winsup: maybe-all-target-newlib maybe-all-target-libgloss --- gcc-7-7.1.0.orig/debian/patches/gdc-multiarch.diff +++ gcc-7-7.1.0/debian/patches/gdc-multiarch.diff @@ -0,0 +1,17 @@ +# DP: Set the D target include directory to a multiarch location. + +--- a/src/gcc/d/Make-lang.in ++++ b/src/gcc/d/Make-lang.in +@@ -61,7 +61,11 @@ + $(D_DMD_H) + + +-gcc_d_target_include_dir=$(gcc_d_include_dir)/$(target_noncanonical) ++ifneq (,$(MULTIARCH_DIRNAME)) ++ gcc_d_target_include_dir = /usr/include/$(MULTIARCH_DIRNAME)/d/$(version) ++else ++ gcc_d_target_include_dir=$(gcc_d_include_dir)/$(target_noncanonical) ++endif + + # Name of phobos library + D_LIBPHOBOS = -DLIBPHOBOS=\"gphobos2\" --- gcc-7-7.1.0.orig/debian/patches/gdc-profiledbuild.diff +++ gcc-7-7.1.0/debian/patches/gdc-profiledbuild.diff @@ -0,0 +1,21 @@ +# DP: Don't build gdc build tools idgen and impcnvgen with profiling flags + +Index: b/src/gcc/d/Make-lang.in +=================================================================== +--- a/src/gcc/d/Make-lang.in ++++ b/src/gcc/d/Make-lang.in +@@ -256,6 +256,14 @@ d/idgen: d/idgen.dmdgen.o + d/impcvgen: d/impcnvgen.dmdgen.o + +$(LINKER_FOR_BUILD) $(BUILD_LINKER_FLAGS) $(BUILD_LDFLAGS) -o $@ $^ + ++d/idgen.dmdgen.o: d/dfrontend/idgen.c ++ $(filter-out -fprofile-%,$(DMD_COMPILE)) $(D_INCLUDES) $< ++ $(POSTCOMPILE) ++ ++d/impcnvgen.dmdgen.o: $(srcdir)/d/dfrontend/impcnvgen.c ++ $(filter-out -fprofile-%,$(DMDGEN_COMPILE)) $(D_INCLUDES) $< ++ $(POSTCOMPILE) ++ + # Generated sources. + d/id.c: d/idgen + cd d && ./idgen --- gcc-7-7.1.0.orig/debian/patches/gdc-sparc-fix.diff +++ gcc-7-7.1.0/debian/patches/gdc-sparc-fix.diff @@ -0,0 +1,12 @@ +# DP: Fix gdc build on sparc. + +--- a/src/gcc/d/d-target.cc ++++ b/src/gcc/d/d-target.cc +@@ -18,6 +18,7 @@ + #include "config.h" + #include "system.h" + #include "coretypes.h" ++#include "memmodel.h" + + #include "dfrontend/aggregate.h" + #include "dfrontend/module.h" --- gcc-7-7.1.0.orig/debian/patches/gdc-texinfo.diff +++ gcc-7-7.1.0/debian/patches/gdc-texinfo.diff @@ -0,0 +1,55 @@ +# DP: Add macros for the gdc texinfo documentation. + +Index: b/src/gcc/d/gdc.texi +=================================================================== +--- a/src/gcc/d/gdc.texi ++++ b/src/gcc/d/gdc.texi +@@ -57,6 +57,22 @@ man page gfdl(7). + @insertcopying + @end ifinfo + ++@macro versionsubtitle ++@ifclear DEVELOPMENT ++@subtitle For @sc{gcc} version @value{version-GCC} ++@end ifclear ++@ifset DEVELOPMENT ++@subtitle For @sc{gcc} version @value{version-GCC} (pre-release) ++@end ifset ++@ifset VERSION_PACKAGE ++@sp 1 ++@subtitle @value{VERSION_PACKAGE} ++@end ifset ++@c Even if there are no authors, the second titlepage line should be ++@c forced to the bottom of the page. ++@vskip 0pt plus 1filll ++@end macro ++ + @titlepage + @title The GNU D Compiler + @versionsubtitle +@@ -139,6 +155,25 @@ the options specific to @command{gdc}. + * Environment Variables:: Environment variables that affect @command{gdc}. + @end menu + ++@macro gcctabopt{body} ++@code{\body\} ++@end macro ++@macro gccoptlist{body} ++@smallexample ++\body\ ++@end smallexample ++@end macro ++@c Makeinfo handles the above macro OK, TeX needs manual line breaks; ++@c they get lost at some point in handling the macro. But if @macro is ++@c used here rather than @alias, it produces double line breaks. ++@iftex ++@alias gol = * ++@end iftex ++@ifnottex ++@macro gol ++@end macro ++@end ifnottex ++ + @c man begin OPTIONS + + @node Input and Output files --- gcc-7-7.1.0.orig/debian/patches/gdc-updates.diff +++ gcc-7-7.1.0/debian/patches/gdc-updates.diff @@ -0,0 +1,30 @@ +# DP: gdc updates up to 20160115. + + * Make-lang.in (d-warn): Filter out -Wmissing-format-attribute. + +Index: b/src/gcc/d/Make-lang.in +=================================================================== +--- a/src/gcc/d/Make-lang.in ++++ b/src/gcc/d/Make-lang.in +@@ -46,7 +46,7 @@ gdc-cross$(exeext): gdc$(exeext) + cp gdc$(exeext) gdc-cross$(exeext) + + # Filter out pedantic and virtual overload warnings. +-d-warn = $(filter-out -pedantic -Woverloaded-virtual, $(STRICT_WARN)) ++d-warn = $(filter-out -pedantic -Woverloaded-virtual -Wmissing-format-attribute, $(STRICT_WARN)) + + # D Frontend has slightly relaxed warnings compared to rest of GDC. + DMD_WARN_CXXFLAGS = -Wno-deprecated -Wstrict-aliasing -Wuninitialized +Index: b/src/libphobos/src/std/internal/math/gammafunction.d +=================================================================== +--- a/src/libphobos/src/std/internal/math/gammafunction.d ++++ b/src/libphobos/src/std/internal/math/gammafunction.d +@@ -437,7 +437,7 @@ real logGamma(real x) + if ( p == q ) + return real.infinity; + int intpart = cast(int)(p); +- real sgngam = 1; ++ real sgngam = 1.0L; + if ( (intpart & 1) == 0 ) + sgngam = -1; + z = q - p; --- gcc-7-7.1.0.orig/debian/patches/gdc-versym-cpu.diff +++ gcc-7-7.1.0/debian/patches/gdc-versym-cpu.diff @@ -0,0 +1,379 @@ +# DP: Implements D CPU version conditions. + +This implements the following versions: +* D_HardFloat +* D_SoftFloat + +for all supported architectures. And these where appropriate: +* ARM +** ARM_Thumb +** ARM_HardFloat +** ARM_SoftFloat +** ARM_SoftFP +* AArch64 +* Alpha +** Alpha_SoftFloat +** Alpha_HardFloat +* X86 +* X86_64 +** D_X32 +* IA64 +* MIPS32 +* MIPS64 +** MIPS_O32 +** MIPS_O64 +** MIPS_N32 +** MIPS_N64 +** MIPS_EABI +** MIPS_HardFloat +** MIPS_SoftFloat +* HPPA +* HPPA64 +* PPC +* PPC64 +** PPC_HardFloat +** PPC_SoftFloat +* S390 +* S390X +* SH +* SH64 +* SPARC +* SPARC64 +* SPARC_V8Plus +** SPARC_HardFloat +** SPARC_SoftFloat + +Index: b/src/gcc/config/aarch64/aarch64.h +=================================================================== +--- a/src/gcc/config/aarch64/aarch64.h ++++ b/src/gcc/config/aarch64/aarch64.h +@@ -26,6 +26,14 @@ + #define TARGET_CPU_CPP_BUILTINS() \ + aarch64_cpu_cpp_builtins (pfile) + ++/* Target CPU builtins for D. */ ++#define TARGET_CPU_D_BUILTINS() \ ++ do \ ++ { \ ++ builtin_define ("AArch64"); \ ++ builtin_define ("D_HardFloat"); \ ++ } while (0) ++ + + + #define REGISTER_TARGET_PRAGMAS() aarch64_register_pragmas () +Index: b/src/gcc/config/alpha/alpha.h +=================================================================== +--- a/src/gcc/config/alpha/alpha.h ++++ b/src/gcc/config/alpha/alpha.h +@@ -72,6 +72,23 @@ along with GCC; see the file COPYING3. + SUBTARGET_LANGUAGE_CPP_BUILTINS(); \ + } while (0) + ++/* Target CPU builtins for D. */ ++#define TARGET_CPU_D_BUILTINS() \ ++ do \ ++ { \ ++ builtin_define ("Alpha"); \ ++ if (TARGET_SOFT_FP) \ ++ { \ ++ builtin_define ("D_SoftFloat"); \ ++ builtin_define ("Alpha_SoftFloat"); \ ++ } \ ++ else \ ++ { \ ++ builtin_define ("D_HardFloat"); \ ++ builtin_define ("Alpha_HardFloat"); \ ++ } \ ++} while (0) ++ + #ifndef SUBTARGET_LANGUAGE_CPP_BUILTINS + #define SUBTARGET_LANGUAGE_CPP_BUILTINS() \ + do \ +Index: b/src/gcc/config/arm/arm.h +=================================================================== +--- a/src/gcc/config/arm/arm.h ++++ b/src/gcc/config/arm/arm.h +@@ -47,6 +47,31 @@ extern char arm_arch_name[]; + /* Target CPU builtins. */ + #define TARGET_CPU_CPP_BUILTINS() arm_cpu_cpp_builtins (pfile) + ++/* Target CPU builtins for D. */ ++#define TARGET_CPU_D_BUILTINS() \ ++ do \ ++ { \ ++ builtin_define ("ARM"); \ ++ \ ++ if (TARGET_THUMB || TARGET_THUMB2) \ ++ builtin_define ("ARM_Thumb"); \ ++ \ ++ if (TARGET_HARD_FLOAT_ABI) \ ++ builtin_define ("ARM_HardFloat"); \ ++ else \ ++ { \ ++ if(TARGET_SOFT_FLOAT) \ ++ builtin_define ("ARM_SoftFloat"); \ ++ else if(TARGET_HARD_FLOAT) \ ++ builtin_define ("ARM_SoftFP"); \ ++ } \ ++ \ ++ if(TARGET_SOFT_FLOAT) \ ++ builtin_define ("D_SoftFloat"); \ ++ else if(TARGET_HARD_FLOAT) \ ++ builtin_define ("D_HardFloat"); \ ++ } while (0) ++ + #include "config/arm/arm-opts.h" + + /* The processor for which instructions should be scheduled. */ +Index: b/src/gcc/config/i386/i386.h +=================================================================== +--- a/src/gcc/config/i386/i386.h ++++ b/src/gcc/config/i386/i386.h +@@ -669,6 +669,24 @@ extern const char *host_detect_local_cpu + /* Target CPU builtins. */ + #define TARGET_CPU_CPP_BUILTINS() ix86_target_macros () + ++/* Target CPU builtins for D. */ ++#define TARGET_CPU_D_BUILTINS() \ ++ do { \ ++ if (TARGET_64BIT) \ ++ { \ ++ builtin_define("X86_64"); \ ++ if (TARGET_X32) \ ++ builtin_define("D_X32"); \ ++ } \ ++ else \ ++ builtin_define("X86"); \ ++ \ ++ if (TARGET_80387) \ ++ builtin_define("D_HardFloat"); \ ++ else \ ++ builtin_define("D_SoftFloat"); \ ++ } while (0) ++ + /* Target Pragmas. */ + #define REGISTER_TARGET_PRAGMAS() ix86_register_pragmas () + +Index: b/src/gcc/config/ia64/ia64.h +=================================================================== +--- a/src/gcc/config/ia64/ia64.h ++++ b/src/gcc/config/ia64/ia64.h +@@ -40,6 +40,13 @@ do { \ + builtin_define("__BIG_ENDIAN__"); \ + } while (0) + ++/* Target CPU builtins for D. */ ++#define TARGET_CPU_D_BUILTINS() \ ++do { \ ++ builtin_define ("IA64"); \ ++ builtin_define ("D_HardFloat"); \ ++} while (0) ++ + #ifndef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS + #endif +Index: b/src/gcc/config/mips/mips.h +=================================================================== +--- a/src/gcc/config/mips/mips.h ++++ b/src/gcc/config/mips/mips.h +@@ -644,6 +644,54 @@ struct mips_cpu_info { + } \ + while (0) + ++/* Target CPU builtins for D. */ ++#define TARGET_CPU_D_BUILTINS() \ ++ do \ ++ { \ ++ if (TARGET_64BIT) \ ++ builtin_define("MIPS64"); \ ++ else \ ++ builtin_define("MIPS32"); \ ++ \ ++ switch (mips_abi) \ ++ { \ ++ case ABI_32: \ ++ builtin_define("MIPS_O32"); \ ++ break; \ ++ \ ++ case ABI_O64: \ ++ builtin_define("MIPS_O64"); \ ++ break; \ ++ \ ++ case ABI_N32: \ ++ builtin_define("MIPS_N32"); \ ++ break; \ ++ \ ++ case ABI_64: \ ++ builtin_define("MIPS_N64"); \ ++ break; \ ++ \ ++ case ABI_EABI: \ ++ builtin_define("MIPS_EABI"); \ ++ break; \ ++ \ ++ default: \ ++ gcc_unreachable(); \ ++ } \ ++ \ ++ if (TARGET_HARD_FLOAT_ABI) \ ++ { \ ++ builtin_define("MIPS_HardFloat"); \ ++ builtin_define("D_HardFloat"); \ ++ } \ ++ else if (TARGET_SOFT_FLOAT_ABI) \ ++ { \ ++ builtin_define("MIPS_SoftFloat"); \ ++ builtin_define("D_SoftFloat"); \ ++ } \ ++ } \ ++ while (0) ++ + /* Default target_flags if no switches are specified */ + + #ifndef TARGET_DEFAULT +Index: b/src/gcc/config/pa/pa.h +=================================================================== +--- a/src/gcc/config/pa/pa.h ++++ b/src/gcc/config/pa/pa.h +@@ -179,6 +179,20 @@ do { \ + builtin_define("_PA_RISC1_0"); \ + } while (0) + ++/* Target CPU builtins for D. */ ++#define TARGET_CPU_D_BUILTINS() \ ++do { \ ++ if(TARGET_64BIT) \ ++ builtin_define("HPPA64"); \ ++ else \ ++ builtin_define("HPPA"); \ ++ \ ++ if(TARGET_SOFT_FLOAT) \ ++ builtin_define ("D_SoftFloat"); \ ++ else \ ++ builtin_define ("D_HardFloat"); \ ++} while (0) ++ + /* An old set of OS defines for various BSD-like systems. */ + #define TARGET_OS_CPP_BUILTINS() \ + do \ +Index: b/src/gcc/config/rs6000/rs6000.h +=================================================================== +--- a/src/gcc/config/rs6000/rs6000.h ++++ b/src/gcc/config/rs6000/rs6000.h +@@ -822,6 +822,28 @@ extern unsigned char rs6000_recip_bits[] + #define TARGET_CPU_CPP_BUILTINS() \ + rs6000_cpu_cpp_builtins (pfile) + ++/* Target CPU builtins for D. */ ++#define TARGET_CPU_D_BUILTINS() \ ++ do \ ++ { \ ++ if (TARGET_64BIT) \ ++ builtin_define ("PPC64"); \ ++ else \ ++ builtin_define ("PPC"); \ ++ \ ++ if (TARGET_HARD_FLOAT) \ ++ { \ ++ builtin_define ("PPC_HardFloat"); \ ++ builtin_define ("D_HardFloat"); \ ++ } \ ++ else if (TARGET_SOFT_FLOAT) \ ++ { \ ++ builtin_define ("PPC_SoftFloat"); \ ++ builtin_define ("D_SoftFloat"); \ ++ } \ ++ } \ ++ while (0) ++ + /* This is used by rs6000_cpu_cpp_builtins to indicate the byte order + we're compiling for. Some configurations may need to override it. */ + #define RS6000_CPU_CPP_ENDIAN_BUILTINS() \ +Index: b/src/gcc/config/s390/s390.h +=================================================================== +--- a/src/gcc/config/s390/s390.h ++++ b/src/gcc/config/s390/s390.h +@@ -194,6 +194,22 @@ enum processor_flags + /* Target CPU builtins. */ + #define TARGET_CPU_CPP_BUILTINS() s390_cpu_cpp_builtins (pfile) + ++/* Target CPU builtins for D. */ ++#define TARGET_CPU_D_BUILTINS() \ ++ do \ ++ { \ ++ if (TARGET_64BIT) \ ++ builtin_define ("S390X"); \ ++ else \ ++ builtin_define ("S390"); \ ++ \ ++ if(TARGET_SOFT_FLOAT) \ ++ builtin_define ("D_SoftFloat"); \ ++ else if(TARGET_HARD_FLOAT) \ ++ builtin_define ("D_HardFloat"); \ ++ } \ ++ while (0) ++ + #ifdef DEFAULT_TARGET_64BIT + #define TARGET_DEFAULT (MASK_64BIT | MASK_ZARCH | MASK_HARD_DFP \ + | MASK_OPT_HTM | MASK_OPT_VX) +Index: b/src/gcc/config/sh/sh.h +=================================================================== +--- a/src/gcc/config/sh/sh.h ++++ b/src/gcc/config/sh/sh.h +@@ -31,6 +31,19 @@ extern int code_for_indirect_jump_scratc + + #define TARGET_CPU_CPP_BUILTINS() sh_cpu_cpp_builtins (pfile) + ++/* Target CPU builtins for D. */ ++#define TARGET_CPU_D_BUILTINS() \ ++ do \ ++ { \ ++ builtin_define ("SH"); \ ++ \ ++ if (TARGET_FPU_ANY) \ ++ builtin_define ("D_HardFloat"); \ ++ else \ ++ builtin_define ("D_SoftFloat"); \ ++ } \ ++ while (0) ++ + /* Value should be nonzero if functions must have frame pointers. + Zero means the frame pointer need not be set up (and parms may be accessed + via the stack pointer) in functions that seem suitable. */ +Index: b/src/gcc/config/sparc/sparc.h +=================================================================== +--- a/src/gcc/config/sparc/sparc.h ++++ b/src/gcc/config/sparc/sparc.h +@@ -27,6 +27,31 @@ along with GCC; see the file COPYING3. + + #define TARGET_CPU_CPP_BUILTINS() sparc_target_macros () + ++/* Target CPU builtins for D. */ ++#define TARGET_CPU_D_BUILTINS() \ ++do \ ++ { \ ++ if (TARGET_64BIT) \ ++ builtin_define ("SPARC64"); \ ++ else \ ++ builtin_define ("SPARC"); \ ++ \ ++ if(TARGET_V8PLUS) \ ++ builtin_define ("SPARC_V8Plus"); \ ++ \ ++ if(TARGET_FPU) \ ++ { \ ++ builtin_define ("D_HardFloat"); \ ++ builtin_define ("SPARC_HardFloat"); \ ++ } \ ++ else \ ++ { \ ++ builtin_define ("D_SoftFloat"); \ ++ builtin_define ("SPARC_SoftFloat"); \ ++ } \ ++ } \ ++ while (0) ++ + /* Specify this in a cover file to provide bi-architecture (32/64) support. */ + /* #define SPARC_BI_ARCH */ + --- gcc-7-7.1.0.orig/debian/patches/gdc-versym-os.diff +++ gcc-7-7.1.0/debian/patches/gdc-versym-os.diff @@ -0,0 +1,409 @@ +# DP: Implements D OS version conditions. + +This implements the following official versions: +* Windows +** Win32 +** Win64 +** Cygwin +** MinGW +* linux +* OSX +* FreeBSD +* OpenBSD +* NetBSD +* Solaris +* Posix +* AIX +* SysV4 +* Hurd +* Android + +These gdc specific versions are also implemented: +* GNU_MinGW64 (for mingw-w64) +* GNU_OpenSolaris (for opensolaris) +* GNU_GLibc (implemented for linux & bsd & opensolaris) +* GNU_UCLibc (implemented for linux) +* GNU_Bionic (implemented for linux) + +These official OS versions are not implemented: +* DragonFlyBSD +* BSD (other BSDs) +* Haiku +* SkyOS +* SysV3 + +Index: b/src/gcc/config/alpha/linux.h +=================================================================== +--- a/src/gcc/config/alpha/linux.h ++++ b/src/gcc/config/alpha/linux.h +@@ -33,6 +33,16 @@ along with GCC; see the file COPYING3. + builtin_define ("_GNU_SOURCE"); \ + } while (0) + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do { \ ++ if (OPTION_GLIBC) \ ++ builtin_define ("GNU_GLibc"); \ ++ \ ++ builtin_define ("linux"); \ ++ builtin_define ("Posix"); \ ++ } while (0) ++ + #undef LIB_SPEC + #define LIB_SPEC \ + "%{pthread:-lpthread} \ +Index: b/src/gcc/config/arm/linux-eabi.h +=================================================================== +--- a/src/gcc/config/arm/linux-eabi.h ++++ b/src/gcc/config/arm/linux-eabi.h +@@ -30,6 +30,15 @@ + } \ + while (false) + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do \ ++ { \ ++ TARGET_GENERIC_LINUX_OS_D_BUILTINS(); \ ++ ANDROID_TARGET_OS_D_BUILTINS(); \ ++ } \ ++ while (false) ++ + /* We default to a soft-float ABI so that binaries can run on all + target hardware. If you override this to use the hard-float ABI then + change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */ +Index: b/src/gcc/config/darwin.h +=================================================================== +--- a/src/gcc/config/darwin.h ++++ b/src/gcc/config/darwin.h +@@ -972,4 +972,10 @@ extern void darwin_driver_init (unsigned + #define DEF_LD64 LD64_VERSION + #endif + ++#define TARGET_OS_D_BUILTINS() \ ++ do { \ ++ builtin_define ("OSX"); \ ++ builtin_define ("Posix"); \ ++ } while (0) ++ + #endif /* CONFIG_DARWIN_H */ +Index: b/src/gcc/config/freebsd.h +=================================================================== +--- a/src/gcc/config/freebsd.h ++++ b/src/gcc/config/freebsd.h +@@ -32,6 +32,13 @@ along with GCC; see the file COPYING3. + #undef TARGET_OS_CPP_BUILTINS + #define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS() + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do { \ ++ builtin_define ("FreeBSD"); \ ++ builtin_define ("Posix"); \ ++ } while (0) ++ + #undef CPP_SPEC + #define CPP_SPEC FBSD_CPP_SPEC + +Index: b/src/gcc/config/gnu.h +=================================================================== +--- a/src/gcc/config/gnu.h ++++ b/src/gcc/config/gnu.h +@@ -31,3 +31,11 @@ along with GCC. If not, see . symlink, and having a +# DP: /usr directory like the other ports. So this patch should NOT go +# DP: upstream. + +--- + config.gcc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/gcc/config.gcc (rvision 182461) ++++ b/src/gcc/config.gcc (copie de travail) +@@ -583,7 +583,7 @@ + *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu) + :;; + *-*-gnu*) +- native_system_header_dir=/include ++ # native_system_header_dir=/include + ;; + esac + # glibc / uclibc / bionic switch. --- gcc-7-7.1.0.orig/debian/patches/ignore-pie-specs-when-not-enabled.diff +++ gcc-7-7.1.0/debian/patches/ignore-pie-specs-when-not-enabled.diff @@ -0,0 +1,56 @@ +# DP: Ignore dpkg's pie specs when pie is not enabled. + +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -3715,6 +3715,36 @@ handle_foffload_option (const char *arg) + } + } + ++static bool ignore_pie_specs_when_not_enabled(const char *envvar, ++ const char *specname) ++{ ++ const char *envval = secure_getenv(envvar); ++ char *hardening; ++ bool ignore; ++ ++ if (strstr (specname, "/pie-compile.specs") == NULL ++ && strstr (specname, "/pie-link.specs") == NULL) ++ return false; ++ if (envval == NULL || strstr (envval, "hardening=") == NULL) ++ return true; ++ ignore = true; ++ hardening = (char *) xmalloc (strlen(envval) + 1); ++ strcpy (hardening, strstr (envval, "hardening=")); ++ if (strchr (hardening, ' ')) ++ *strchr (hardening, ' ') = '\0'; ++ if (strstr(hardening, "+all")) ++ { ++ if (strstr(hardening, "-pie") == NULL) ++ ignore = false; ++ } ++ else if (strstr(hardening, "+pie")) ++ { ++ ignore = false; ++ } ++ free (hardening); ++ return ignore; ++} ++ + /* Handle a driver option; arguments and return value as for + handle_option. */ + +@@ -3989,6 +4019,12 @@ driver_handle_option (struct gcc_options + break; + + case OPT_specs_: ++ if (ignore_pie_specs_when_not_enabled("DEB_BUILD_MAINT_OPTIONS", arg) ++ && ignore_pie_specs_when_not_enabled("DEB_BUILD_OPTIONS", arg)) ++ { ++ inform (0, "pie specs %s ignored when pie is not enabled", arg); ++ return true; ++ } + { + struct user_specs *user = XNEW (struct user_specs); + --- gcc-7-7.1.0.orig/debian/patches/kfreebsd-unwind.diff +++ gcc-7-7.1.0/debian/patches/kfreebsd-unwind.diff @@ -0,0 +1,48 @@ +# DP: DWARF2 EH unwinding support for AMD x86-64 and x86 KFreeBSD. + +Index: b/src/libgcc/config.host +=================================================================== +--- a/src/libgcc/config.host ++++ b/src/libgcc/config.host +@@ -620,7 +620,13 @@ i[34567]86-*-linux*) + tm_file="${tm_file} i386/elf-lib.h" + md_unwind_header=i386/linux-unwind.h + ;; +-i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) ++i[34567]86-*-kfreebsd*-gnu) ++ extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" ++ tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules" ++ tm_file="${tm_file} i386/elf-lib.h" ++ md_unwind_header=i386/freebsd-unwind.h ++ ;; ++i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" + tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules" + tm_file="${tm_file} i386/elf-lib.h" +@@ -635,6 +641,7 @@ x86_64-*-kfreebsd*-gnu) + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" + tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules" + tm_file="${tm_file} i386/elf-lib.h" ++ md_unwind_header=i386/freebsd-unwind.h + ;; + i[34567]86-pc-msdosdjgpp*) + ;; +Index: b/src/libgcc/config/i386/freebsd-unwind.h +=================================================================== +--- a/src/libgcc/config/i386/freebsd-unwind.h ++++ b/src/libgcc/config/i386/freebsd-unwind.h +@@ -26,6 +26,8 @@ see the files COPYING3 and COPYING.RUNTI + /* Do code reading to identify a signal frame, and set the frame + state data appropriately. See unwind-dw2.c for the structs. */ + ++#ifndef inhibit_libc ++ + #include + #include + #include +@@ -171,3 +173,5 @@ x86_freebsd_fallback_frame_state + return _URC_NO_REASON; + } + #endif /* ifdef __x86_64__ */ ++ ++#endif /* ifndef inhibit_libc */ --- gcc-7-7.1.0.orig/debian/patches/libasan-sparc.diff +++ gcc-7-7.1.0/debian/patches/libasan-sparc.diff @@ -0,0 +1,163 @@ +# DP: Re-apply sanitizer patch for sparc, dropped upstream + +# don't remove, this is regularly overwritten, see PR sanitizer/63958. + +libsanitizer/ + +2014-10-14 David S. Miller + + * sanitizer_common/sanitizer_platform_limits_linux.cc (time_t): + Define at __kernel_time_t, as needed for sparc. + (struct __old_kernel_stat): Don't check if __sparc__ is defined. + * libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h + (__sanitizer): Define struct___old_kernel_stat_sz, + struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc. + (__sanitizer_ipc_perm): Adjust for sparc targets. + (__sanitizer_shmid_ds): Likewsie. + (__sanitizer_sigaction): Likewsie. + (IOC_SIZE): Likewsie. + +Index: libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +=================================================================== +--- a/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h (revision 216223) ++++ a/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h (revision 216224) +@@ -72,6 +72,14 @@ + const unsigned struct_kernel_stat_sz = 144; + #endif + const unsigned struct_kernel_stat64_sz = 104; ++#elif defined(__sparc__) && defined(__arch64__) ++ const unsigned struct___old_kernel_stat_sz = 0; ++ const unsigned struct_kernel_stat_sz = 104; ++ const unsigned struct_kernel_stat64_sz = 144; ++#elif defined(__sparc__) && !defined(__arch64__) ++ const unsigned struct___old_kernel_stat_sz = 0; ++ const unsigned struct_kernel_stat_sz = 64; ++ const unsigned struct_kernel_stat64_sz = 104; + #endif + struct __sanitizer_perf_event_attr { + unsigned type; +@@ -94,7 +102,7 @@ + + #if defined(__powerpc64__) + const unsigned struct___old_kernel_stat_sz = 0; +-#else ++#elif !defined(__sparc__) + const unsigned struct___old_kernel_stat_sz = 32; + #endif + +@@ -173,6 +181,18 @@ + unsigned short __pad1; + unsigned long __unused1; + unsigned long __unused2; ++#elif defined(__sparc__) ++# if defined(__arch64__) ++ unsigned mode; ++ unsigned short __pad1; ++# else ++ unsigned short __pad1; ++ unsigned short mode; ++ unsigned short __pad2; ++# endif ++ unsigned short __seq; ++ unsigned long long __unused1; ++ unsigned long long __unused2; + #else + unsigned short mode; + unsigned short __pad1; +@@ -190,6 +210,26 @@ + + struct __sanitizer_shmid_ds { + __sanitizer_ipc_perm shm_perm; ++ #if defined(__sparc__) ++ # if !defined(__arch64__) ++ u32 __pad1; ++ # endif ++ long shm_atime; ++ # if !defined(__arch64__) ++ u32 __pad2; ++ # endif ++ long shm_dtime; ++ # if !defined(__arch64__) ++ u32 __pad3; ++ # endif ++ long shm_ctime; ++ uptr shm_segsz; ++ int shm_cpid; ++ int shm_lpid; ++ unsigned long shm_nattch; ++ unsigned long __glibc_reserved1; ++ unsigned long __glibc_reserved2; ++ #else + #ifndef __powerpc__ + uptr shm_segsz; + #elif !defined(__powerpc64__) +@@ -227,6 +267,7 @@ + uptr __unused4; + uptr __unused5; + #endif ++#endif + }; + #elif SANITIZER_FREEBSD + struct __sanitizer_ipc_perm { +@@ -523,9 +564,13 @@ + #else + __sanitizer_sigset_t sa_mask; + #ifndef __mips__ ++#if defined(__sparc__) ++ unsigned long sa_flags; ++#else + int sa_flags; + #endif + #endif ++#endif + #if SANITIZER_LINUX + void (*sa_restorer)(); + #endif +@@ -745,7 +790,7 @@ + + #define IOC_NRBITS 8 + #define IOC_TYPEBITS 8 +-#if defined(__powerpc__) || defined(__powerpc64__) || defined(__mips__) ++#if defined(__powerpc__) || defined(__powerpc64__) || defined(__mips__) || defined(__sparc__) + #define IOC_SIZEBITS 13 + #define IOC_DIRBITS 3 + #define IOC_NONE 1U +@@ -775,7 +820,17 @@ + #define IOC_DIR(nr) (((nr) >> IOC_DIRSHIFT) & IOC_DIRMASK) + #define IOC_TYPE(nr) (((nr) >> IOC_TYPESHIFT) & IOC_TYPEMASK) + #define IOC_NR(nr) (((nr) >> IOC_NRSHIFT) & IOC_NRMASK) ++ ++#if defined(__sparc__) ++// In sparc the 14 bits SIZE field overlaps with the ++// least significant bit of DIR, so either IOC_READ or ++// IOC_WRITE shall be 1 in order to get a non-zero SIZE. ++# define IOC_SIZE(nr) \ ++ ((((((nr) >> 29) & 0x7) & (4U|2U)) == 0)? \ ++ 0 : (((nr) >> 16) & 0x3fff)) ++#else + #define IOC_SIZE(nr) (((nr) >> IOC_SIZESHIFT) & IOC_SIZEMASK) ++#endif + + extern unsigned struct_arpreq_sz; + extern unsigned struct_ifreq_sz; +Index: libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc +=================================================================== +--- a/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc (revision 216223) ++++ a/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc (revision 216224) +@@ -36,6 +36,7 @@ + #define uid_t __kernel_uid_t + #define gid_t __kernel_gid_t + #define off_t __kernel_off_t ++#define time_t __kernel_time_t + // This header seems to contain the definitions of _kernel_ stat* structs. + #include + #undef ino_t +@@ -60,7 +61,7 @@ + } // namespace __sanitizer + + #if !defined(__powerpc64__) && !defined(__x86_64__) && !defined(__aarch64__)\ +- && !defined(__mips__) ++ && !defined(__mips__) && !defined(__sparc__) + COMPILER_CHECK(struct___old_kernel_stat_sz == sizeof(struct __old_kernel_stat)); + #endif + --- gcc-7-7.1.0.orig/debian/patches/libcilkrts-targets.diff +++ gcc-7-7.1.0/debian/patches/libcilkrts-targets.diff @@ -0,0 +1,21 @@ +# DP: Disable libcilkrts on KFreeBSD and the Hurd. See #734973. + +Index: b/src/libcilkrts/configure.tgt +=================================================================== +--- a/src/libcilkrts/configure.tgt ++++ b/src/libcilkrts/configure.tgt +@@ -57,3 +57,14 @@ esac + + # Disable libcilkrts on non POSIX hosted systems. + . ${srcdir}/../config/target-posix ++ ++# Disable libcilkrts on KFreeBSD and the Hurd. ++if test x$enable_libcilkrts = x ; then ++ case "${target}" in ++ *-*-linux*) ++ ;; ++ *-*-gnu* | *-*-k*bsd*-gnu) ++ UNSUPPORTED=1 ++ ;; ++ esac ++fi --- gcc-7-7.1.0.orig/debian/patches/libffi-mips.diff +++ gcc-7-7.1.0/debian/patches/libffi-mips.diff @@ -0,0 +1,703 @@ +# DP: Backport Mips go closure support, taken from libffi issue #197. + +--- a/src/libffi/src/mips/ffi.c ++++ b/src/libffi/src/mips/ffi.c +@@ -581,14 +581,15 @@ ffi_status ffi_prep_cif_machdep(ffi_cif *cif) + /* Low level routine for calling O32 functions */ + extern int ffi_call_O32(void (*)(char *, extended_cif *, int, int), + extended_cif *, unsigned, +- unsigned, unsigned *, void (*)(void)); ++ unsigned, unsigned *, void (*)(void), void *closure); + + /* Low level routine for calling N32 functions */ + extern int ffi_call_N32(void (*)(char *, extended_cif *, int, int), + extended_cif *, unsigned, +- unsigned, void *, void (*)(void)); ++ unsigned, void *, void (*)(void), void *closure); + +-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) ++void ffi_call_int(ffi_cif *cif, void (*fn)(void), void *rvalue, ++ void **avalue, void *closure) + { + extended_cif ecif; + +@@ -610,7 +611,7 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) + case FFI_O32: + case FFI_O32_SOFT_FLOAT: + ffi_call_O32(ffi_prep_args, &ecif, cif->bytes, +- cif->flags, ecif.rvalue, fn); ++ cif->flags, ecif.rvalue, fn, closure); + break; + #endif + +@@ -642,7 +643,7 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) + #endif + } + ffi_call_N32(ffi_prep_args, &ecif, cif->bytes, +- cif->flags, rvalue_copy, fn); ++ cif->flags, rvalue_copy, fn, closure); + if (copy_rvalue) + memcpy(ecif.rvalue, rvalue_copy + copy_offset, cif->rtype->size); + } +@@ -655,11 +656,27 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) + } + } + ++void ++ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) ++{ ++ ffi_call_int (cif, fn, rvalue, avalue, NULL); ++} ++ ++void ++ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, ++ void **avalue, void *closure) ++{ ++ ffi_call_int (cif, fn, rvalue, avalue, closure); ++} ++ ++ + #if FFI_CLOSURES + #if defined(FFI_MIPS_O32) + extern void ffi_closure_O32(void); ++extern void ffi_go_closure_O32(void); + #else + extern void ffi_closure_N32(void); ++extern void ffi_go_closure_N32(void); + #endif /* FFI_MIPS_O32 */ + + ffi_status +@@ -762,17 +779,17 @@ ffi_prep_closure_loc (ffi_closure *closure, + * Based on the similar routine for sparc. + */ + int +-ffi_closure_mips_inner_O32 (ffi_closure *closure, ++ffi_closure_mips_inner_O32 (ffi_cif *cif, ++ void (*fun)(ffi_cif*, void*, void**, void*), ++ void *user_data, + void *rvalue, ffi_arg *ar, + double *fpr) + { +- ffi_cif *cif; + void **avaluep; + ffi_arg *avalue; + ffi_type **arg_types; + int i, avn, argn, seen_int; + +- cif = closure->cif; + avalue = alloca (cif->nargs * sizeof (ffi_arg)); + avaluep = alloca (cif->nargs * sizeof (ffi_arg)); + +@@ -840,7 +857,7 @@ ffi_closure_mips_inner_O32 (ffi_closure *closure, + } + + /* Invoke the closure. */ +- (closure->fun) (cif, rvalue, avaluep, closure->user_data); ++ fun(cif, rvalue, avaluep, user_data); + + if (cif->abi == FFI_O32_SOFT_FLOAT) + { +@@ -916,11 +933,12 @@ copy_struct_N32(char *target, unsigned offset, ffi_abi abi, ffi_type *type, + * + */ + int +-ffi_closure_mips_inner_N32 (ffi_closure *closure, ++ffi_closure_mips_inner_N32 (ffi_cif *cif, ++ void (*fun)(ffi_cif*, void*, void**, void*), ++ void *user_data, + void *rvalue, ffi_arg *ar, + ffi_arg *fpr) + { +- ffi_cif *cif; + void **avaluep; + ffi_arg *avalue; + ffi_type **arg_types; +@@ -928,7 +946,6 @@ ffi_closure_mips_inner_N32 (ffi_closure *closure, + int soft_float; + ffi_arg *argp; + +- cif = closure->cif; + soft_float = cif->abi == FFI_N64_SOFT_FLOAT + || cif->abi == FFI_N32_SOFT_FLOAT; + avalue = alloca (cif->nargs * sizeof (ffi_arg)); +@@ -1040,11 +1057,49 @@ ffi_closure_mips_inner_N32 (ffi_closure *closure, + } + + /* Invoke the closure. */ +- (closure->fun) (cif, rvalue, avaluep, closure->user_data); ++ fun (cif, rvalue, avaluep, user_data); + + return cif->flags >> (FFI_FLAG_BITS * 8); + } + + #endif /* FFI_MIPS_N32 */ + ++#if defined(FFI_MIPS_O32) ++extern void ffi_closure_O32(void); ++extern void ffi_go_closure_O32(void); ++#else ++extern void ffi_closure_N32(void); ++extern void ffi_go_closure_N32(void); ++#endif /* FFI_MIPS_O32 */ ++ ++ffi_status ++ffi_prep_go_closure (ffi_go_closure* closure, ffi_cif* cif, ++ void (*fun)(ffi_cif*,void*,void**,void*)) ++{ ++ void * fn; ++ ++#if defined(FFI_MIPS_O32) ++ if (cif->abi != FFI_O32 && cif->abi != FFI_O32_SOFT_FLOAT) ++ return FFI_BAD_ABI; ++ fn = ffi_go_closure_O32; ++#else ++#if _MIPS_SIM ==_ABIN32 ++ if (cif->abi != FFI_N32 ++ && cif->abi != FFI_N32_SOFT_FLOAT) ++ return FFI_BAD_ABI; ++#else ++ if (cif->abi != FFI_N64 ++ && cif->abi != FFI_N64_SOFT_FLOAT) ++ return FFI_BAD_ABI; ++#endif ++ fn = ffi_go_closure_N32; ++#endif /* FFI_MIPS_O32 */ ++ ++ closure->tramp = (void *)fn; ++ closure->cif = cif; ++ closure->fun = fun; ++ ++ return FFI_OK; ++} ++ + #endif /* FFI_CLOSURES */ +--- a/src/libffi/src/mips/ffitarget.h ++++ b/src/libffi/src/mips/ffitarget.h +@@ -231,12 +231,14 @@ typedef enum ffi_abi { + + #if defined(FFI_MIPS_O32) + #define FFI_CLOSURES 1 ++#define FFI_GO_CLOSURES 1 + #define FFI_TRAMPOLINE_SIZE 20 + #else + /* N32/N64. */ + # define FFI_CLOSURES 1 ++#define FFI_GO_CLOSURES 1 + #if _MIPS_SIM==_ABI64 +-#define FFI_TRAMPOLINE_SIZE 52 ++#define FFI_TRAMPOLINE_SIZE 56 + #else + #define FFI_TRAMPOLINE_SIZE 20 + #endif +--- a/src/libffi/src/mips/n32.S ++++ b/src/libffi/src/mips/n32.S +@@ -37,8 +37,12 @@ + #define flags a3 + #define raddr a4 + #define fn a5 ++#define closure a6 + +-#define SIZEOF_FRAME ( 8 * FFI_SIZEOF_ARG ) ++/* Note: to keep stack 16 byte aligned we need even number slots ++ used 9 slots here ++*/ ++#define SIZEOF_FRAME ( 10 * FFI_SIZEOF_ARG ) + + #ifdef __GNUC__ + .abicalls +@@ -49,24 +53,25 @@ + .globl ffi_call_N32 + .ent ffi_call_N32 + ffi_call_N32: +-.LFB3: ++.LFB0: + .frame $fp, SIZEOF_FRAME, ra + .mask 0xc0000000,-FFI_SIZEOF_ARG + .fmask 0x00000000,0 + + # Prologue + SUBU $sp, SIZEOF_FRAME # Frame size +-.LCFI0: ++.LCFI00: + REG_S $fp, SIZEOF_FRAME - 2*FFI_SIZEOF_ARG($sp) # Save frame pointer + REG_S ra, SIZEOF_FRAME - 1*FFI_SIZEOF_ARG($sp) # Save return address +-.LCFI1: ++.LCFI01: + move $fp, $sp +-.LCFI3: ++.LCFI02: + move t9, callback # callback function pointer + REG_S bytes, 2*FFI_SIZEOF_ARG($fp) # bytes + REG_S flags, 3*FFI_SIZEOF_ARG($fp) # flags + REG_S raddr, 4*FFI_SIZEOF_ARG($fp) # raddr + REG_S fn, 5*FFI_SIZEOF_ARG($fp) # fn ++ REG_S closure, 6*FFI_SIZEOF_ARG($fp) # closure + + # Allocate at least 4 words in the argstack + move v0, bytes +@@ -198,6 +203,9 @@ callit: + # Load the function pointer + REG_L t9, 5*FFI_SIZEOF_ARG($fp) + ++ # install the static chain(t7=$15) ++ REG_L t7, 6*FFI_SIZEOF_ARG($fp) ++ + # If the return value pointer is NULL, assume no return value. + REG_L t5, 4*FFI_SIZEOF_ARG($fp) + beqz t5, noretval +@@ -346,7 +354,7 @@ epilogue: + ADDU $sp, SIZEOF_FRAME # Fix stack pointer + j ra + +-.LFE3: ++.LFE0: + .end ffi_call_N32 + + /* ffi_closure_N32. Expects address of the passed-in ffi_closure in t0 +@@ -406,6 +414,41 @@ epilogue: + #define GP_OFF2 (0 * FFI_SIZEOF_ARG) + + .align 2 ++ .globl ffi_go_closure_N32 ++ .ent ffi_go_closure_N32 ++ffi_go_closure_N32: ++.LFB1: ++ .frame $sp, SIZEOF_FRAME2, ra ++ .mask 0x90000000,-(SIZEOF_FRAME2 - RA_OFF2) ++ .fmask 0x00000000,0 ++ SUBU $sp, SIZEOF_FRAME2 ++.LCFI10: ++ .cpsetup t9, GP_OFF2, ffi_go_closure_N32 ++ REG_S ra, RA_OFF2($sp) # Save return address ++.LCFI11: ++ ++ REG_S a0, A0_OFF2($sp) ++ REG_S a1, A1_OFF2($sp) ++ REG_S a2, A2_OFF2($sp) ++ REG_S a3, A3_OFF2($sp) ++ REG_S a4, A4_OFF2($sp) ++ REG_S a5, A5_OFF2($sp) ++ ++ # Call ffi_closure_mips_inner_N32 to do the real work. ++ LA t9, ffi_closure_mips_inner_N32 ++ REG_L a0, 8($15) # cif ++ REG_L a1, 16($15) # fun ++ move a2, t7 # userdata=closure ++ ADDU a3, $sp, V0_OFF2 # rvalue ++ ADDU a4, $sp, A0_OFF2 # ar ++ ADDU a5, $sp, F12_OFF2 # fpr ++ ++ b $do_closure ++ ++.LFE1: ++ .end ffi_go_closure_N32 ++ ++ .align 2 + .globl ffi_closure_N32 + .ent ffi_closure_N32 + ffi_closure_N32: +@@ -414,18 +457,29 @@ ffi_closure_N32: + .mask 0x90000000,-(SIZEOF_FRAME2 - RA_OFF2) + .fmask 0x00000000,0 + SUBU $sp, SIZEOF_FRAME2 +-.LCFI5: ++.LCFI20: + .cpsetup t9, GP_OFF2, ffi_closure_N32 + REG_S ra, RA_OFF2($sp) # Save return address +-.LCFI6: +- # Store all possible argument registers. If there are more than +- # fit in registers, then they were stored on the stack. ++.LCFI21: + REG_S a0, A0_OFF2($sp) + REG_S a1, A1_OFF2($sp) + REG_S a2, A2_OFF2($sp) + REG_S a3, A3_OFF2($sp) + REG_S a4, A4_OFF2($sp) + REG_S a5, A5_OFF2($sp) ++ ++ # Call ffi_closure_mips_inner_N32 to do the real work. ++ LA t9, ffi_closure_mips_inner_N32 ++ REG_L a0, 56($12) # cif ++ REG_L a1, 64($12) # fun ++ REG_L a2, 72($12) # user_data ++ ADDU a3, $sp, V0_OFF2 ++ ADDU a4, $sp, A0_OFF2 ++ ADDU a5, $sp, F12_OFF2 ++ ++$do_closure: ++ # Store all possible argument registers. If there are more than ++ # fit in registers, then they were stored on the stack. + REG_S a6, A6_OFF2($sp) + REG_S a7, A7_OFF2($sp) + +@@ -439,12 +493,6 @@ ffi_closure_N32: + s.d $f18, F18_OFF2($sp) + s.d $f19, F19_OFF2($sp) + +- # Call ffi_closure_mips_inner_N32 to do the real work. +- LA t9, ffi_closure_mips_inner_N32 +- move a0, $12 # Pointer to the ffi_closure +- ADDU a1, $sp, V0_OFF2 +- ADDU a2, $sp, A0_OFF2 +- ADDU a3, $sp, F12_OFF2 + jalr t9 + + # Return flags are in v0 +@@ -531,46 +579,66 @@ cls_epilogue: + .align EH_FRAME_ALIGN + .LECIE1: + +-.LSFDE1: +- .4byte .LEFDE1-.LASFDE1 # length. +-.LASFDE1: +- .4byte .LASFDE1-.Lframe1 # CIE_pointer. +- FDE_ADDR_BYTES .LFB3 # initial_location. +- FDE_ADDR_BYTES .LFE3-.LFB3 # address_range. ++.LSFDE0: ++ .4byte .LEFDE0-.LASFDE0 # length. ++.LASFDE0: ++ .4byte .LASFDE0-.Lframe1 # CIE_pointer. ++ FDE_ADDR_BYTES .LFB0 # initial_location. ++ FDE_ADDR_BYTES .LFE0-.LFB0 # address_range. + .byte 0x4 # DW_CFA_advance_loc4 +- .4byte .LCFI0-.LFB3 # to .LCFI0 ++ .4byte .LCFI00-.LFB0 # to .LCFI00 + .byte 0xe # DW_CFA_def_cfa_offset + .uleb128 SIZEOF_FRAME # adjust stack.by SIZEOF_FRAME + .byte 0x4 # DW_CFA_advance_loc4 +- .4byte .LCFI1-.LCFI0 # to .LCFI1 ++ .4byte .LCFI01-.LCFI00 # to .LCFI01 + .byte 0x9e # DW_CFA_offset of $fp + .uleb128 2*FFI_SIZEOF_ARG/4 # + .byte 0x9f # DW_CFA_offset of ra + .uleb128 1*FFI_SIZEOF_ARG/4 # + .byte 0x4 # DW_CFA_advance_loc4 +- .4byte .LCFI3-.LCFI1 # to .LCFI3 ++ .4byte .LCFI02-.LCFI01 # to .LCFI02 + .byte 0xd # DW_CFA_def_cfa_register + .uleb128 0x1e # in $fp + .align EH_FRAME_ALIGN ++.LEFDE0: ++ ++.LSFDE1: ++ .4byte .LEFDE1-.LASFDE1 # length ++.LASFDE1: ++ .4byte .LASFDE1-.Lframe1 # CIE_pointer. ++ FDE_ADDR_BYTES .LFB1 # initial_location. ++ FDE_ADDR_BYTES .LFE1-.LFB1 # address_range. ++ .byte 0x4 # DW_CFA_advance_loc4 ++ .4byte .LCFI10-.LFB1 # to .LCFI10 ++ .byte 0xe # DW_CFA_def_cfa_offset ++ .uleb128 SIZEOF_FRAME2 # adjust stack.by SIZEOF_FRAME ++ .byte 0x4 # DW_CFA_advance_loc4 ++ .4byte .LCFI11-.LCFI10 # to .LCFI11 ++ .byte 0x9c # DW_CFA_offset of $gp ($28) ++ .uleb128 (SIZEOF_FRAME2 - GP_OFF2)/4 ++ .byte 0x9f # DW_CFA_offset of ra ($31) ++ .uleb128 (SIZEOF_FRAME2 - RA_OFF2)/4 ++ .align EH_FRAME_ALIGN + .LEFDE1: +-.LSFDE3: +- .4byte .LEFDE3-.LASFDE3 # length +-.LASFDE3: +- .4byte .LASFDE3-.Lframe1 # CIE_pointer. ++ ++.LSFDE2: ++ .4byte .LEFDE2-.LASFDE2 # length ++.LASFDE2: ++ .4byte .LASFDE2-.Lframe1 # CIE_pointer. + FDE_ADDR_BYTES .LFB2 # initial_location. + FDE_ADDR_BYTES .LFE2-.LFB2 # address_range. + .byte 0x4 # DW_CFA_advance_loc4 +- .4byte .LCFI5-.LFB2 # to .LCFI5 ++ .4byte .LCFI20-.LFB2 # to .LCFI20 + .byte 0xe # DW_CFA_def_cfa_offset + .uleb128 SIZEOF_FRAME2 # adjust stack.by SIZEOF_FRAME + .byte 0x4 # DW_CFA_advance_loc4 +- .4byte .LCFI6-.LCFI5 # to .LCFI6 ++ .4byte .LCFI21-.LCFI20 # to .LCFI21 + .byte 0x9c # DW_CFA_offset of $gp ($28) + .uleb128 (SIZEOF_FRAME2 - GP_OFF2)/4 + .byte 0x9f # DW_CFA_offset of ra ($31) + .uleb128 (SIZEOF_FRAME2 - RA_OFF2)/4 + .align EH_FRAME_ALIGN +-.LEFDE3: ++.LEFDE2: + #endif /* __GNUC__ */ + + #endif +--- a/src/libffi/src/mips/o32.S ++++ b/src/libffi/src/mips/o32.S +@@ -50,14 +50,14 @@ ffi_call_O32: + $LFB0: + # Prologue + SUBU $sp, SIZEOF_FRAME # Frame size +-$LCFI0: ++$LCFI00: + REG_S $fp, FP_OFF($sp) # Save frame pointer +-$LCFI1: ++$LCFI01: + REG_S ra, RA_OFF($sp) # Save return address +-$LCFI2: ++$LCFI02: + move $fp, $sp + +-$LCFI3: ++$LCFI03: + move t9, callback # callback function pointer + REG_S flags, A3_OFF($fp) # flags + +@@ -132,6 +132,9 @@ pass_f_d: + l.d $f14, 2*FFI_SIZEOF_ARG($sp) # passing double and float + + call_it: ++ # Load the static chain pointer ++ REG_L t7, SIZEOF_FRAME + 6*FFI_SIZEOF_ARG($fp) ++ + # Load the function pointer + REG_L t9, SIZEOF_FRAME + 5*FFI_SIZEOF_ARG($fp) + +@@ -204,13 +207,15 @@ $LFE0: + -8 - f14 (le low, be high) + -9 - f12 (le high, be low) + -10 - f12 (le low, be high) +- -11 - Called function a3 save +- -12 - Called function a2 save +- -13 - Called function a1 save +- -14 - Called function a0 save, our sp and fp point here ++ -11 - Called function a5 save ++ -12 - Called function a4 save ++ -13 - Called function a3 save ++ -14 - Called function a2 save ++ -15 - Called function a1 save ++ -16 - Called function a0 save, our sp and fp point here + */ + +-#define SIZEOF_FRAME2 (14 * FFI_SIZEOF_ARG) ++#define SIZEOF_FRAME2 (16 * FFI_SIZEOF_ARG) + #define A3_OFF2 (SIZEOF_FRAME2 + 3 * FFI_SIZEOF_ARG) + #define A2_OFF2 (SIZEOF_FRAME2 + 2 * FFI_SIZEOF_ARG) + #define A1_OFF2 (SIZEOF_FRAME2 + 1 * FFI_SIZEOF_ARG) +@@ -225,13 +230,71 @@ $LFE0: + #define FA_1_0_OFF2 (SIZEOF_FRAME2 - 8 * FFI_SIZEOF_ARG) + #define FA_0_1_OFF2 (SIZEOF_FRAME2 - 9 * FFI_SIZEOF_ARG) + #define FA_0_0_OFF2 (SIZEOF_FRAME2 - 10 * FFI_SIZEOF_ARG) ++#define CALLED_A5_OFF2 (SIZEOF_FRAME2 - 11 * FFI_SIZEOF_ARG) ++#define CALLED_A4_OFF2 (SIZEOF_FRAME2 - 12 * FFI_SIZEOF_ARG) + + .text ++ ++ .align 2 ++ .globl ffi_go_closure_O32 ++ .ent ffi_go_closure_O32 ++ffi_go_closure_O32: ++$LFB1: ++ # Prologue ++ .frame $fp, SIZEOF_FRAME2, ra ++ .set noreorder ++ .cpload t9 ++ .set reorder ++ SUBU $sp, SIZEOF_FRAME2 ++ .cprestore GP_OFF2 ++$LCFI10: ++ ++ REG_S $16, S0_OFF2($sp) # Save s0 ++ REG_S $fp, FP_OFF2($sp) # Save frame pointer ++ REG_S ra, RA_OFF2($sp) # Save return address ++$LCFI11: ++ ++ move $fp, $sp ++$LCFI12: ++ ++ REG_S a0, A0_OFF2($fp) ++ REG_S a1, A1_OFF2($fp) ++ REG_S a2, A2_OFF2($fp) ++ REG_S a3, A3_OFF2($fp) ++ ++ # Load ABI enum to s0 ++ REG_L $16, 4($15) # cif ++ REG_L $16, 0($16) # abi is first member. ++ ++ li $13, 1 # FFI_O32 ++ bne $16, $13, 1f # Skip fp save if FFI_O32_SOFT_FLOAT ++ ++ # Store all possible float/double registers. ++ s.d $f12, FA_0_0_OFF2($fp) ++ s.d $f14, FA_1_0_OFF2($fp) ++1: ++ # prepare arguments for ffi_closure_mips_inner_O32 ++ REG_L a0, 4($15) # cif ++ REG_L a1, 8($15) # fun ++ move a2, $15 # user_data = go closure ++ addu a3, $fp, V0_OFF2 # rvalue ++ ++ addu t9, $fp, A0_OFF2 # ar ++ REG_S t9, CALLED_A4_OFF2($fp) ++ ++ addu t9, $fp, FA_0_0_OFF2 #fpr ++ REG_S t9, CALLED_A5_OFF2($fp) ++ ++ b $do_closure ++ ++$LFE1: ++ .end ffi_go_closure_O32 ++ + .align 2 + .globl ffi_closure_O32 + .ent ffi_closure_O32 + ffi_closure_O32: +-$LFB1: ++$LFB2: + # Prologue + .frame $fp, SIZEOF_FRAME2, ra + .set noreorder +@@ -239,14 +302,14 @@ $LFB1: + .set reorder + SUBU $sp, SIZEOF_FRAME2 + .cprestore GP_OFF2 +-$LCFI4: ++$LCFI20: + REG_S $16, S0_OFF2($sp) # Save s0 + REG_S $fp, FP_OFF2($sp) # Save frame pointer + REG_S ra, RA_OFF2($sp) # Save return address +-$LCFI6: ++$LCFI21: + move $fp, $sp + +-$LCFI7: ++$LCFI22: + # Store all possible argument registers. If there are more than + # four arguments, then they are stored above where we put a3. + REG_S a0, A0_OFF2($fp) +@@ -265,12 +328,21 @@ $LCFI7: + s.d $f12, FA_0_0_OFF2($fp) + s.d $f14, FA_1_0_OFF2($fp) + 1: +- # Call ffi_closure_mips_inner_O32 to do the work. ++ # prepare arguments for ffi_closure_mips_inner_O32 ++ REG_L a0, 20($12) # cif pointer follows tramp. ++ REG_L a1, 24($12) # fun ++ REG_L a2, 28($12) # user_data ++ addu a3, $fp, V0_OFF2 # rvalue ++ ++ addu t9, $fp, A0_OFF2 # ar ++ REG_S t9, CALLED_A4_OFF2($fp) ++ ++ addu t9, $fp, FA_0_0_OFF2 #fpr ++ REG_S t9, CALLED_A5_OFF2($fp) ++ ++$do_closure: + la t9, ffi_closure_mips_inner_O32 +- move a0, $12 # Pointer to the ffi_closure +- addu a1, $fp, V0_OFF2 +- addu a2, $fp, A0_OFF2 +- addu a3, $fp, FA_0_0_OFF2 ++ # Call ffi_closure_mips_inner_O32 to do the work. + jalr t9 + + # Load the return value into the appropriate register. +@@ -300,7 +372,7 @@ closure_done: + REG_L ra, RA_OFF2($sp) # Restore return address + ADDU $sp, SIZEOF_FRAME2 + j ra +-$LFE1: ++$LFE2: + .end ffi_closure_O32 + + /* DWARF-2 unwind info. */ +@@ -322,6 +394,7 @@ $LSCIE0: + .uleb128 0x0 + .align 2 + $LECIE0: ++ + $LSFDE0: + .4byte $LEFDE0-$LASFDE0 # FDE Length + $LASFDE0: +@@ -330,11 +403,11 @@ $LASFDE0: + .4byte $LFE0-$LFB0 # FDE address range + .uleb128 0x0 # Augmentation size + .byte 0x4 # DW_CFA_advance_loc4 +- .4byte $LCFI0-$LFB0 ++ .4byte $LCFI00-$LFB0 + .byte 0xe # DW_CFA_def_cfa_offset + .uleb128 0x18 + .byte 0x4 # DW_CFA_advance_loc4 +- .4byte $LCFI2-$LCFI0 ++ .4byte $LCFI01-$LCFI00 + .byte 0x11 # DW_CFA_offset_extended_sf + .uleb128 0x1e # $fp + .sleb128 -2 # SIZEOF_FRAME2 - 2*FFI_SIZEOF_ARG($sp) +@@ -342,12 +415,13 @@ $LASFDE0: + .uleb128 0x1f # $ra + .sleb128 -1 # SIZEOF_FRAME2 - 1*FFI_SIZEOF_ARG($sp) + .byte 0x4 # DW_CFA_advance_loc4 +- .4byte $LCFI3-$LCFI2 ++ .4byte $LCFI02-$LCFI01 + .byte 0xc # DW_CFA_def_cfa + .uleb128 0x1e + .uleb128 0x18 + .align 2 + $LEFDE0: ++ + $LSFDE1: + .4byte $LEFDE1-$LASFDE1 # FDE Length + $LASFDE1: +@@ -356,11 +430,11 @@ $LASFDE1: + .4byte $LFE1-$LFB1 # FDE address range + .uleb128 0x0 # Augmentation size + .byte 0x4 # DW_CFA_advance_loc4 +- .4byte $LCFI4-$LFB1 ++ .4byte $LCFI10-$LFB1 + .byte 0xe # DW_CFA_def_cfa_offset +- .uleb128 0x38 ++ .uleb128 SIZEOF_FRAME2 + .byte 0x4 # DW_CFA_advance_loc4 +- .4byte $LCFI6-$LCFI4 ++ .4byte $LCFI11-$LCFI10 + .byte 0x11 # DW_CFA_offset_extended_sf + .uleb128 0x10 # $16 + .sleb128 -3 # SIZEOF_FRAME2 - 3*FFI_SIZEOF_ARG($sp) +@@ -371,11 +445,41 @@ $LASFDE1: + .uleb128 0x1f # $ra + .sleb128 -1 # SIZEOF_FRAME2 - 1*FFI_SIZEOF_ARG($sp) + .byte 0x4 # DW_CFA_advance_loc4 +- .4byte $LCFI7-$LCFI6 ++ .4byte $LCFI12-$LCFI11 + .byte 0xc # DW_CFA_def_cfa + .uleb128 0x1e +- .uleb128 0x38 ++ .uleb128 SIZEOF_FRAME2 + .align 2 + $LEFDE1: + ++$LSFDE2: ++ .4byte $LEFDE2-$LASFDE2 # FDE Length ++$LASFDE2: ++ .4byte $LASFDE2-$Lframe0 # FDE CIE offset ++ .4byte $LFB2 # FDE initial location ++ .4byte $LFE2-$LFB2 # FDE address range ++ .uleb128 0x0 # Augmentation size ++ .byte 0x4 # DW_CFA_advance_loc4 ++ .4byte $LCFI20-$LFB2 ++ .byte 0xe # DW_CFA_def_cfa_offset ++ .uleb128 SIZEOF_FRAME2 ++ .byte 0x4 # DW_CFA_advance_loc4 ++ .4byte $LCFI21-$LCFI20 ++ .byte 0x11 # DW_CFA_offset_extended_sf ++ .uleb128 0x10 # $16 ++ .sleb128 -3 # SIZEOF_FRAME2 - 3*FFI_SIZEOF_ARG($sp) ++ .byte 0x11 # DW_CFA_offset_extended_sf ++ .uleb128 0x1e # $fp ++ .sleb128 -2 # SIZEOF_FRAME2 - 2*FFI_SIZEOF_ARG($sp) ++ .byte 0x11 # DW_CFA_offset_extended_sf ++ .uleb128 0x1f # $ra ++ .sleb128 -1 # SIZEOF_FRAME2 - 1*FFI_SIZEOF_ARG($sp) ++ .byte 0x4 # DW_CFA_advance_loc4 ++ .4byte $LCFI22-$LCFI21 ++ .byte 0xc # DW_CFA_def_cfa ++ .uleb128 0x1e ++ .uleb128 SIZEOF_FRAME2 ++ .align 2 ++$LEFDE2: ++ + #endif --- gcc-7-7.1.0.orig/debian/patches/libffi-pax.diff +++ gcc-7-7.1.0/debian/patches/libffi-pax.diff @@ -0,0 +1,161 @@ +From 757876336c183f5b20b6620d674cc9817fd0d280 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20B=C3=BChler?= +Date: Wed, 7 Sep 2016 15:50:54 +0200 +Subject: [PATCH 2/2] always check for PaX MPROTECT on linux, make EMUTRAMP + experimental + +- ffi_prep_closure_loc doesn't necessarily generate trampolines recognized by + PaX EMUTRAMP handler; there is no way to check before, and it isn't working +on x86-64 right now -> experimental +- if MPROTECT is enabled use the same workaround as is used for SELinux (double + mmap()) +--- + configure.ac | 11 +++++++--- + src/closures.c | 68 +++++++++++++++++++++++++++++++++++++++------------------- + 2 files changed, 54 insertions(+), 25 deletions(-) + +--- a/src/libffi/configure.ac ++++ b/src/libffi/configure.ac +@@ -177,12 +177,17 @@ + ;; + esac + +-# On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC. ++# On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC; ++# if EMUTRAMP is active too ffi could try mapping without PROT_EXEC, ++# but the kernel needs to recognize the trampoline generated by ffi. ++# Otherwise fallback to double mmap trick. + AC_ARG_ENABLE(pax_emutramp, +- [ --enable-pax_emutramp enable pax emulated trampolines, for we can't use PROT_EXEC], ++ [ --enable-pax_emutramp enable pax emulated trampolines (experimental)], + if test "$enable_pax_emutramp" = "yes"; then ++ AC_MSG_WARN([EMUTRAMP is experimental only. Use --enable-pax_emutramp=experimental to enforce.]) ++ elif test "$enable_pax_emutramp" = "experimental"; then + AC_DEFINE(FFI_MMAP_EXEC_EMUTRAMP_PAX, 1, +- [Define this if you want to enable pax emulated trampolines]) ++ [Define this if you want to enable pax emulated trampolines (experimental)]) + fi) + + FFI_EXEC_TRAMPOLINE_TABLE=0 +--- a/src/libffi/src/closures.c ++++ b/src/libffi/src/closures.c +@@ -53,14 +53,18 @@ + # endif + #endif + +-#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX +-# ifdef __linux__ ++#if FFI_MMAP_EXEC_WRIT && defined __linux__ ++# if !defined FFI_MMAP_EXEC_SELINUX + /* When defined to 1 check for SELinux and if SELinux is active, + don't attempt PROT_EXEC|PROT_WRITE mapping at all, as that + might cause audit messages. */ + # define FFI_MMAP_EXEC_SELINUX 1 +-# endif +-#endif ++# endif /* !defined FFI_MMAP_EXEC_SELINUX */ ++# if !defined FFI_MMAP_PAX ++/* Also check for PaX MPROTECT */ ++# define FFI_MMAP_PAX 1 ++# endif /* !defined FFI_MMAP_PAX */ ++#endif /* FFI_MMAP_EXEC_WRIT && defined __linux__ */ + + #if FFI_CLOSURES + +@@ -172,14 +176,18 @@ + + #endif /* !FFI_MMAP_EXEC_SELINUX */ + +-/* On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC. */ +-#ifdef FFI_MMAP_EXEC_EMUTRAMP_PAX ++/* On PaX enable kernels that have MPROTECT enabled we can't use PROT_EXEC. */ ++#if defined FFI_MMAP_PAX + #include + +-static int emutramp_enabled = -1; ++enum { ++ PAX_MPROTECT = (1 << 0), ++ PAX_EMUTRAMP = (1 << 1), ++}; ++static int cached_pax_flags = -1; + + static int +-emutramp_enabled_check (void) ++pax_flags_check (void) + { + char *buf = NULL; + size_t len = 0; +@@ -193,9 +201,10 @@ + while (getline (&buf, &len, f) != -1) + if (!strncmp (buf, "PaX:", 4)) + { +- char emutramp; +- if (sscanf (buf, "%*s %*c%c", &emutramp) == 1) +- ret = (emutramp == 'E'); ++ if (NULL != strchr (buf + 4, 'M')) ++ ret |= PAX_MPROTECT; ++ if (NULL != strchr (buf + 4, 'E')) ++ ret |= PAX_EMUTRAMP; + break; + } + free (buf); +@@ -203,9 +212,13 @@ + return ret; + } + +-#define is_emutramp_enabled() (emutramp_enabled >= 0 ? emutramp_enabled \ +- : (emutramp_enabled = emutramp_enabled_check ())) +-#endif /* FFI_MMAP_EXEC_EMUTRAMP_PAX */ ++#define get_pax_flags() (cached_pax_flags >= 0 ? cached_pax_flags \ ++ : (cached_pax_flags = pax_flags_check ())) ++#define has_pax_flags(flags) ((flags) == ((flags) & get_pax_flags ())) ++#define is_mprotect_enabled() (has_pax_flags (PAX_MPROTECT)) ++#define is_emutramp_enabled() (has_pax_flags (PAX_EMUTRAMP)) ++ ++#endif /* defined FFI_MMAP_PAX */ + + #elif defined (__CYGWIN__) || defined(__INTERIX) + +@@ -216,9 +229,10 @@ + + #endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */ + +-#ifndef FFI_MMAP_EXEC_EMUTRAMP_PAX +-#define is_emutramp_enabled() 0 +-#endif /* FFI_MMAP_EXEC_EMUTRAMP_PAX */ ++#if !defined FFI_MMAP_PAX ++# define is_mprotect_enabled() 0 ++# define is_emutramp_enabled() 0 ++#endif /* !defined FFI_MMAP_PAX */ + + /* Declare all functions defined in dlmalloc.c as static. */ + static void *dlmalloc(size_t); +@@ -525,13 +539,23 @@ + printf ("mapping in %zi\n", length); + #endif + +- if (execfd == -1 && is_emutramp_enabled ()) ++ /* -1 != execfd hints that we already decided to use dlmmap_locked ++ last time. */ ++ if (execfd == -1 && is_mprotect_enabled ()) + { +- ptr = mmap (start, length, prot & ~PROT_EXEC, flags, fd, offset); +- return ptr; ++#ifdef FFI_MMAP_EXEC_EMUTRAMP_PAX ++ if (is_emutramp_enabled ()) ++ { ++ /* emutramp requires the kernel recognizing the trampoline pattern ++ generated by ffi_prep_closure_loc; there is no way to test ++ in advance whether this will work, so this is experimental. */ ++ ptr = mmap (start, length, prot & ~PROT_EXEC, flags, fd, offset); ++ return ptr; ++ } ++#endif ++ /* fallback to dlmmap_locked. */ + } +- +- if (execfd == -1 && !is_selinux_enabled ()) ++ else if (execfd == -1 && !is_selinux_enabled ()) + { + ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset); + --- gcc-7-7.1.0.orig/debian/patches/libffi-race-condition.diff +++ gcc-7-7.1.0/debian/patches/libffi-race-condition.diff @@ -0,0 +1,33 @@ +From 48d2e46528fb6e621d95a7fa194069fd136b712d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20B=C3=BChler?= +Date: Wed, 7 Sep 2016 15:49:48 +0200 +Subject: [PATCH 1/2] dlmmap_locked always needs locking as it always modifies + execsize + +--- + src/closures.c | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +--- a/src/libffi/src/closures.c ++++ b/src/libffi/src/closures.c +@@ -568,16 +568,11 @@ + MREMAP_DUP and prot at this point. */ + } + +- if (execsize == 0 || execfd == -1) +- { +- pthread_mutex_lock (&open_temp_exec_file_mutex); +- ptr = dlmmap_locked (start, length, prot, flags, offset); +- pthread_mutex_unlock (&open_temp_exec_file_mutex); ++ pthread_mutex_lock (&open_temp_exec_file_mutex); ++ ptr = dlmmap_locked (start, length, prot, flags, offset); ++ pthread_mutex_unlock (&open_temp_exec_file_mutex); + +- return ptr; +- } +- +- return dlmmap_locked (start, length, prot, flags, offset); ++ return ptr; + } + + /* Release memory at the given address, as well as the corresponding --- gcc-7-7.1.0.orig/debian/patches/libffi-ro-eh_frame_sect.diff +++ gcc-7-7.1.0/debian/patches/libffi-ro-eh_frame_sect.diff @@ -0,0 +1,15 @@ +# DP: PR libffi/47248, force a read only eh frame section. + +Index: b/src/libffi/configure.ac +=================================================================== +--- a/src/libffi/configure.ac ++++ b/src/libffi/configure.ac +@@ -275,6 +275,8 @@ if test "x$GCC" = "xyes"; then + libffi_cv_hidden_visibility_attribute=yes + fi + fi ++ # FIXME: see PR libffi/47248 ++ libffi_cv_ro_eh_frame=yes + rm -f conftest.* + ]) + if test $libffi_cv_hidden_visibility_attribute = yes; then --- gcc-7-7.1.0.orig/debian/patches/libgo-revert-timeout-exp.diff +++ gcc-7-7.1.0/debian/patches/libgo-revert-timeout-exp.diff @@ -0,0 +1,12 @@ +Index: b/src/libgo/testsuite/lib/libgo.exp +=================================================================== +--- a/src/libgo/testsuite/lib/libgo.exp ++++ b/src/libgo/testsuite/lib/libgo.exp +@@ -46,7 +46,6 @@ load_gcc_lib wrapper.exp + load_gcc_lib target-supports.exp + load_gcc_lib target-utils.exp + load_gcc_lib gcc-defs.exp +-load_gcc_lib timeout.exp + load_gcc_lib go.exp + + proc libgo_init { args } { --- gcc-7-7.1.0.orig/debian/patches/libgo-setcontext-config.diff +++ gcc-7-7.1.0/debian/patches/libgo-setcontext-config.diff @@ -0,0 +1,21 @@ +# DP: libgo: Overwrite the setcontext_clobbers_tls check on mips* + +Index: b/src/libgo/configure.ac +=================================================================== +--- a/src/libgo/configure.ac ++++ b/src/libgo/configure.ac +@@ -843,6 +843,14 @@ main () + CFLAGS="$CFLAGS_hold" + LIBS="$LIBS_hold" + ]) ++dnl overwrite for the mips* 64bit multilibs, fails on some buildds ++if test "$libgo_cv_lib_setcontext_clobbers_tls" = "yes"; then ++ case "$target" in ++ mips*-linux-*) ++ AC_MSG_WARN([FIXME: overwrite setcontext_clobbers_tls for $target:$ptr_type_size]) ++ libgo_cv_lib_setcontext_clobbers_tls=no ;; ++ esac ++fi + if test "$libgo_cv_lib_setcontext_clobbers_tls" = "yes"; then + AC_DEFINE(SETCONTEXT_CLOBBERS_TLS, 1, + [Define if setcontext clobbers TLS variables]) --- gcc-7-7.1.0.orig/debian/patches/libgo-testsuite.diff +++ gcc-7-7.1.0/debian/patches/libgo-testsuite.diff @@ -0,0 +1,54 @@ +# DP: Only run the libgo testsuite for flags configured in RUNTESTFLAGS + +Index: b/src/libgo/Makefile.am +=================================================================== +--- a/src/libgo/Makefile.am ++++ b/src/libgo/Makefile.am +@@ -948,7 +948,12 @@ CHECK = \ + $(MKDIR_P) $(@D); \ + rm -f $@-testsum $@-testlog; \ + files=`$(SHELL) $(srcdir)/match.sh --goarch=$(GOARCH) --goos=$(GOOS) --srcdir=$(srcdir)/go/$(@D) --extrafiles="$(extra_go_files_$(subst /,_,$(@D)))" $(matchargs_$(subst /,_,$(@D)))`; \ +- if test "$(USE_DEJAGNU)" = "yes"; then \ ++ run_check=yes; \ ++ MULTILIBDIR="$(MULTILIBDIR)"; \ ++ case "$$MULTILIBDIR" in /64|/x32) \ ++ echo "$$RUNTESTFLAGS" | grep -q "$${MULTILIBDIR\#/*}" || run_check=; \ ++ esac; \ ++ if test "$$run_check" = "yes"; then \ + $(SHELL) $(srcdir)/testsuite/gotest --goarch=$(GOARCH) --goos=$(GOOS) --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --pkgpath="$(@D)" --pkgfiles="$$files" --testname="$(@D)" $(GOTESTFLAGS); \ + elif test "$(GOBENCH)" != ""; then \ + $(SHELL) $(srcdir)/testsuite/gotest --goarch=$(GOARCH) --goos=$(GOOS) --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --pkgpath="$(@D)" --pkgfiles="$$files" --bench="$(GOBENCH)" $(GOTESTFLAGS); \ +@@ -963,6 +968,7 @@ CHECK = \ + echo "FAIL: $(@D)" > $@-testsum; \ + exit 1; \ + fi; \ ++ fi; \ + fi + + # Build all packages before checking any. +Index: b/src/libgo/Makefile.in +=================================================================== +--- a/src/libgo/Makefile.in ++++ b/src/libgo/Makefile.in +@@ -1104,7 +1104,12 @@ CHECK = \ + $(MKDIR_P) $(@D); \ + rm -f $@-testsum $@-testlog; \ + files=`$(SHELL) $(srcdir)/match.sh --goarch=$(GOARCH) --goos=$(GOOS) --srcdir=$(srcdir)/go/$(@D) --extrafiles="$(extra_go_files_$(subst /,_,$(@D)))" $(matchargs_$(subst /,_,$(@D)))`; \ +- if test "$(USE_DEJAGNU)" = "yes"; then \ ++ run_check=yes; \ ++ MULTILIBDIR="$(MULTILIBDIR)"; \ ++ case "$$MULTILIBDIR" in /64|/x32) \ ++ echo "$$RUNTESTFLAGS" | grep -q "$${MULTILIBDIR\#/*}" || run_check=; \ ++ esac; \ ++ if test "$$run_check" = "yes"; then \ + $(SHELL) $(srcdir)/testsuite/gotest --goarch=$(GOARCH) --goos=$(GOOS) --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --pkgpath="$(@D)" --pkgfiles="$$files" --testname="$(@D)" $(GOTESTFLAGS); \ + elif test "$(GOBENCH)" != ""; then \ + $(SHELL) $(srcdir)/testsuite/gotest --goarch=$(GOARCH) --goos=$(GOOS) --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --pkgpath="$(@D)" --pkgfiles="$$files" --bench="$(GOBENCH)" $(GOTESTFLAGS); \ +@@ -1119,6 +1124,7 @@ CHECK = \ + echo "FAIL: $(@D)" > $@-testsum; \ + exit 1; \ + fi; \ ++ fi; \ + fi + + --- gcc-7-7.1.0.orig/debian/patches/libgomp-kfreebsd-testsuite.diff +++ gcc-7-7.1.0/debian/patches/libgomp-kfreebsd-testsuite.diff @@ -0,0 +1,16 @@ +# DP: Disable lock-2.c test on kfreebsd-* + +Index: b/src/libgomp/testsuite/libgomp.c/lock-2.c +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c/lock-2.c ++++ b/src/libgomp/testsuite/libgomp.c/lock-2.c +@@ -4,6 +4,9 @@ + int + main (void) + { ++#ifdef __FreeBSD_kernel__ ++ return 1; ++#endif + int l = 0; + omp_nest_lock_t lock; + omp_init_nest_lock (&lock); --- gcc-7-7.1.0.orig/debian/patches/libgomp-omp_h-multilib.diff +++ gcc-7-7.1.0/debian/patches/libgomp-omp_h-multilib.diff @@ -0,0 +1,28 @@ +# DP: Fix up omp.h for multilibs. + +2008-06-09 Jakub Jelinek + + * omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs. + +2015-03-25 Matthias Klose + + * omp.h.in (omp_nest_lock_t): Limit the fix Linux. + +Index: b/src/libgomp/omp.h.in +=================================================================== +--- a/src/libgomp/omp.h.in ++++ b/src/libgomp/omp.h.in +@@ -40,8 +40,13 @@ typedef struct + + typedef struct + { ++#if defined(__linux__) ++ unsigned char _x[8 + sizeof (void *)] ++ __attribute__((__aligned__(sizeof (void *)))); ++#else + unsigned char _x[@OMP_NEST_LOCK_SIZE@] + __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@))); ++#endif + } omp_nest_lock_t; + #endif + --- gcc-7-7.1.0.orig/debian/patches/libitm-no-fortify-source.diff +++ gcc-7-7.1.0/debian/patches/libitm-no-fortify-source.diff @@ -0,0 +1,19 @@ +# DP: Build libitm with -U_FORTIFY_SOURCE on x86 and x86_64. + +Index: b/src/libitm/configure.tgt +=================================================================== +--- a/src/libitm/configure.tgt ++++ b/src/libitm/configure.tgt +@@ -119,6 +119,12 @@ case "${target_cpu}" in + ;; + esac + ++# FIXME: ftbfs with -D_FORTIFY_SOURCE (error: invalid use of '__builtin_va_arg_pack ()) ++case "${target}" in ++ *-*-linux*) ++ XCFLAGS="${XCFLAGS} -U_FORTIFY_SOURCE" ++esac ++ + # For the benefit of top-level configure, determine if the cpu is supported. + test -d ${srcdir}/config/$ARCH || UNSUPPORTED=1 + --- gcc-7-7.1.0.orig/debian/patches/libjit-ldflags.diff +++ gcc-7-7.1.0/debian/patches/libjit-ldflags.diff @@ -0,0 +1,13 @@ +Index: b/src/gcc/jit/Make-lang.in +=================================================================== +--- a/src/gcc/jit/Make-lang.in ++++ b/src/gcc/jit/Make-lang.in +@@ -86,7 +86,7 @@ $(LIBGCCJIT_FILENAME): $(jit_OBJS) \ + $(CPPLIB) $(LIBDECNUMBER) $(LIBS) $(BACKENDLIBS) \ + $(EXTRA_GCC_OBJS) \ + -Wl,--version-script=$(srcdir)/jit/libgccjit.map \ +- -Wl,-soname,$(LIBGCCJIT_SONAME) ++ -Wl,-soname,$(LIBGCCJIT_SONAME) $(LDFLAGS) + + $(LIBGCCJIT_SONAME_SYMLINK): $(LIBGCCJIT_FILENAME) + ln -sf $(LIBGCCJIT_FILENAME) $(LIBGCCJIT_SONAME_SYMLINK) --- gcc-7-7.1.0.orig/debian/patches/libphobos-zlib.diff +++ gcc-7-7.1.0/debian/patches/libphobos-zlib.diff @@ -0,0 +1,74 @@ +# DP: Build zlib in any case to have a fall back for missing libz multilibs + +Index: b/src/libphobos/configure.ac +=================================================================== +--- a/src/libphobos/configure.ac ++++ b/src/libphobos/configure.ac +@@ -104,6 +104,7 @@ WITH_LOCAL_DRUNTIME([ + + DRUNTIME_LIBBACKTRACE_SETUP + DRUNTIME_INSTALL_DIRECTORIES ++dnl fake change to regenerate the configure file + + # Add dependencies for libgphobos.spec file + LIBS="$LIBS $LIBADD_DLOPEN" +Index: b/src/libphobos/m4/druntime/libraries.m4 +=================================================================== +--- a/src/libphobos/m4/druntime/libraries.m4 ++++ b/src/libphobos/m4/druntime/libraries.m4 +@@ -39,18 +39,44 @@ AC_DEFUN([DRUNTIME_LIBRARIES_ZLIB], + [ + AC_ARG_WITH(target-system-zlib, + AS_HELP_STRING([--with-target-system-zlib], +- [use installed libz (default: no)])) ++ [use installed libz (default: no)]), ++ [system_zlib=yes],[system_zlib=no]) + +- system_zlib=false +- AS_IF([test "x$with_target_system_zlib" = "xyes"], [ +- AC_CHECK_LIB([z], [deflate], [ +- system_zlib=yes +- ], [ +- AC_MSG_ERROR([System zlib not found])]) +- ], [ +- AC_MSG_CHECKING([for zlib]) +- AC_MSG_RESULT([just compiled]) +- ]) ++ AC_MSG_CHECKING([for system zlib]) ++ save_LIBS=$LIBS ++ LIBS="$LIBS -lz" ++ dnl the link test is not good enough for ARM32 multilib detection, ++ dnl first check to link, then to run ++ AC_LANG_PUSH(C) ++ AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM([#include ],[gzopen("none", "rb")])], ++ [ ++ AC_RUN_IFELSE([AC_LANG_SOURCE([[ ++ #include ++ int main() { ++ gzFile file = gzopen("none", "rb"); ++ return 0; ++ } ++ ]])], ++ [system_zlib_found=yes], ++ [system_zlib_found=no], ++ dnl no system zlib for cross builds ... ++ [system_zlib_found=no] ++ ) ++ ], ++ [system_zlib_found=no]) ++ LIBS=$save_LIBS ++ if test x$system_zlib = xyes; then ++ if test x$system_zlib_found = xyes; then ++ AC_MSG_RESULT([found]) ++ else ++ AC_MSG_RESULT([not found, disabled]) ++ system_zlib=no ++ fi ++ else ++ AC_MSG_RESULT([not enabled]) ++ fi ++ AC_LANG_POP + + AM_CONDITIONAL([DRUNTIME_ZLIB_SYSTEM], [test "$with_target_system_zlib" = yes]) + ]) --- gcc-7-7.1.0.orig/debian/patches/libstdc++-doclink.diff +++ gcc-7-7.1.0/debian/patches/libstdc++-doclink.diff @@ -0,0 +1,75 @@ +# DP: adjust hrefs to point to the local documentation + +--- + libstdc++-v3/doc/doxygen/mainpage.html | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +Index: b/src/libstdc++-v3/doc/doxygen/mainpage.html +=================================================================== +--- a/src/libstdc++-v3/doc/doxygen/mainpage.html ++++ b/src/libstdc++-v3/doc/doxygen/mainpage.html +@@ -27,10 +27,10 @@ +

Generated on @DATE@.

+ +

There are two types of documentation for libstdc++. One is the +- distribution documentation, which can be read online +- here +- or offline from the file doc/html/index.html in the library source +- directory. ++ distribution documentation, which can be read ++ offline in the documentation directory ++ or ++ online. +

+ +

The other type is the source documentation, of which this is the first page. +@@ -81,9 +81,10 @@ + This style guide can also be viewed on the web. + +

License, Copyright, and Other Lawyerly Verbosity

+-

The libstdc++ documentation is released under +- +- these terms. ++

The libstdc++ documentation is released under these terms ++ (read offline or ++ read online. ++ ). +

+

Part of the generated documentation involved comments and notes from + SGI, who says we gotta say this: +Index: b/src/libstdc++-v3/doc/html/api.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/api.html ++++ b/src/libstdc++-v3/doc/html/api.html +@@ -20,6 +20,8 @@ + member functions for the library classes, finding out what is in a + particular include file, looking at inheritance diagrams, etc. +

++The API documentation, rendered into HTML, can be viewed offline. ++

+ The API documentation, rendered into HTML, can be viewed online + for each GCC release + and +@@ -38,4 +40,4 @@ +

+ In addition, a rendered set of man pages are available in the same + location specified above. Start with C++Intro(3). +-

+\ No newline at end of file ++

+Index: b/src/libstdc++-v3/doc/xml/api.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/api.xml ++++ b/src/libstdc++-v3/doc/xml/api.xml +@@ -40,6 +40,11 @@ + + + ++ The source-level documentation for this release can be viewed offline. ++ ++ ++ ++ + The API documentation, rendered into HTML, can be viewed online + for each GCC release + and --- gcc-7-7.1.0.orig/debian/patches/libstdc++-man-3cxx.diff +++ gcc-7-7.1.0/debian/patches/libstdc++-man-3cxx.diff @@ -0,0 +1,67 @@ +# DP: Install libstdc++ man pages with suffix .3cxx instead of .3 + +Index: b/src/libstdc++-v3/doc/doxygen/user.cfg.in +=================================================================== +--- a/src/libstdc++-v3/doc/doxygen/user.cfg.in ++++ b/src/libstdc++-v3/doc/doxygen/user.cfg.in +@@ -1968,7 +1968,7 @@ MAN_OUTPUT = man + # The default value is: .3. + # This tag requires that the tag GENERATE_MAN is set to YES. + +-MAN_EXTENSION = .3 ++MAN_EXTENSION = .3cxx + + # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it + # will generate one additional man file for each entity documented in the real +Index: b/src/libstdc++-v3/scripts/run_doxygen +=================================================================== +--- a/src/libstdc++-v3/scripts/run_doxygen ++++ b/src/libstdc++-v3/scripts/run_doxygen +@@ -243,6 +243,9 @@ fi + if $do_man; then + echo :: + echo :: Fixing up the man pages... ++mkdir -p $outdir/man/man3 ++mv $outdir/man/man3cxx/* $outdir/man/man3/ ++rmdir $outdir/man/man3cxx + cd $outdir/man/man3 + + # File names with embedded spaces (EVIL!) need to be....? renamed or removed? +@@ -264,7 +267,7 @@ rm -f *.h.3 *.hpp.3 *config* *.cc.3 *.tc + # and I'm off getting coffee then anyhow, so I didn't care enough to make + # this super-fast. + g++ ${srcdir}/doc/doxygen/stdheader.cc -o ./stdheader +-problematic=`egrep -l '#include <.*_.*>' [a-z]*.3` ++problematic=`egrep -l '#include <.*_.*>' [a-z]*.3 [a-z]*.3cxx` + for f in $problematic; do + # this is also slow, but safe and easy to debug + oldh=`sed -n '/fC#include .*/\1/p' $f` +@@ -277,7 +280,7 @@ rm stdheader + # Some of the pages for generated modules have text that confuses certain + # implementations of man(1), e.g. on GNU/Linux. We need to have another + # top-level *roff tag to /stop/ the .SH NAME entry. +-problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3` ++problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3cxx` + #problematic='Containers.3 Sequences.3 Assoc_containers.3 Iterator_types.3' + + for f in $problematic; do +@@ -291,7 +294,7 @@ a\ + done + + # Also, break this (generated) line up. It's ugly as sin. +-problematic=`grep -l '[^^]Definition at line' *.3` ++problematic=`grep -l '[^^]Definition at line' *.3 *.3cxx` + for f in $problematic; do + sed 's/Definition at line/\ + .PP\ +@@ -408,8 +411,8 @@ for f in ios streambuf istream ostream i + istringstream ostringstream stringstream filebuf ifstream \ + ofstream fstream string; + do +- echo ".so man3/std::basic_${f}.3" > std::${f}.3 +- echo ".so man3/std::basic_${f}.3" > std::w${f}.3 ++ echo ".so man3/std::basic_${f}.3cxx" > std::${f}.3cxx ++ echo ".so man3/std::basic_${f}.3cxx" > std::w${f}.3cxx + done + + echo :: --- gcc-7-7.1.0.orig/debian/patches/libstdc++-no-testsuite.diff +++ gcc-7-7.1.0/debian/patches/libstdc++-no-testsuite.diff @@ -0,0 +1,12 @@ +# DP: Don't run the libstdc++ testsuite on arm, hppa and mipsel (timeouts on the buildds) + +--- a/src/libstdc++-v3/testsuite/Makefile.in ++++ b/src/libstdc++-v3/testsuite/Makefile.in +@@ -567,6 +567,7 @@ + + # Run the testsuite in normal mode. + check-DEJAGNU $(check_DEJAGNU_normal_targets): check-DEJAGNU%: site.exp ++ case "$(target)" in arm*|hppa*|mipsel*) exit 0;; esac; \ + $(if $*,@)AR="$(AR)"; export AR; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + if [ -z "$*" ] && [ "$(filter -j, $(MFLAGS))" = "-j" ]; then \ --- gcc-7-7.1.0.orig/debian/patches/libstdc++-nothumb-check.diff +++ gcc-7-7.1.0/debian/patches/libstdc++-nothumb-check.diff @@ -0,0 +1,38 @@ +# DP: Don't run the libstdc++-v3 testsuite in thumb mode on armel + +Index: testsuite/Makefile.in +=================================================================== +--- a/src/libstdc++-v3/testsuite/Makefile.in (revision 156820) ++++ b/src/libstdc++-v3/testsuite/Makefile.in (working copy) +@@ -583,6 +583,8 @@ + srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \ + EXPECT=$(EXPECT); export EXPECT; \ + runtest=$(RUNTEST); \ ++ runtestflags="`echo '$(RUNTESTFLAGS)' | sed 's/,-marm/-marm/'`"; \ ++ case "$$runtestflags" in *\\{\\}) runtestflags=; esac; \ + if [ -z "$$runtest" ]; then runtest=runtest; fi; \ + tool=libstdc++; \ + dirs=; \ +@@ -590,7 +592,7 @@ + normal0) \ + if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ + $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \ +- $(RUNTESTFLAGS) abi.exp; \ ++ $$runtestflags abi.exp; \ + else echo "WARNING: could not find \`runtest'" 1>&2; :;\ + fi; \ + dirs="`cd $$srcdir; echo [013-9][0-9]_*/* [abep]*/*`";; \ +@@ -605,11 +607,11 @@ + if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ + if [ -n "$$dirs" ]; then \ + $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \ +- $(RUNTESTFLAGS) \ ++ $$runtestflags \ + "conformance.exp=`echo $$dirs | sed 's/ /* /g;s/$$/*/'`"; \ + else \ + $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \ +- $(RUNTESTFLAGS); \ ++ $$runtestflags; \ + fi; \ + else echo "WARNING: could not find \`runtest'" 1>&2; :;\ + fi --- gcc-7-7.1.0.orig/debian/patches/libstdc++-pic.diff +++ gcc-7-7.1.0/debian/patches/libstdc++-pic.diff @@ -0,0 +1,95 @@ +# DP: Build and install libstdc++_pic.a library. + +Index: b/src/libstdc++-v3/src/Makefile.am +=================================================================== +--- a/src/libstdc++-v3/src/Makefile.am ++++ b/src/libstdc++-v3/src/Makefile.am +@@ -311,10 +311,12 @@ if GLIBCXX_BUILD_DEBUG + STAMP_DEBUG = build-debug + STAMP_INSTALL_DEBUG = install-debug + CLEAN_DEBUG = debug ++STAMP_INSTALL_PIC = install-pic + else + STAMP_DEBUG = + STAMP_INSTALL_DEBUG = + CLEAN_DEBUG = ++STAMP_INSTALL_PIC = + endif + + # Build a debug variant. +@@ -349,6 +351,7 @@ build-debug: stamp-debug + mv Makefile Makefile.tmp; \ + sed -e 's,all-local: all-once,all-local:,' \ + -e 's,install-data-local: install-data-once,install-data-local:,' \ ++ -e 's,install-exec-local:.*,install-exec-local:,' \ + -e '/vpath/!s,src/c,src/debug/c,' \ + < Makefile.tmp > Makefile ; \ + rm -f Makefile.tmp ; \ +@@ -359,3 +362,8 @@ build-debug: stamp-debug + install-debug: build-debug + (cd ${debugdir} && $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' \ + toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install) ; ++ ++install-exec-local: $(STAMP_INSTALL_PIC) ++$(STAMP_INSTALL_PIC): ++ $(MKDIR_P) $(DESTDIR)$(toolexeclibdir) ++ $(INSTALL_DATA) .libs/libstdc++convenience.a $(DESTDIR)$(toolexeclibdir)/libstdc++_pic.a +Index: b/src/libstdc++-v3/src/Makefile.in +=================================================================== +--- a/src/libstdc++-v3/src/Makefile.in ++++ b/src/libstdc++-v3/src/Makefile.in +@@ -534,6 +534,8 @@ CXXLINK = \ + @GLIBCXX_BUILD_DEBUG_TRUE@STAMP_INSTALL_DEBUG = install-debug + @GLIBCXX_BUILD_DEBUG_FALSE@CLEAN_DEBUG = + @GLIBCXX_BUILD_DEBUG_TRUE@CLEAN_DEBUG = debug ++@GLIBCXX_BUILD_DEBUG_FALSE@STAMP_INSTALL_PIC = ++@GLIBCXX_BUILD_DEBUG_TRUE@STAMP_INSTALL_PIC = install-pic + + # Build a debug variant. + # Take care to fix all possibly-relative paths. +@@ -832,7 +834,7 @@ install-dvi: install-dvi-recursive + + install-dvi-am: + +-install-exec-am: install-toolexeclibLTLIBRARIES ++install-exec-am: install-exec-local install-toolexeclibLTLIBRARIES + + install-html: install-html-recursive + +@@ -883,11 +885,11 @@ uninstall-am: uninstall-toolexeclibLTLIB + distclean-libtool distclean-tags dvi dvi-am html html-am info \ + info-am install install-am install-data install-data-am \ + install-data-local install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip \ +- install-toolexeclibLTLIBRARIES installcheck installcheck-am \ +- installdirs installdirs-am maintainer-clean \ ++ install-exec-am install-exec-local install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip install-toolexeclibLTLIBRARIES installcheck \ ++ installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ +@@ -1020,6 +1022,7 @@ build-debug: stamp-debug + mv Makefile Makefile.tmp; \ + sed -e 's,all-local: all-once,all-local:,' \ + -e 's,install-data-local: install-data-once,install-data-local:,' \ ++ -e 's,install-exec-local:.*,install-exec-local:,' \ + -e '/vpath/!s,src/c,src/debug/c,' \ + < Makefile.tmp > Makefile ; \ + rm -f Makefile.tmp ; \ +@@ -1031,6 +1034,11 @@ install-debug: build-debug + (cd ${debugdir} && $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' \ + toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install) ; + ++install-exec-local: $(STAMP_INSTALL_PIC) ++$(STAMP_INSTALL_PIC): ++ $(MKDIR_P) $(DESTDIR)$(toolexeclibdir) ++ $(INSTALL_DATA) .libs/libstdc++convenience.a $(DESTDIR)$(toolexeclibdir)/libstdc++_pic.a ++ + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: --- gcc-7-7.1.0.orig/debian/patches/libstdc++-test-installed.diff +++ gcc-7-7.1.0/debian/patches/libstdc++-test-installed.diff @@ -0,0 +1,78 @@ +# DP: Add support to run the libstdc++-v3 testsuite using the +# DP: installed shared libraries. + +Index: b/src/libstdc++-v3/testsuite/lib/libstdc++.exp +=================================================================== +--- a/src/libstdc++-v3/testsuite/lib/libstdc++.exp ++++ b/src/libstdc++-v3/testsuite/lib/libstdc++.exp +@@ -37,6 +37,12 @@ + # the last thing before testing begins. This can be defined in, e.g., + # ~/.dejagnurc or $DEJAGNU. + ++set test_installed 0 ++if [info exists env(TEST_INSTALLED)] { ++ verbose -log "test installed libstdc++-v3" ++ set test_installed 1 ++} ++ + proc load_gcc_lib { filename } { + global srcdir loaded_libs + +@@ -101,6 +107,7 @@ proc libstdc++_init { testfile } { + global tool_timeout + global DEFAULT_CXXFLAGS + global STATIC_LIBCXXFLAGS ++ global test_installed + + # We set LC_ALL and LANG to C so that we get the same error + # messages as expected. +@@ -120,6 +127,9 @@ proc libstdc++_init { testfile } { + + set blddir [lookfor_file [get_multilibs] libstdc++-v3] + set flags_file "${blddir}/scripts/testsuite_flags" ++ if {$test_installed} { ++ set flags_file "${blddir}/scripts/testsuite_flags.installed" ++ } + set shlib_ext [get_shlib_extension] + v3track flags_file 2 + +@@ -154,7 +164,11 @@ proc libstdc++_init { testfile } { + + # Locate libgcc.a so we don't need to account for different values of + # SHLIB_EXT on different platforms +- set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a] ++ if {$test_installed} { ++ set gccdir "" ++ } else { ++ set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a] ++ } + if {$gccdir != ""} { + set gccdir [file dirname $gccdir] + append ld_library_path_tmp ":${gccdir}" +@@ -163,7 +177,11 @@ proc libstdc++_init { testfile } { + + # Locate libgomp. This is only required for parallel mode. + set v3-libgomp 0 +- set libgompdir [lookfor_file $blddir/../libgomp .libs/libgomp.$shlib_ext] ++ if {$test_installed} { ++ set libgompdir "" ++ } else { ++ set libgompdir [lookfor_file $blddir/../libgomp .libs/libgomp.$shlib_ext] ++ } + if {$libgompdir != ""} { + set v3-libgomp 1 + set libgompdir [file dirname $libgompdir] +@@ -185,7 +203,12 @@ proc libstdc++_init { testfile } { + + # Locate libstdc++ shared library. (ie libstdc++.so.) + set v3-sharedlib 0 +- set sharedlibdir [lookfor_file $blddir src/.libs/libstdc++.$shlib_ext] ++ if {$test_installed} { ++ set sharedlibdir "" ++ set v3-sharedlib 1 ++ } else { ++ set sharedlibdir [lookfor_file $blddir src/.libs/libstdc++.$shlib_ext] ++ } + if {$sharedlibdir != ""} { + if { ([string match "*-*-gnu*" $target_triplet] + || [string match "*-*-linux*" $target_triplet] --- gcc-7-7.1.0.orig/debian/patches/linaro-issue2575.diff +++ gcc-7-7.1.0/debian/patches/linaro-issue2575.diff @@ -0,0 +1,16 @@ +# DP: Fix ICE in tree_to_shwi, Linaro issue #2575. + +--- a/src/gcc/varasm.c ++++ b/src/gcc/varasm.c +@@ -6777,8 +6777,9 @@ + anchor range to reduce the amount of instructions require to refer + to the entire declaration. */ + if (decl && DECL_SIZE (decl) +- && tree_to_shwi (DECL_SIZE (decl)) +- >= (targetm.max_anchor_offset * BITS_PER_UNIT)) ++ && (!tree_fits_shwi_p (DECL_SIZE (decl)) ++ || tree_to_shwi (DECL_SIZE (decl)) ++ >= (targetm.max_anchor_offset * BITS_PER_UNIT))) + return false; + + } --- gcc-7-7.1.0.orig/debian/patches/note-gnu-stack.diff +++ gcc-7-7.1.0/debian/patches/note-gnu-stack.diff @@ -0,0 +1,139 @@ +# DP: Add .note.GNU-stack sections for gcc's crt files, libffi and boehm-gc +# DP: Taken from FC. + +gcc/ + +2004-09-20 Jakub Jelinek + + * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also + on ppc64-linux. + + * config/ia64/lib1funcs.asm: Add .note.GNU-stack section on + ia64-linux. + * config/ia64/crtbegin.asm: Likewise. + * config/ia64/crtend.asm: Likewise. + * config/ia64/crti.asm: Likewise. + * config/ia64/crtn.asm: Likewise. + +2004-05-14 Jakub Jelinek + + * config/ia64/linux.h (TARGET_ASM_FILE_END): Define. + +libffi/ + +2007-05-11 Daniel Jacobowitz + + * src/arm/sysv.S: Fix ARM comment marker. + +2005-02-08 Jakub Jelinek + + * src/alpha/osf.S: Add .note.GNU-stack on Linux. + * src/s390/sysv.S: Likewise. + * src/powerpc/linux64.S: Likewise. + * src/powerpc/linux64_closure.S: Likewise. + * src/powerpc/ppc_closure.S: Likewise. + * src/powerpc/sysv.S: Likewise. + * src/x86/unix64.S: Likewise. + * src/x86/sysv.S: Likewise. + * src/sparc/v8.S: Likewise. + * src/sparc/v9.S: Likewise. + * src/m68k/sysv.S: Likewise. + * src/ia64/unix.S: Likewise. + * src/arm/sysv.S: Likewise. + +--- + gcc/config/ia64/linux.h | 3 +++ + gcc/config/rs6000/ppc-asm.h | 2 +- + libgcc/config/ia64/crtbegin.S | 4 ++++ + libgcc/config/ia64/crtend.S | 4 ++++ + libgcc/config/ia64/crti.S | 4 ++++ + libgcc/config/ia64/crtn.S | 4 ++++ + libgcc/config/ia64/lib1funcs.S | 4 ++++ + 9 files changed, 39 insertions(+), 13 deletions(-) + +Index: b/src/libgcc/config/ia64/crtbegin.S +=================================================================== +--- a/src/libgcc/config/ia64/crtbegin.S ++++ b/src/libgcc/config/ia64/crtbegin.S +@@ -185,3 +185,7 @@ __do_global_dtors_aux: + .weak __cxa_finalize + #endif + .weak _Jv_RegisterClasses ++ ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +Index: b/src/libgcc/config/ia64/crtend.S +=================================================================== +--- a/src/libgcc/config/ia64/crtend.S ++++ b/src/libgcc/config/ia64/crtend.S +@@ -114,3 +114,7 @@ __do_global_ctors_aux: + + br.ret.sptk.many rp + .endp __do_global_ctors_aux ++ ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +Index: b/src/libgcc/config/ia64/crti.S +=================================================================== +--- a/src/libgcc/config/ia64/crti.S ++++ b/src/libgcc/config/ia64/crti.S +@@ -51,3 +51,7 @@ _fini: + .body + + # end of crti.S ++ ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +Index: b/src/libgcc/config/ia64/crtn.S +=================================================================== +--- a/src/libgcc/config/ia64/crtn.S ++++ b/src/libgcc/config/ia64/crtn.S +@@ -41,3 +41,7 @@ + br.ret.sptk.many b0 + + # end of crtn.S ++ ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +Index: b/src/libgcc/config/ia64/lib1funcs.S +=================================================================== +--- a/src/libgcc/config/ia64/lib1funcs.S ++++ b/src/libgcc/config/ia64/lib1funcs.S +@@ -793,3 +793,7 @@ __floattitf: + .endp __floattitf + #endif + #endif ++ ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +Index: b/src/gcc/config/ia64/linux.h +=================================================================== +--- a/src/gcc/config/ia64/linux.h ++++ b/src/gcc/config/ia64/linux.h +@@ -79,5 +79,8 @@ do { \ + #undef TARGET_INIT_LIBFUNCS + #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs + ++#undef TARGET_ASM_FILE_END ++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack ++ + /* Define this to be nonzero if static stack checking is supported. */ + #define STACK_CHECK_STATIC_BUILTIN 1 +Index: b/src/gcc/config/rs6000/ppc-asm.h +=================================================================== +--- a/src/gcc/config/rs6000/ppc-asm.h ++++ b/src/gcc/config/rs6000/ppc-asm.h +@@ -375,7 +375,7 @@ GLUE(.L,name): \ + #endif + #endif + +-#if defined __linux__ && !defined __powerpc64__ ++#if defined __linux__ + .section .note.GNU-stack + .previous + #endif --- gcc-7-7.1.0.orig/debian/patches/powerpc_nofprs.diff +++ gcc-7-7.1.0/debian/patches/powerpc_nofprs.diff @@ -0,0 +1,75 @@ +--- a/src/libgcc/config/rs6000/crtsavfpr.S ++++ b/src/libgcc/config/rs6000/crtsavfpr.S +@@ -33,6 +33,7 @@ + + /* On PowerPC64 Linux, these functions are provided by the linker. */ + #ifndef __powerpc64__ ++#ifndef __NO_FPRS__ + + /* Routines for saving floating point registers, called by the compiler. */ + /* Called with r11 pointing to the stack header word of the caller of the */ +@@ -79,3 +80,4 @@ + CFI_ENDPROC + + #endif ++#endif +--- a/src/libgcc/config/rs6000/crtresfpr.S ++++ b/src/libgcc/config/rs6000/crtresfpr.S +@@ -33,6 +33,7 @@ + + /* On PowerPC64 Linux, these functions are provided by the linker. */ + #ifndef __powerpc64__ ++#ifndef __NO_FPRS__ + + /* Routines for restoring floating point registers, called by the compiler. */ + /* Called with r11 pointing to the stack header word of the caller of the */ +@@ -79,3 +80,4 @@ + CFI_ENDPROC + + #endif ++#endif +--- a/src/libgcc/config/rs6000/crtresxfpr.S ++++ b/src/libgcc/config/rs6000/crtresxfpr.S +@@ -33,6 +33,7 @@ + + /* On PowerPC64 Linux, these functions are provided by the linker. */ + #ifndef __powerpc64__ ++#ifndef __NO_FPRS__ + + /* Routines for restoring floating point registers, called by the compiler. */ + /* Called with r11 pointing to the stack header word of the caller of the */ +@@ -124,3 +125,4 @@ + CFI_ENDPROC + + #endif ++#endif +--- a/src/libgcc/config/rs6000/crtsavevr.S 2013-03-13 22:25:25.802681336 +0000 ++++ b/src/libgcc/config/rs6000/crtsavevr.S 2013-03-13 22:26:21.054695066 +0000 +@@ -24,6 +24,7 @@ + + /* On PowerPC64 Linux, these functions are provided by the linker. */ + #ifndef __powerpc64__ ++#ifndef __NO_FPRS__ + + #undef __ALTIVEC__ + #define __ALTIVEC__ 1 +@@ -85,3 +86,4 @@ + CFI_ENDPROC + + #endif ++#endif +--- a/src/libgcc/config/rs6000/crtrestvr.S 2013-03-13 22:25:28.394681980 +0000 ++++ b/src/libgcc/config/rs6000/crtrestvr.S 2013-03-13 22:26:21.058695067 +0000 +@@ -24,6 +24,7 @@ + + /* On PowerPC64 Linux, these functions are provided by the linker. */ + #ifndef __powerpc64__ ++#ifndef __NO_FPRS__ + + #undef __ALTIVEC__ + #define __ALTIVEC__ 1 +@@ -85,3 +86,4 @@ + CFI_ENDPROC + + #endif ++#endif --- gcc-7-7.1.0.orig/debian/patches/powerpc_remove_many.diff +++ gcc-7-7.1.0/debian/patches/powerpc_remove_many.diff @@ -0,0 +1,32 @@ +# DP: Subject: [PATCH] remove -many on __SPE__ target +# DP: this helps to to detect opcodes which are not part of the current +# DP: CPU because without -many gas won't touch them. This currently could +# DP: break the kernel build as the 603 on steroids cpus use performance +# DP: counter opcodes which are not available on the steroid less 603 core. + +--- a/src/gcc/config/rs6000/rs6000.h ++++ b/src/gcc/config/rs6000/rs6000.h +@@ -98,6 +98,12 @@ + #define ASM_CPU_476_SPEC "-mpower4" + #endif + ++#ifndef __SPE__ ++#define ASM_CPU_SPU_MANY_NOT_SPE "-many" ++#else ++#define ASM_CPU_SPU_MANY_NOT_SPE ++#endif ++ + /* Common ASM definitions used by ASM_SPEC among the various targets for + handling -mcpu=xxx switches. There is a parallel list in driver-rs6000.c to + provide the default assembler options if the user uses -mcpu=native, so if +@@ -170,7 +176,8 @@ + %{mcpu=e500mc64: -me500mc64} \ + %{maltivec: -maltivec} \ + %{mvsx: -mvsx %{!maltivec: -maltivec} %{!mcpu*: %(asm_cpu_power7)}} \ + %{mpower8-vector|mcrypto|mdirect-move|mhtm: %{!mcpu*: %(asm_cpu_power8)}} \ +--many" ++" \ ++ASM_CPU_SPU_MANY_NOT_SPE + + #define CPP_DEFAULT_SPEC "" + --- gcc-7-7.1.0.orig/debian/patches/pr39491.diff +++ gcc-7-7.1.0/debian/patches/pr39491.diff @@ -0,0 +1,132 @@ +# DP: Proposed patch for PR libstdc++/39491. + +2009-04-16 Benjamin Kosnik + + * src/math_stubs_long_double.cc (__signbitl): Add for hppa linux only. + +Index: a/src/libstdc++-v3/src/math_stubs_long_double.cc +=================================================================== +--- a/src/libstdc++-v3/src/math_stubs_long_double.cc (revision 146216) ++++ b/src/libstdc++-v3/src/math_stubs_long_double.cc (working copy) +@@ -213,4 +221,111 @@ + return tanh((double) x); + } + #endif ++ ++ // From libmath/signbitl.c ++ // XXX ABI mistakenly exported ++#if defined (__hppa__) && defined (__linux__) ++# include ++# include ++ ++typedef unsigned int U_int32_t __attribute ((mode (SI))); ++typedef int Int32_t __attribute ((mode (SI))); ++typedef unsigned int U_int64_t __attribute ((mode (DI))); ++typedef int Int64_t __attribute ((mode (DI))); ++ ++#if BYTE_ORDER == BIG_ENDIAN ++typedef union ++{ ++ long double value; ++ struct ++ { ++ unsigned int sign_exponent:16; ++ unsigned int empty:16; ++ U_int32_t msw; ++ U_int32_t lsw; ++ } parts; ++} ieee_long_double_shape_type; ++#endif ++#if BYTE_ORDER == LITTLE_ENDIAN ++typedef union ++{ ++ long double value; ++ struct ++ { ++ U_int32_t lsw; ++ U_int32_t msw; ++ unsigned int sign_exponent:16; ++ unsigned int empty:16; ++ } parts; ++} ieee_long_double_shape_type; ++#endif ++ ++/* Get int from the exponent of a long double. */ ++#define GET_LDOUBLE_EXP(exp,d) \ ++do { \ ++ ieee_long_double_shape_type ge_u; \ ++ ge_u.value = (d); \ ++ (exp) = ge_u.parts.sign_exponent; \ ++} while (0) ++ ++#if BYTE_ORDER == BIG_ENDIAN ++typedef union ++{ ++ long double value; ++ struct ++ { ++ U_int64_t msw; ++ U_int64_t lsw; ++ } parts64; ++ struct ++ { ++ U_int32_t w0, w1, w2, w3; ++ } parts32; ++} ieee_quad_double_shape_type; ++#endif ++ ++#if BYTE_ORDER == LITTLE_ENDIAN ++typedef union ++{ ++ long double value; ++ struct ++ { ++ U_int64_t lsw; ++ U_int64_t msw; ++ } parts64; ++ struct ++ { ++ U_int32_t w3, w2, w1, w0; ++ } parts32; ++} ieee_quad_double_shape_type; ++#endif ++ ++/* Get most significant 64 bit int from a quad long double. */ ++#define GET_LDOUBLE_MSW64(msw,d) \ ++do { \ ++ ieee_quad_double_shape_type qw_u; \ ++ qw_u.value = (d); \ ++ (msw) = qw_u.parts64.msw; \ ++} while (0) ++ ++int ++__signbitl (long double x) ++{ ++#if LDBL_MANT_DIG == 113 ++ Int64_t msw; ++ ++ GET_LDOUBLE_MSW64 (msw, x); ++ return msw < 0; ++#else ++ Int32_t e; ++ ++ GET_LDOUBLE_EXP (e, x); ++ return e & 0x8000; ++#endif ++} ++#endif ++ ++#ifndef _GLIBCXX_HAVE___SIGNBITL ++ ++#endif + } // extern "C" +--- a/src/libstdc++-v3/config/abi/pre/gnu.ver~ 2009-04-10 01:23:07.000000000 +0200 ++++ b/src/libstdc++-v3/config/abi/pre/gnu.ver 2009-04-21 16:24:24.000000000 +0200 +@@ -635,6 +635,7 @@ + sqrtf; + sqrtl; + copysignf; ++ __signbitl; + + # GLIBCXX_ABI compatibility only. + # std::string --- gcc-7-7.1.0.orig/debian/patches/pr47818.diff +++ gcc-7-7.1.0/debian/patches/pr47818.diff @@ -0,0 +1,26 @@ +Description: allow pragma Assert with No_Implementation_Pragmas restriction. +Author: Eugeniy Meshcheryakov +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47818 + +Index: b/src/gcc/ada/sem_prag.adb +=================================================================== +--- a/src/gcc/ada/sem_prag.adb ++++ b/src/gcc/ada/sem_prag.adb +@@ -16864,7 +16864,16 @@ package body Sem_Prag is + Typ_Arg : Node_Id; + + begin +- GNAT_Pragma; ++ -- This could be a rewritten pragma Assert. If it is the case ++ -- then don't check restrictions, because they are different for ++ -- pragma Assert and were already checked. ++ ++ if Nkind (Original_Node (N)) /= N_Pragma ++ or else Pragma_Name (Original_Node (N)) /= Name_Assert ++ then ++ GNAT_Pragma; ++ end if; ++ + Check_At_Least_N_Arguments (2); + Check_At_Most_N_Arguments (3); + Check_Optional_Identifier (Arg1, Name_Entity); --- gcc-7-7.1.0.orig/debian/patches/pr66368.diff +++ gcc-7-7.1.0/debian/patches/pr66368.diff @@ -0,0 +1,26 @@ +# DP: PR go/66368, build libgo with -fno-stack-protector + +Index: b/src/libgo/Makefile.am +=================================================================== +--- a/src/libgo/Makefile.am ++++ b/src/libgo/Makefile.am +@@ -41,6 +41,7 @@ AM_CPPFLAGS = -I $(srcdir)/runtime $(LIB + ACLOCAL_AMFLAGS = -I ./config -I ../config + + AM_CFLAGS = -fexceptions -fnon-call-exceptions -fplan9-extensions \ ++ -fno-stack-protector \ + $(SPLIT_STACK) $(WARN_CFLAGS) \ + $(STRINGOPS_FLAG) $(HWCAP_CFLAGS) $(OSCFLAGS) \ + -I $(srcdir)/../libgcc -I $(srcdir)/../libbacktrace \ +Index: b/src/libgo/Makefile.in +=================================================================== +--- a/src/libgo/Makefile.in ++++ b/src/libgo/Makefile.in +@@ -458,6 +458,7 @@ WARN_CFLAGS = $(WARN_FLAGS) $(WERROR) + AM_CPPFLAGS = -I $(srcdir)/runtime $(LIBFFIINCS) $(PTHREAD_CFLAGS) + ACLOCAL_AMFLAGS = -I ./config -I ../config + AM_CFLAGS = -fexceptions -fnon-call-exceptions -fplan9-extensions \ ++ -fno-stack-protector \ + $(SPLIT_STACK) $(WARN_CFLAGS) \ + $(STRINGOPS_FLAG) $(HWCAP_CFLAGS) $(OSCFLAGS) \ + -I $(srcdir)/../libgcc -I $(srcdir)/../libbacktrace \ --- gcc-7-7.1.0.orig/debian/patches/pr67590.diff +++ gcc-7-7.1.0/debian/patches/pr67590.diff @@ -0,0 +1,38 @@ +# DP: Fix PR67590, setting objdump macro. + +Index: b/src/libcc1/configure.ac +=================================================================== +--- a/src/libcc1/configure.ac ++++ b/src/libcc1/configure.ac +@@ -72,6 +72,31 @@ if test "$GXX" = yes; then + fi + AC_SUBST(libsuffix) + ++# Figure out what objdump we will be using. ++AS_VAR_SET_IF(gcc_cv_objdump,, [ ++if test -f $gcc_cv_binutils_srcdir/configure.ac \ ++ && test -f ../binutils/Makefile \ ++ && test x$build = x$host; then ++ # Single tree build which includes binutils. ++ gcc_cv_objdump=../binutils/objdump$build_exeext ++elif test -x objdump$build_exeext; then ++ gcc_cv_objdump=./objdump$build_exeext ++elif ( set dummy $OBJDUMP_FOR_TARGET; test -x $[2] ); then ++ gcc_cv_objdump="$OBJDUMP_FOR_TARGET" ++else ++ AC_PATH_PROG(gcc_cv_objdump, $OBJDUMP_FOR_TARGET) ++fi]) ++ ++AC_MSG_CHECKING(what objdump to use) ++if test "$gcc_cv_objdump" = ../binutils/objdump$build_exeext; then ++ # Single tree build which includes binutils. ++ AC_MSG_RESULT(newly built objdump) ++elif test x$gcc_cv_objdump = x; then ++ AC_MSG_RESULT(not found) ++else ++ AC_MSG_RESULT($gcc_cv_objdump) ++fi ++ + dnl Test for -lsocket and -lnsl. Copied from libgo/configure.ac. + AC_CACHE_CHECK([for socket libraries], libcc1_cv_lib_sockets, + [libcc1_cv_lib_sockets= --- gcc-7-7.1.0.orig/debian/patches/pr67899.diff +++ gcc-7-7.1.0/debian/patches/pr67899.diff @@ -0,0 +1,31 @@ +# DP: Proposed patch for PR sanitizer/67899 + +Index: b/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +=================================================================== +--- a/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -606,11 +606,10 @@ namespace __sanitizer { + #else + __sanitizer_sigset_t sa_mask; + #ifndef __mips__ +-#if defined(__sparc__) +- unsigned long sa_flags; +-#else +- int sa_flags; ++#if defined(__sparc__) && defined(__arch64__) ++ int __pad; + #endif ++ int sa_flags; + #endif + #endif + #if SANITIZER_LINUX +@@ -640,7 +639,8 @@ namespace __sanitizer { + void (*handler)(int signo); + void (*sigaction)(int signo, void *info, void *ctx); + }; +- unsigned long sa_flags; ++ int __pad; ++ int sa_flags; + void (*sa_restorer)(void); + __sanitizer_kernel_sigset_t sa_mask; + }; --- gcc-7-7.1.0.orig/debian/patches/rename-info-files.diff +++ gcc-7-7.1.0/debian/patches/rename-info-files.diff @@ -0,0 +1,710 @@ +# DP: Allow transformations on info file names. Reference the +# DP: transformed info file names in the texinfo files. + + +2004-02-17 Matthias Klose + +gcc/ChangeLog: + * Makefile.in: Allow transformations on info file names. + Define MAKEINFODEFS, macros to pass transformated info file + names to makeinfo. + * doc/cpp.texi: Use macros defined in MAKEINFODEFS for references. + * doc/cppinternals.texi: Likewise. + * doc/extend.texi: Likewise. + * doc/gcc.texi: Likewise. + * doc/gccint.texi: Likewise. + * doc/invoke.texi: Likewise. + * doc/libgcc.texi: Likewise. + * doc/makefile.texi: Likewise. + * doc/passes.texi: Likewise. + * doc/sourcebuild.texi: Likewise. + * doc/standards.texi: Likewise. + * doc/trouble.texi: Likewise. + +gcc/fortran/ChangeLog: + * Make-lang.in: Allow transformations on info file names. + Pass macros of transformated info file defined in MAKEINFODEFS + names to makeinfo. + * gfortran.texi: Use macros defined in MAKEINFODEFS for references. + +Index: b/src/gcc/fortran/gfortran.texi +=================================================================== +--- a/src/gcc/fortran/gfortran.texi ++++ b/src/gcc/fortran/gfortran.texi +@@ -101,7 +101,7 @@ Texts being (a) (see below), and with th + @ifinfo + @dircategory Software development + @direntry +-* gfortran: (gfortran). The GNU Fortran Compiler. ++* @value{fngfortran}: (@value{fngfortran}). The GNU Fortran Compiler. + @end direntry + This file documents the use and the internals of + the GNU Fortran compiler, (@command{gfortran}). +Index: b/src/gcc/fortran/Make-lang.in +=================================================================== +--- a/src/gcc/fortran/Make-lang.in ++++ b/src/gcc/fortran/Make-lang.in +@@ -114,7 +114,8 @@ fortran.tags: force + cd $(srcdir)/fortran; etags -o TAGS.sub *.c *.h; \ + etags --include TAGS.sub --include ../TAGS.sub + +-fortran.info: doc/gfortran.info doc/gfc-internals.info ++INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)') ++fortran.info: doc/$(INFO_FORTRAN_NAME).info + fortran.dvi: doc/gfortran.dvi doc/gfc-internals.dvi + + F95_HTMLFILES = $(build_htmldir)/gfortran +@@ -181,10 +182,10 @@ GFORTRAN_TEXI = \ + $(srcdir)/doc/include/gcc-common.texi \ + gcc-vers.texi + +-doc/gfortran.info: $(GFORTRAN_TEXI) ++doc/$(INFO_FORTRAN_NAME).info: $(GFORTRAN_TEXI) + if [ x$(BUILD_INFO) = xinfo ]; then \ + rm -f doc/gfortran.info-*; \ +- $(MAKEINFO) -I $(srcdir)/doc/include -I $(srcdir)/fortran \ ++ $(MAKEINFO) $(MAKEINFODEFS) -I $(srcdir)/doc/include -I $(srcdir)/fortran \ + -o $@ $<; \ + else true; fi + +@@ -249,7 +250,7 @@ fortran.install-common: install-finclude + + fortran.install-plugin: + +-fortran.install-info: $(DESTDIR)$(infodir)/gfortran.info ++fortran.install-info: $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info + + fortran.install-man: $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext) + +@@ -267,7 +268,7 @@ fortran.uninstall: + rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \ + rm -rf $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext); \ + rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_TARGET_INSTALL_NAME)$(exeext); \ +- rm -rf $(DESTDIR)$(infodir)/gfortran.info* ++ rm -rf $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info* + + # + # Clean hooks: +Index: b/src/gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -3066,8 +3066,31 @@ install-no-fixedincludes: + + doc: $(BUILD_INFO) $(GENERATED_MANPAGES) + +-INFOFILES = doc/cpp.info doc/gcc.info doc/gccint.info \ +- doc/gccinstall.info doc/cppinternals.info ++INFO_CPP_NAME = $(shell echo cpp|sed '$(program_transform_name)') ++INFO_GCC_NAME = $(shell echo gcc|sed '$(program_transform_name)') ++INFO_GXX_NAME = $(shell echo g++|sed '$(program_transform_name)') ++INFO_GCCINT_NAME = $(shell echo gccint|sed '$(program_transform_name)') ++INFO_GCCINSTALL_NAME = $(shell echo gccinstall|sed '$(program_transform_name)') ++INFO_CPPINT_NAME = $(shell echo cppinternals|sed '$(program_transform_name)') ++ ++INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)') ++INFO_GCCGO_NAME = $(shell echo gccgo|sed '$(program_transform_name)') ++ ++INFOFILES = doc/$(INFO_CPP_NAME).info doc/$(INFO_GCC_NAME).info \ ++ doc/$(INFO_GCCINT_NAME).info \ ++ doc/$(INFO_GCCINSTALL_NAME).info doc/$(INFO_CPPINT_NAME).info ++ ++MAKEINFODEFS = -D 'fncpp $(INFO_CPP_NAME)' \ ++ -D 'fngcc $(INFO_GCC_NAME)' \ ++ -D 'fngcov $(INFO_GCC_NAME)' \ ++ -D 'fngcovtool $(INFO_GCC_NAME)' \ ++ -D 'fngcovdump $(INFO_GCC_NAME)' \ ++ -D 'fngxx $(INFO_GXX_NAME)' \ ++ -D 'fngccint $(INFO_GCCINT_NAME)' \ ++ -D 'fngccinstall $(INFO_GCCINSTALL_NAME)' \ ++ -D 'fncppint $(INFO_CPPINT_NAME)' \ ++ -D 'fngfortran $(INFO_FORTRAN_NAME)' \ ++ -D 'fngccgo $(INFO_GCCGO_NAME)' + + info: $(INFOFILES) lang.info @GENINSRC@ srcinfo lang.srcinfo + +@@ -3114,7 +3137,20 @@ gcc-vers.texi: $(BASEVER) $(DEVPHASE) + if [ -n "$(PKGVERSION)" ]; then \ + echo "@set VERSION_PACKAGE $(PKGVERSION)" >> $@T; \ + fi +- echo "@set BUGURL $(BUGURL_TEXI)" >> $@T; \ ++ echo "@set BUGURL $(BUGURL_TEXI)" >> $@T ++ ( \ ++ echo '@set fncpp $(INFO_CPP_NAME)'; \ ++ echo '@set fngcc $(INFO_GCC_NAME)'; \ ++ echo '@set fngcov $(INFO_GCC_NAME)'; \ ++ echo '@set fngcovtool $(INFO_GCC_NAME)'; \ ++ echo '@set fngcovdump $(INFO_GCC_NAME)'; \ ++ echo '@set fngxx $(INFO_GXX_NAME)'; \ ++ echo '@set fngccint $(INFO_GCCINT_NAME)'; \ ++ echo '@set fngccinstall $(INFO_GCCINSTALL_NAME)'; \ ++ echo '@set fncppint $(INFO_CPPINT_NAME)'; \ ++ echo '@set fngfortran $(INFO_FORTRAN_NAME)'; \ ++ echo '@set fngccgo $(INFO_GCCGO_NAME)'; \ ++ ) >> $@T + mv -f $@T $@ + + +@@ -3122,21 +3158,41 @@ gcc-vers.texi: $(BASEVER) $(DEVPHASE) + # patterns. To use them, put each of the specific targets with its + # specific dependencies but no build commands. + +-doc/cpp.info: $(TEXI_CPP_FILES) +-doc/gcc.info: $(TEXI_GCC_FILES) +-doc/gccint.info: $(TEXI_GCCINT_FILES) +-doc/cppinternals.info: $(TEXI_CPPINT_FILES) +- ++# Generic entry to handle info files, which are not renamed (currently Ada) + doc/%.info: %.texi + if [ x$(BUILD_INFO) = xinfo ]; then \ + $(MAKEINFO) $(MAKEINFOFLAGS) -I . -I $(gcc_docdir) \ + -I $(gcc_docdir)/include -o $@ $<; \ + fi + ++doc/$(INFO_CPP_NAME).info: $(TEXI_CPP_FILES) ++ if [ x$(BUILD_INFO) = xinfo ]; then \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \ ++ -I $(gcc_docdir)/include -o $@ $<; \ ++ fi ++ ++doc/$(INFO_GCC_NAME).info: $(TEXI_GCC_FILES) ++ if [ x$(BUILD_INFO) = xinfo ]; then \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \ ++ -I $(gcc_docdir)/include -o $@ $<; \ ++ fi ++ ++doc/$(INFO_GCCINT_NAME).info: $(TEXI_GCCINT_FILES) ++ if [ x$(BUILD_INFO) = xinfo ]; then \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \ ++ -I $(gcc_docdir)/include -o $@ $<; \ ++ fi ++ ++doc/$(INFO_CPPINT_NAME).info: $(TEXI_CPPINT_FILES) ++ if [ x$(BUILD_INFO) = xinfo ]; then \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \ ++ -I $(gcc_docdir)/include -o $@ $<; \ ++ fi ++ + # Duplicate entry to handle renaming of gccinstall.info +-doc/gccinstall.info: $(TEXI_GCCINSTALL_FILES) ++doc/$(INFO_GCCINSTALL_NAME).info: $(TEXI_GCCINSTALL_FILES) + if [ x$(BUILD_INFO) = xinfo ]; then \ +- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \ + -I $(gcc_docdir)/include -o $@ $<; \ + fi + +@@ -3555,11 +3611,11 @@ install-driver: installdirs xgcc$(exeext + # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir + # to do the install. + install-info:: doc installdirs \ +- $(DESTDIR)$(infodir)/cpp.info \ +- $(DESTDIR)$(infodir)/gcc.info \ +- $(DESTDIR)$(infodir)/cppinternals.info \ +- $(DESTDIR)$(infodir)/gccinstall.info \ +- $(DESTDIR)$(infodir)/gccint.info \ ++ $(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info \ ++ $(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info \ ++ $(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info \ ++ $(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info \ ++ $(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info \ + lang.install-info + + $(DESTDIR)$(infodir)/%.info: doc/%.info installdirs +@@ -3780,8 +3836,11 @@ uninstall: lang.uninstall + -rm -rf $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext) + -rm -rf $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext) + -rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext) +- -rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info* +- -rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info* ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info* ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info* ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info* ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info* ++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info* + for i in ar nm ranlib ; do \ + install_name=`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ;\ + target_install_name=$(target_noncanonical)-`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ; \ +Index: b/src/gcc/ada/gnat-style.texi +=================================================================== +--- a/src/gcc/ada/gnat-style.texi ++++ b/src/gcc/ada/gnat-style.texi +@@ -31,7 +31,7 @@ Texts. A copy of the license is include + + @dircategory Software development + @direntry +-* gnat-style: (gnat-style). GNAT Coding Style ++* gnat-style: (gnat-style-6). GNAT Coding Style + @end direntry + + @macro syntax{element} +Index: b/src/gcc/ada/gnat_rm.texi +=================================================================== +--- a/src/gcc/ada/gnat_rm.texi ++++ b/src/gcc/ada/gnat_rm.texi +@@ -12,7 +12,7 @@ + @finalout + @dircategory GNU Ada Tools + @direntry +-* gnat_rm: (gnat_rm.info). gnat_rm ++* GNAT Reference Manual: (gnat_rm-6). Reference Manual for GNU Ada tools. + @end direntry + + @definfoenclose strong,`,' +Index: b/src/gcc/doc/invoke.texi +=================================================================== +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -11604,7 +11604,7 @@ One of the standard libraries bypassed b + @option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines + which GCC uses to overcome shortcomings of particular machines, or special + needs for some languages. +-(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler ++(@xref{Interface,,Interfacing to GCC Output,@value{fngccint},GNU Compiler + Collection (GCC) Internals}, + for more discussion of @file{libgcc.a}.) + In most cases, you need @file{libgcc.a} even when you want to avoid +@@ -11613,7 +11613,7 @@ or @option{-nodefaultlibs} you should us + This ensures that you have no unresolved references to internal GCC + library subroutines. + (An example of such an internal subroutine is @code{__main}, used to ensure C++ +-constructors are called; @pxref{Collect2,,@code{collect2}, gccint, ++constructors are called; @pxref{Collect2,,@code{collect2}, @value{fngccint}, + GNU Compiler Collection (GCC) Internals}.) + + @item -pie +@@ -26506,7 +26506,7 @@ Note that you can also specify places to + @option{-B}, @option{-I} and @option{-L} (@pxref{Directory Options}). These + take precedence over places specified using environment variables, which + in turn take precedence over those specified by the configuration of GCC@. +-@xref{Driver,, Controlling the Compilation Driver @file{gcc}, gccint, ++@xref{Driver,, Controlling the Compilation Driver @file{gcc}, @value{fngccint}, + GNU Compiler Collection (GCC) Internals}. + + @table @env +@@ -26666,7 +26666,7 @@ the headers it contains change. + + A precompiled header file is searched for when @code{#include} is + seen in the compilation. As it searches for the included file +-(@pxref{Search Path,,Search Path,cpp,The C Preprocessor}) the ++(@pxref{Search Path,,Search Path,@value{fncpp},The C Preprocessor}) the + compiler looks for a precompiled header in each directory just before it + looks for the include file in that directory. The name searched for is + the name specified in the @code{#include} with @samp{.gch} appended. If +Index: b/src/gcc/doc/extend.texi +=================================================================== +--- a/src/gcc/doc/extend.texi ++++ b/src/gcc/doc/extend.texi +@@ -21802,7 +21802,7 @@ want to write code that checks whether t + test for the GNU compiler the same way as for C programs: check for a + predefined macro @code{__GNUC__}. You can also use @code{__GNUG__} to + test specifically for GNU C++ (@pxref{Common Predefined Macros,, +-Predefined Macros,cpp,The GNU C Preprocessor}). ++Predefined Macros,@value{fncpp},The GNU C Preprocessor}). + + @menu + * C++ Volatiles:: What constitutes an access to a volatile object. +Index: b/src/gcc/doc/standards.texi +=================================================================== +--- a/src/gcc/doc/standards.texi ++++ b/src/gcc/doc/standards.texi +@@ -315,5 +315,5 @@ freely available at @uref{http://www.hsa + GNAT Reference Manual}, for information on standard + conformance and compatibility of the Ada compiler. + +-@xref{Standards,,Standards, gfortran, The GNU Fortran Compiler}, for details ++@xref{Standards,,Standards, @value{fngfortran}, The GNU Fortran Compiler}, for details + of standards supported by GNU Fortran. +Index: b/src/gcc/doc/libgcc.texi +=================================================================== +--- a/src/gcc/doc/libgcc.texi ++++ b/src/gcc/doc/libgcc.texi +@@ -24,7 +24,7 @@ that needs them. + GCC will also generate calls to C library routines, such as + @code{memcpy} and @code{memset}, in some cases. The set of routines + that GCC may possibly use is documented in @ref{Other +-Builtins,,,gcc, Using the GNU Compiler Collection (GCC)}. ++Builtins,,,@value{fngcc}, Using the GNU Compiler Collection (GCC)}. + + These routines take arguments and return values of a specific machine + mode, not a specific C type. @xref{Machine Modes}, for an explanation +Index: b/src/gcc/doc/gccint.texi +=================================================================== +--- a/src/gcc/doc/gccint.texi ++++ b/src/gcc/doc/gccint.texi +@@ -49,7 +49,7 @@ Texts being (a) (see below), and with th + @ifnottex + @dircategory Software development + @direntry +-* gccint: (gccint). Internals of the GNU Compiler Collection. ++* @value{fngccint}: (@value{fngccint}). Internals of the GNU Compiler Collection. + @end direntry + This file documents the internals of the GNU compilers. + @sp 1 +@@ -81,7 +81,7 @@ write front ends for new languages. It + @value{VERSION_PACKAGE} + @end ifset + version @value{version-GCC}. The use of the GNU compilers is documented in a +-separate manual. @xref{Top,, Introduction, gcc, Using the GNU ++separate manual. @xref{Top,, Introduction, @value{fngcc}, Using the GNU + Compiler Collection (GCC)}. + + This manual is mainly a reference manual rather than a tutorial. It +Index: b/src/gcc/doc/cpp.texi +=================================================================== +--- a/src/gcc/doc/cpp.texi ++++ b/src/gcc/doc/cpp.texi +@@ -50,7 +50,7 @@ This manual contains no Invariant Sectio + @ifinfo + @dircategory Software development + @direntry +-* Cpp: (cpp). The GNU C preprocessor. ++* @value{fncpp}: (@value{fncpp}). The GNU C preprocessor. + @end direntry + @end ifinfo + +Index: b/src/gcc/doc/gcc.texi +=================================================================== +--- a/src/gcc/doc/gcc.texi ++++ b/src/gcc/doc/gcc.texi +@@ -127,7 +127,7 @@ version @value{version-GCC}. + The internals of the GNU compilers, including how to port them to new + targets and some information about how to write front ends for new + languages, are documented in a separate manual. @xref{Top,, +-Introduction, gccint, GNU Compiler Collection (GCC) Internals}. ++Introduction, @value{fngccint}, GNU Compiler Collection (GCC) Internals}. + + @menu + * G++ and GCC:: You can compile C or C++ programs. +Index: b/src/gcc/doc/install.texi +=================================================================== +--- a/src/gcc/doc/install.texi ++++ b/src/gcc/doc/install.texi +@@ -94,7 +94,7 @@ Free Documentation License}''. + @end ifinfo + @dircategory Software development + @direntry +-* gccinstall: (gccinstall). Installing the GNU Compiler Collection. ++* @value{fngccinstall}: (@value{fngccinstall}). Installing the GNU Compiler Collection. + @end direntry + + @c Part 3 Titlepage and Copyright +Index: b/src/gcc/doc/cppinternals.texi +=================================================================== +--- a/src/gcc/doc/cppinternals.texi ++++ b/src/gcc/doc/cppinternals.texi +@@ -7,7 +7,7 @@ + @ifinfo + @dircategory Software development + @direntry +-* Cpplib: (cppinternals). Cpplib internals. ++* @value{fncppint}: (@value{fncppint}). Cpplib internals. + @end direntry + @end ifinfo + +Index: b/src/libgomp/libgomp.texi +=================================================================== +--- a/src/libgomp/libgomp.texi ++++ b/src/libgomp/libgomp.texi +@@ -31,7 +31,7 @@ texts being (a) (see below), and with th + @ifinfo + @dircategory GNU Libraries + @direntry +-* libgomp: (libgomp). GNU Offloading and Multi Processing Runtime Library. ++* @value{fnlibgomp}: (@value{fnlibgomp}). GNU Offloading and Multi Processing Runtime Library. + @end direntry + + This manual documents libgomp, the GNU Offloading and Multi Processing +Index: b/src/libgomp/Makefile.in +=================================================================== +--- a/src/libgomp/Makefile.in ++++ b/src/libgomp/Makefile.in +@@ -487,7 +487,8 @@ info_TEXINFOS = libgomp.texi + + # AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO]) + @BUILD_INFO_TRUE@STAMP_BUILD_INFO = stamp-build-info +-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info ++INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)') ++CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBGOMP_NAME).info + MAINTAINERCLEANFILES = $(srcdir)/libgomp.info + all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive +@@ -1302,15 +1303,16 @@ env.lo: libgomp_f.h + env.o: libgomp_f.h + + all-local: $(STAMP_GENINSRC) +- +-stamp-geninsrc: libgomp.info +- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info ++stamp-geninsrc: $(INFO_LIBGOMP_NAME).info ++ cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info + @touch $@ + +-libgomp.info: $(STAMP_BUILD_INFO) ++libgomp.info: $(INFO_LIBGOMP_NAME).info ++ [ "$(INFO_LIBGOMP_NAME).info" = libgomp.info ] || cp $(INFO_LIBGOMP_NAME).info libgomp.info ++$(INFO_LIBGOMP_NAME).info: $(STAMP_BUILD_INFO) + + stamp-build-info: libgomp.texi +- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi ++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibgomp $(INFO_LIBGOMP_NAME)' -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi + @touch $@ + + # Tell versions [3.59,3.63) of GNU make to not export all variables. +Index: b/src/libgomp/Makefile.am +=================================================================== +--- a/src/libgomp/Makefile.am ++++ b/src/libgomp/Makefile.am +@@ -125,16 +125,19 @@ endif + + all-local: $(STAMP_GENINSRC) + +-stamp-geninsrc: libgomp.info +- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info ++INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)') ++stamp-geninsrc: $(INFO_LIBGOMP_NAME).info ++ cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info + @touch $@ + +-libgomp.info: $(STAMP_BUILD_INFO) ++libgomp.info: $(INFO_LIBGOMP_NAME).info ++ cp $(INFO_LIBGOMP_NAME).info libgomp.info ++$(INFO_LIBGOMP_NAME).info: $(STAMP_BUILD_INFO) + + stamp-build-info: libgomp.texi +- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi ++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibgomp $(INFO_LIBGOMP_NAME)' -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi + @touch $@ + + +-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info ++CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBGOMP_NAME).info + MAINTAINERCLEANFILES = $(srcdir)/libgomp.info +Index: b/src/libitm/libitm.texi +=================================================================== +--- a/src/libitm/libitm.texi ++++ b/src/libitm/libitm.texi +@@ -20,7 +20,7 @@ Free Documentation License''. + @ifinfo + @dircategory GNU Libraries + @direntry +-* libitm: (libitm). GNU Transactional Memory Library ++* @value{fnlibitm}: (@value{fnlibitm}). GNU Transactional Memory Library + @end direntry + + This manual documents the GNU Transactional Memory Library. +Index: b/src/libitm/Makefile.am +=================================================================== +--- a/src/libitm/Makefile.am ++++ b/src/libitm/Makefile.am +@@ -107,14 +107,17 @@ endif + + all-local: $(STAMP_GENINSRC) + +-stamp-geninsrc: libitm.info +- cp -p $(top_builddir)/libitm.info $(srcdir)/libitm.info ++INFO_LIBITM_NAME = $(shell echo libitm|sed '$(program_transform_name)') ++stamp-geninsrc: $(INFO_LIBITM_NAME).info ++ cp -p $(top_builddir)/$(INFO_LIBITM_NAME).info $(srcdir)/libitm.info + @touch $@ + +-libitm.info: $(STAMP_BUILD_INFO) ++libitm.info: $(INFO_LIBITM_NAME).info ++ cp $(INFO_LIBITM_NAME).info libitm.info ++$(INFO_LIBITM_NAME).info: $(STAMP_BUILD_INFO) + + stamp-build-info: libitm.texi +- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libitm.info $(srcdir)/libitm.texi ++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -D 'fnlibitm $(INFO_LIBITM_NAME)'-o $(INFO_LIBITM_NAME).info $(srcdir)/libitm.texi + @touch $@ + + +Index: b/src/libitm/Makefile.in +=================================================================== +--- a/src/libitm/Makefile.in ++++ b/src/libitm/Makefile.in +@@ -1105,14 +1105,17 @@ vpath % $(strip $(search_path)) + + all-local: $(STAMP_GENINSRC) + +-stamp-geninsrc: libitm.info +- cp -p $(top_builddir)/libitm.info $(srcdir)/libitm.info ++INFO_LIBITM_NAME = $(shell echo libitm|sed '$(program_transform_name)') ++stamp-geninsrc: $(INFO_LIBITM_NAME).info ++ cp -p $(top_builddir)/$(INFO_LIBITM_NAME).info $(srcdir)/libitm.info + @touch $@ + +-libitm.info: $(STAMP_BUILD_INFO) ++libitm.info: $(INFO_LIBITM_NAME).info ++ cp $(INFO_LIBITM_NAME).info libitm.info ++$(INFO_LIBITM_NAME).info: $(STAMP_BUILD_INFO) + + stamp-build-info: libitm.texi +- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libitm.info $(srcdir)/libitm.texi ++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -D 'fnlibitm $(INFO_LIBITM_NAME)' -o $(INFO_LIBITM_NAME).info $(srcdir)/libitm.texi + @touch $@ + + # Tell versions [3.59,3.63) of GNU make to not export all variables. +Index: b/src/gcc/go/Make-lang.in +=================================================================== +--- a/src/gcc/go/Make-lang.in ++++ b/src/gcc/go/Make-lang.in +@@ -89,10 +89,11 @@ GO_TEXI_FILES = \ + $(gcc_docdir)/include/gcc-common.texi \ + gcc-vers.texi + +-doc/gccgo.info: $(GO_TEXI_FILES) ++INFO_GCCGO_NAME = $(shell echo gccgo|sed '$(program_transform_name)') ++doc/$(INFO_GCCGO_NAME).info: $(GO_TEXI_FILES) + if test "x$(BUILD_INFO)" = xinfo; then \ +- rm -f doc/gccgo.info*; \ +- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \ ++ rm -f doc/$(INFO_GCCGO_NAME).info*; \ ++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \ + -I $(gcc_docdir)/include -o $@ $<; \ + else true; fi + +@@ -118,7 +119,7 @@ gccgo.pod: go/gccgo.texi + go.all.cross: gccgo-cross$(exeext) + go.start.encap: gccgo$(exeext) + go.rest.encap: +-go.info: doc/gccgo.info ++go.info: doc/$(INFO_GCCGO_NAME).info + go.dvi: doc/gccgo.dvi + go.pdf: doc/gccgo.pdf + go.html: $(build_htmldir)/go/index.html +@@ -154,7 +155,7 @@ go.install-common: installdirs + + go.install-plugin: + +-go.install-info: $(DESTDIR)$(infodir)/gccgo.info ++go.install-info: $(DESTDIR)$(infodir)/$(INFO_GCCGO_NAME).info + + go.install-pdf: doc/gccgo.pdf + @$(NORMAL_INSTALL) +@@ -194,7 +195,7 @@ go.uninstall: + rm -rf $(DESTDIR)$(bindir)/$(GCCGO_INSTALL_NAME)$(exeext) + rm -rf $(DESTDIR)$(man1dir)/$(GCCGO_INSTALL_NAME)$(man1ext) + rm -rf $(DESTDIR)$(bindir)/$(GCCGO_TARGET_INSTALL_NAME)$(exeext) +- rm -rf $(DESTDIR)$(infodir)/gccgo.info* ++ rm -rf $(DESTDIR)$(infodir)/$(INFO_GCCGO_NAME).info* + + # Clean hooks. + +Index: b/src/gcc/go/gccgo.texi +=================================================================== +--- a/src/gcc/go/gccgo.texi ++++ b/src/gcc/go/gccgo.texi +@@ -50,7 +50,7 @@ man page gfdl(7). + @format + @dircategory Software development + @direntry +-* Gccgo: (gccgo). A GCC-based compiler for the Go language ++* @value{fngccgo}: (@value{fngccgo}). A GCC-based compiler for the Go language + @end direntry + @end format + +@@ -124,7 +124,7 @@ and the Info entries for @file{gccgo} an + + The @command{gccgo} command is a frontend to @command{gcc} and + supports many of the same options. @xref{Option Summary, , Option +-Summary, gcc, Using the GNU Compiler Collection (GCC)}. This manual ++Summary, @value{fngcc}, Using the GNU Compiler Collection (GCC)}. This manual + only documents the options specific to @command{gccgo}. + + The @command{gccgo} command may be used to compile Go source code into +Index: b/src/libquadmath/libquadmath.texi +=================================================================== +--- a/src/libquadmath/libquadmath.texi ++++ b/src/libquadmath/libquadmath.texi +@@ -25,7 +25,7 @@ copy and modify this GNU manual. + @ifinfo + @dircategory GNU Libraries + @direntry +-* libquadmath: (libquadmath). GCC Quad-Precision Math Library ++* @value{fnlibquadmath}: (@value{fnlibquadmath}). GCC Quad-Precision Math Library + @end direntry + + This manual documents the GCC Quad-Precision Math Library API. +Index: b/src/libquadmath/Makefile.am +=================================================================== +--- a/src/libquadmath/Makefile.am ++++ b/src/libquadmath/Makefile.am +@@ -133,22 +133,24 @@ endif + + all-local: $(STAMP_GENINSRC) + +-stamp-geninsrc: libquadmath.info +- cp -p $(top_builddir)/libquadmath.info $(srcdir)/libquadmath.info ++INFO_LIBQMATH_NAME = $(shell echo libquadmath|sed '$(program_transform_name)') ++ ++stamp-geninsrc: $(INFO_LIBQMATH_NAME).info ++ cp -p $(top_builddir)/$(INFO_LIBQMATH_NAME).info $(srcdir)/libquadmath.info + @touch $@ + + stamp-build-info: libquadmath.texi $(libquadmath_TEXINFOS) +- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libquadmath.info $(srcdir)/libquadmath.texi ++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o $(INFO_LIBQMATH_NAME).info $(srcdir)/libquadmath.texi + @touch $@ + +-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libquadmath.info +-MAINTAINERCLEANFILES = $(srcdir)/libquadmath.info ++CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBQMATH_NAME).info ++MAINTAINERCLEANFILES = $(srcdir)/$(INFO_LIBQMATH_NAME).info + + endif BUILD_LIBQUADMATH + + # Unconditionally override this target, so that automake's definition + # does not wrongly interfere. +-libquadmath.info: $(STAMP_BUILD_INFO) ++$(INFO_LIBQMATH_NAME).info: $(STAMP_BUILD_INFO) + + + # Automake Documentation: +Index: b/src/libquadmath/Makefile.in +=================================================================== +--- a/src/libquadmath/Makefile.in ++++ b/src/libquadmath/Makefile.in +@@ -193,7 +193,8 @@ MULTIDIRS = + MULTISUBDIR = + MULTIDO = true + MULTICLEAN = true +-INFO_DEPS = libquadmath.info ++INFO_LIBQMATH_NAME = $(shell echo libquadmath|sed '$(program_transform_name)') ++INFO_DEPS = $(INFO_LIBQMATH_NAME).info + am__TEXINFO_TEX_DIR = $(srcdir)/../gcc/doc/include + DVIS = libquadmath.dvi + PDFS = libquadmath.pdf +@@ -436,8 +437,8 @@ AUTOMAKE_OPTIONS = 1.8 foreign + + # AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO]) + @BUILD_INFO_TRUE@@BUILD_LIBQUADMATH_TRUE@STAMP_BUILD_INFO = stamp-build-info +-@BUILD_LIBQUADMATH_TRUE@CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libquadmath.info +-@BUILD_LIBQUADMATH_TRUE@MAINTAINERCLEANFILES = $(srcdir)/libquadmath.info ++@BUILD_LIBQUADMATH_TRUE@CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBQMATH_NAME).info ++@BUILD_LIBQUADMATH_TRUE@MAINTAINERCLEANFILES = $(srcdir)/$(INFO_LIBQMATH_NAME).info + + # Automake Documentation: + # If your package has Texinfo files in many directories, you can use the +@@ -1518,17 +1519,17 @@ uninstall-am: uninstall-dvi-am uninstall + + @BUILD_LIBQUADMATH_TRUE@all-local: $(STAMP_GENINSRC) + +-@BUILD_LIBQUADMATH_TRUE@stamp-geninsrc: libquadmath.info +-@BUILD_LIBQUADMATH_TRUE@ cp -p $(top_builddir)/libquadmath.info $(srcdir)/libquadmath.info ++@BUILD_LIBQUADMATH_TRUE@stamp-geninsrc: $(INFO_LIBQMATH_NAME).info ++@BUILD_LIBQUADMATH_TRUE@ cp -p $(top_builddir)/$(INFO_LIBQMATH_NAME).info $(srcdir)/$(INFO_LIBQMATH_NAME).info + @BUILD_LIBQUADMATH_TRUE@ @touch $@ + + @BUILD_LIBQUADMATH_TRUE@stamp-build-info: libquadmath.texi $(libquadmath_TEXINFOS) +-@BUILD_LIBQUADMATH_TRUE@ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libquadmath.info $(srcdir)/libquadmath.texi ++@BUILD_LIBQUADMATH_TRUE@ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o $(INFO_LIBQMATH_NAME).info $(srcdir)/libquadmath.texi + @BUILD_LIBQUADMATH_TRUE@ @touch $@ + + # Unconditionally override this target, so that automake's definition + # does not wrongly interfere. +-libquadmath.info: $(STAMP_BUILD_INFO) ++$(INFO_LIBQMATH_NAME).info: $(STAMP_BUILD_INFO) + + libquadmath-vers.texi: + echo "@set BUGURL $(REPORT_BUGS_TEXI)" > $@ --- gcc-7-7.1.0.orig/debian/patches/skip-bootstrap-multilib.diff +++ gcc-7-7.1.0/debian/patches/skip-bootstrap-multilib.diff @@ -0,0 +1,49 @@ +# DP: Skip non-default multilib and libstdc++-v3 debug builds in bootstrap builds + +Index: b/src/config-ml.in +=================================================================== +--- a/src/config-ml.in ++++ b/src/config-ml.in +@@ -479,6 +479,17 @@ esac + # Tests like `if [ -n "$multidirs" ]' require it. + multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'` + ++# stage1 and stage2 builds of the non-default multilib configurations ++# are not needed; skip these to save some build time. ++if [ -f ../../stage_final ] && [ -f ../../stage_current ]; then ++ stage_final=`cat ../../stage_final` ++ stage_current=`cat ../../stage_current` ++ if [ "$stage_current" != "$stage_final" ]; then ++ echo "Skip `basename $ml_realsrcdir` non-default multilibs for bootstrap stage $stage_current" ++ multidirs= ++ fi ++fi ++ + # Add code to library's top level makefile to handle building the multilib + # subdirs. + +Index: b/src/libstdc++-v3/acinclude.m4 +=================================================================== +--- a/src/libstdc++-v3/acinclude.m4 ++++ b/src/libstdc++-v3/acinclude.m4 +@@ -2895,7 +2895,20 @@ dnl + AC_DEFUN([GLIBCXX_ENABLE_DEBUG], [ + AC_MSG_CHECKING([for additional debug build]) + GLIBCXX_ENABLE(libstdcxx-debug,$1,,[build extra debug library]) ++ if test x$enable_libstdcxx_debug = xyes; then ++ if test -f $toplevel_builddir/../stage_final && test -f $toplevel_builddir/../stage_current; then ++ stage_final=`cat $toplevel_builddir/../stage_final` ++ stage_current=`cat $toplevel_builddir/../stage_current` ++ if test x$stage_current != x$stage_final ; then ++ skip_debug_build=yes ++ enable_libstdcxx_debug=no ++ fi ++ fi ++ fi + AC_MSG_RESULT($enable_libstdcxx_debug) ++ if test x$skip_debug_build = xyes ; then ++ AC_MSG_NOTICE([Skip libstdc++-v3 debug build for bootstrap stage $stage_current]) ++ fi + GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_DEBUG, test $enable_libstdcxx_debug = yes) + ]) + --- gcc-7-7.1.0.orig/debian/patches/sparc64-biarch-long-double-128.diff +++ gcc-7-7.1.0/debian/patches/sparc64-biarch-long-double-128.diff @@ -0,0 +1,35 @@ +# DP: Fix --with-long-double-128 for sparc32 when defaulting to 64-bit. + +On sparc, the --with-long-double-128 option doesn't change anything for +a 64-bit compiler, as it always default to 128-bit long doubles. For +a 32/64-bit compiler defaulting to 32-bit this correctly control the +size of long double of the 32-bit compiler, however for a 32/64-bit +compiler defaulting to 64-bit, the built-in specs force the +-mlong-double-64 option. This makes the option useless in this case. + +The patch below fixes that by removing the -mlong-double-64 from the +built-in spec, using the default instead. + +Changelog gcc/ + +2013-12-04 Aurelien Jarno + + * config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit, + don't force -mlong-double-64 when -m32 or -mv8plus is given. + +Index: b/src/gcc/config/sparc/linux64.h +=================================================================== +--- a/src/gcc/config/sparc/linux64.h ++++ b/src/gcc/config/sparc/linux64.h +@@ -154,9 +154,9 @@ extern const char *host_detect_local_cpu + #else + #define CC1_SPEC "%{profile:-p} \ + %{m32:%{m64:%emay not use both -m32 and -m64}} \ +-%{m32:-mptr32 -mno-stack-bias %{!mlong-double-128:-mlong-double-64} \ ++%{m32:-mptr32 -mno-stack-bias \ + %{!mcpu*:-mcpu=cypress}} \ +-%{mv8plus:-mptr32 -mno-stack-bias %{!mlong-double-128:-mlong-double-64} \ ++%{mv8plus:-mptr32 -mno-stack-bias \ + %{!mcpu*:-mcpu=v9}} \ + %{!m32:%{!mcpu*:-mcpu=ultrasparc}} \ + %{!mno-vis:%{!m32:%{!mcpu=v9:-mvis}}} \ --- gcc-7-7.1.0.orig/debian/patches/svn-doc-updates.diff +++ gcc-7-7.1.0/debian/patches/svn-doc-updates.diff @@ -0,0 +1,6 @@ +# DP: updates from the 6 branch upto 2017xxyy (documentation). + +svn diff svn://gcc.gnu.org/svn/gcc/tags/gcc_7_1_0_release svn://gcc.gnu.org/svn/gcc/branches/gcc-5-branch \ + | sed -r 's,^--- (\S+)\t(\S+)(.*)$,--- a/src/\1\t\2,;s,^\+\+\+ (\S+)\t(\S+)(.*)$,+++ b/src/\1\t\2,' \ + | awk '/^Index:.*\.texi/ {skip=0; print; next} /^Index:/ {skip=1; next} skip==0' + --- gcc-7-7.1.0.orig/debian/patches/svn-updates.diff +++ gcc-7-7.1.0/debian/patches/svn-updates.diff @@ -0,0 +1,61194 @@ +# DP: updates from the 7 branch upto 20170618 (r249347). + +last_update() +{ + cat > ${dir}LAST_UPDATED ++ ++ Backported from mainline ++ 2017-05-30 Jakub Jelinek ++ ++ PR libgomp/80822 ++ * config/linux/affinity.c (gomp_affinity_init_level_1): New function. ++ (gomp_affinity_init_level): Use it. Always analyze the core and thread ++ sibling lists, depending on level just pick up what CPUs to put ++ together into a place vs. whether add multiple ordered places. ++ ++2017-05-26 Jakub Jelinek ++ ++ Backported from mainline ++ 2017-05-22 Jakub Jelinek ++ ++ PR middle-end/80809 ++ * testsuite/libgomp.c/pr80809-2.c: New test. ++ * testsuite/libgomp.c/pr80809-3.c: New test. ++ ++ PR middle-end/80809 ++ * testsuite/libgomp.c/pr80809-1.c: New test. ++ ++ PR middle-end/80853 ++ * testsuite/libgomp.c/pr80853.c: New test. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +Index: libgomp/testsuite/libgomp.c/pr80809-1.c +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c/pr80809-1.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgomp/testsuite/libgomp.c/pr80809-1.c (.../branches/gcc-7-branch) +@@ -0,0 +1,29 @@ ++/* PR middle-end/80809 */ ++/* { dg-do run } */ ++ ++__attribute__((noinline, noclone)) void ++foo (int x) ++{ ++ int i, j, v[x], *w[16]; ++ for (i = 0; i < x; i++) ++ v[i] = i; ++#pragma omp parallel ++#pragma omp single ++ for (i = 0; i < 16; i++) ++ /* Make sure v is implicitly determined shared in task, because it ++ is shared on the parallel. */ ++#pragma omp task private (j) ++ w[i] = v; ++ for (i = 0; i < 16; i++) ++ if (w[i] != v) ++ __builtin_abort (); ++} ++ ++int ++main () ++{ ++ foo (4); ++ foo (27); ++ foo (196); ++ return 0; ++} +Index: libgomp/testsuite/libgomp.c/pr80853.c +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c/pr80853.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgomp/testsuite/libgomp.c/pr80853.c (.../branches/gcc-7-branch) +@@ -0,0 +1,29 @@ ++/* PR middle-end/80853 */ ++/* { dg-do run } */ ++ ++__attribute__((noinline, noclone)) void ++foo (int *p) ++{ ++ #pragma omp for reduction(+:p[:4]) ++ for (int i = 0; i < 64; i++) ++ { ++ p[0] += i; ++ p[1] += i / 2; ++ p[2] += 2 * i; ++ p[3] += 3 * i; ++ } ++} ++ ++int ++main () ++{ ++ int p[4] = { 0, 0, 0, 0 }; ++ #pragma omp parallel ++ foo (p); ++ if (p[0] != 63 * 64 / 2 ++ || p[1] != 31 * 32 ++ || p[2] != 63 * 64 ++ || p[3] != 3 * 63 * 64 / 2) ++ __builtin_abort (); ++ return 0; ++} +Index: libgomp/testsuite/libgomp.c/pr80809-2.c +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c/pr80809-2.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgomp/testsuite/libgomp.c/pr80809-2.c (.../branches/gcc-7-branch) +@@ -0,0 +1,35 @@ ++/* PR middle-end/80809 */ ++/* { dg-do run } */ ++ ++__attribute__((noinline, noclone)) void ++foo (int x) ++{ ++ int i, v[x], w[16]; ++ for (i = 0; i < x; i++) ++ v[i] = i; ++ for (i = 0; i < 16; i++) ++ w[i] = 0; ++#pragma omp parallel ++#pragma omp single ++ for (i = 0; i < 16; i++) ++#pragma omp task firstprivate (v) ++ { ++ int j; ++ for (j = 0; j < x; j++) ++ v[j] += i; ++ for (j = 0; j < x; j++) ++ w[i] += v[j]; ++ } ++ for (i = 0; i < 16; i++) ++ if (w[i] != (x - 1) * x / 2 + x * i) ++ __builtin_abort (); ++} ++ ++int ++main () ++{ ++ foo (4); ++ foo (27); ++ foo (196); ++ return 0; ++} +Index: libgomp/testsuite/libgomp.c/pr80809-3.c +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c/pr80809-3.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgomp/testsuite/libgomp.c/pr80809-3.c (.../branches/gcc-7-branch) +@@ -0,0 +1,42 @@ ++/* PR middle-end/80809 */ ++/* { dg-do run } */ ++ ++__attribute__((noinline, noclone)) void ++foo (int x) ++{ ++ int i, v[x], w[16]; ++ for (i = 0; i < x; i++) ++ v[i] = i; ++ for (i = 0; i < 16; i++) ++ w[i] = 0; ++#pragma omp parallel ++#pragma omp single ++ { ++ int z[x]; ++ for (i = 0; i < x; i++) ++ z[0] = 0; ++ for (i = 0; i < 16; i++) ++#pragma omp task firstprivate (z) firstprivate (v) ++ { ++ int j; ++ for (j = 0; j < x; j++) ++ z[j] = i; ++ for (j = 0; j < x; j++) ++ v[j] += z[j]; ++ for (j = 0; j < x; j++) ++ w[i] += v[j]; ++ } ++ } ++ for (i = 0; i < 16; i++) ++ if (w[i] != (x - 1) * x / 2 + x * i) ++ __builtin_abort (); ++} ++ ++int ++main () ++{ ++ foo (4); ++ foo (27); ++ foo (196); ++ return 0; ++} +Index: libgomp/config/linux/affinity.c +=================================================================== +--- a/src/libgomp/config/linux/affinity.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgomp/config/linux/affinity.c (.../branches/gcc-7-branch) +@@ -222,10 +222,87 @@ + return true; + } + ++static void ++gomp_affinity_init_level_1 (int level, int this_level, unsigned long count, ++ cpu_set_t *copy, char *name, bool quiet) ++{ ++ size_t prefix_len = sizeof ("/sys/devices/system/cpu/cpu") - 1; ++ FILE *f; ++ char *line = NULL; ++ size_t linelen = 0; ++ unsigned long i, max = 8 * gomp_cpuset_size; ++ ++ for (i = 0; i < max && gomp_places_list_len < count; i++) ++ if (CPU_ISSET_S (i, gomp_cpuset_size, copy)) ++ { ++ sprintf (name + prefix_len, "%lu/topology/%s_siblings_list", ++ i, this_level == 3 ? "core" : "thread"); ++ f = fopen (name, "r"); ++ if (f == NULL) ++ { ++ CPU_CLR_S (i, gomp_cpuset_size, copy); ++ continue; ++ } ++ if (getline (&line, &linelen, f) > 0) ++ { ++ char *p = line; ++ void *pl = gomp_places_list[gomp_places_list_len]; ++ if (level == this_level) ++ gomp_affinity_init_place (pl); ++ while (*p && *p != '\n') ++ { ++ unsigned long first, last; ++ errno = 0; ++ first = strtoul (p, &p, 10); ++ if (errno) ++ break; ++ last = first; ++ if (*p == '-') ++ { ++ errno = 0; ++ last = strtoul (p + 1, &p, 10); ++ if (errno || last < first) ++ break; ++ } ++ for (; first <= last; first++) ++ if (!CPU_ISSET_S (first, gomp_cpuset_size, copy)) ++ continue; ++ else if (this_level == 3 && level < this_level) ++ gomp_affinity_init_level_1 (level, 2, count, copy, ++ name, quiet); ++ else ++ { ++ if (level == 1) ++ { ++ pl = gomp_places_list[gomp_places_list_len]; ++ gomp_affinity_init_place (pl); ++ } ++ if (gomp_affinity_add_cpus (pl, first, 1, 0, true)) ++ { ++ CPU_CLR_S (first, gomp_cpuset_size, copy); ++ if (level == 1) ++ gomp_places_list_len++; ++ } ++ } ++ if (*p == ',') ++ ++p; ++ } ++ if (level == this_level ++ && !CPU_ISSET_S (i, gomp_cpuset_size, copy)) ++ gomp_places_list_len++; ++ CPU_CLR_S (i, gomp_cpuset_size, copy); ++ } ++ fclose (f); ++ } ++ free (line); ++} ++ + bool + gomp_affinity_init_level (int level, unsigned long count, bool quiet) + { +- unsigned long i, max = 8 * gomp_cpuset_size; ++ char name[sizeof ("/sys/devices/system/cpu/cpu/topology/" ++ "thread_siblings_list") + 3 * sizeof (unsigned long)]; ++ cpu_set_t *copy; + + if (gomp_cpusetp) + { +@@ -238,90 +315,20 @@ + gomp_places_list_len = 0; + if (gomp_places_list == NULL) + return false; +- /* SMT (threads). */ +- if (level == 1) ++ ++ copy = gomp_alloca (gomp_cpuset_size); ++ strcpy (name, "/sys/devices/system/cpu/cpu"); ++ memcpy (copy, gomp_cpusetp, gomp_cpuset_size); ++ gomp_affinity_init_level_1 (level, 3, count, copy, name, quiet); ++ if (gomp_places_list_len == 0) + { +- for (i = 0; i < max && gomp_places_list_len < count; i++) +- if (CPU_ISSET_S (i, gomp_cpuset_size, gomp_cpusetp)) +- { +- gomp_affinity_init_place (gomp_places_list[gomp_places_list_len]); +- gomp_affinity_add_cpus (gomp_places_list[gomp_places_list_len], +- i, 1, 0, true); +- ++gomp_places_list_len; +- } +- return true; ++ if (!quiet) ++ gomp_error ("Error reading core/socket topology"); ++ free (gomp_places_list); ++ gomp_places_list = NULL; ++ return false; + } +- else +- { +- char name[sizeof ("/sys/devices/system/cpu/cpu/topology/" +- "thread_siblings_list") + 3 * sizeof (unsigned long)]; +- size_t prefix_len = sizeof ("/sys/devices/system/cpu/cpu") - 1; +- cpu_set_t *copy = gomp_alloca (gomp_cpuset_size); +- FILE *f; +- char *line = NULL; +- size_t linelen = 0; +- +- memcpy (name, "/sys/devices/system/cpu/cpu", prefix_len); +- memcpy (copy, gomp_cpusetp, gomp_cpuset_size); +- for (i = 0; i < max && gomp_places_list_len < count; i++) +- if (CPU_ISSET_S (i, gomp_cpuset_size, copy)) +- { +- sprintf (name + prefix_len, "%lu/topology/%s_siblings_list", +- i, level == 2 ? "thread" : "core"); +- f = fopen (name, "r"); +- if (f != NULL) +- { +- if (getline (&line, &linelen, f) > 0) +- { +- char *p = line; +- bool seen_i = false; +- void *pl = gomp_places_list[gomp_places_list_len]; +- gomp_affinity_init_place (pl); +- while (*p && *p != '\n') +- { +- unsigned long first, last; +- errno = 0; +- first = strtoul (p, &p, 10); +- if (errno) +- break; +- last = first; +- if (*p == '-') +- { +- errno = 0; +- last = strtoul (p + 1, &p, 10); +- if (errno || last < first) +- break; +- } +- for (; first <= last; first++) +- if (CPU_ISSET_S (first, gomp_cpuset_size, copy) +- && gomp_affinity_add_cpus (pl, first, 1, 0, +- true)) +- { +- CPU_CLR_S (first, gomp_cpuset_size, copy); +- if (first == i) +- seen_i = true; +- } +- if (*p == ',') +- ++p; +- } +- if (seen_i) +- gomp_places_list_len++; +- } +- fclose (f); +- } +- } +- if (gomp_places_list_len == 0) +- { +- if (!quiet) +- gomp_error ("Error reading %s topology", +- level == 2 ? "core" : "socket"); +- free (gomp_places_list); +- gomp_places_list = NULL; +- return false; +- } +- return true; +- } +- return false; ++ return true; + } + + void +Index: libstdc++-v3/doc/xml/manual/mt_allocator.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/mt_allocator.xml (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/mt_allocator.xml (.../branches/gcc-7-branch) +@@ -307,7 +307,7 @@ + as part of a container's constructor. However, this assumption is + implementation-specific, and subject to change. For an example of a + pool that frees memory, see the following +- ++ + example. + + +Index: libstdc++-v3/doc/xml/manual/allocator.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/allocator.xml (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/allocator.xml (.../branches/gcc-7-branch) +@@ -185,8 +185,8 @@ + Over multiple iterations, various STL container + objects have elements inserted to some maximum amount. A variety + of allocators are tested. +- Test source for sequence +- and associative ++ Test source for sequence ++ and associative + containers. + + +@@ -201,7 +201,7 @@ + on a per-thread basis, as well as measuring thread contention + for memory resources. + Test source +- here. ++ here. + + + +@@ -211,9 +211,9 @@ + + + Test source for +- sequence ++ sequence + and +- associative ++ associative + containers. + + +Index: libstdc++-v3/doc/xml/manual/abi.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/abi.xml (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/abi.xml (.../branches/gcc-7-branch) +@@ -264,6 +264,9 @@ + GCC 4.8.3: libstdc++.so.6.0.19 + GCC 4.9.0: libstdc++.so.6.0.20 + GCC 5.1.0: libstdc++.so.6.0.21 ++ GCC 6.1.0: libstdc++.so.6.0.22 ++ GCC 7.1.0: libstdc++.so.6.0.23 ++ GCC 7.2.0: libstdc++.so.6.0.24 + + + Note 1: Error should be libstdc++.so.3.0.3. +@@ -331,6 +334,8 @@ + GCC 4.9.0: GLIBCXX_3.4.20, CXXABI_1.3.8 + GCC 5.1.0: GLIBCXX_3.4.21, CXXABI_1.3.9 + GCC 6.1.0: GLIBCXX_3.4.22, CXXABI_1.3.10 ++ GCC 7.1.0: GLIBCXX_3.4.23, CXXABI_1.3.11 ++ GCC 7.2.0: GLIBCXX_3.4.24, CXXABI_1.3.11 + + + +Index: libstdc++-v3/doc/xml/manual/build_hacking.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/build_hacking.xml (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/build_hacking.xml (.../branches/gcc-7-branch) +@@ -474,6 +474,14 @@ + latestp variable). + + ++ ++Add the library (libstdc++.so.6.0.X) ++and symbols versions ++(GLIBCXX_3.4.X and CXXABI_1.3.Y) ++to the History section in ++doc/xml/manual/abi.xml at the relevant places. ++ ++ + + + +Index: libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml (.../branches/gcc-7-branch) +@@ -89,7 +89,7 @@ + + + The graphic below show the results for the native +- and collision-chaining hash types the the function ++ and collision-chaining hash types the function + applied being a text find timing test using + find. + +Index: libstdc++-v3/doc/xml/manual/policy_data_structures.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/policy_data_structures.xml (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/policy_data_structures.xml (.../branches/gcc-7-branch) +@@ -169,7 +169,7 @@ + push and pop operations, differs from the + others in terms of its invalidation guarantees. Other design + decisions also impact the cost and placement of the overhead, at the +- expense of more difference in the the kinds of operations that the ++ expense of more difference in the kinds of operations that the + underlying data structure can support. These differences pose a + challenge when creating a uniform interface for priority queues. + +Index: libstdc++-v3/doc/xml/manual/appendix_contributing.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/appendix_contributing.xml (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/appendix_contributing.xml (.../branches/gcc-7-branch) +@@ -358,7 +358,9 @@ + library. Support for "make check" and "make check-install" is + complete, and runs through all the subdirectories here when this + command is issued from the build directory. Please note that +- "make check" requires DejaGNU 1.4 or later to be installed. ++ "make check" requires DejaGnu 1.4 or later to be installed, ++ or for extra permutations ++ DejaGnu 1.5.3 or later. + + + +@@ -898,7 +900,7 @@ + Examples: _S_max_elements _S_default_value + + Don't use names in the same scope that differ only in the prefix, +- e.g. _S_top and _M_top. See BADNAMES for a list of forbidden names. ++ e.g. _S_top and _M_top. See BADNAMES for a list of forbidden names. + (The most tempting of these seem to be and "_T" and "__sz".) + + Names must never have "__" internally; it would confuse name +Index: libstdc++-v3/doc/xml/manual/test.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/test.xml (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/test.xml (.../branches/gcc-7-branch) +@@ -569,7 +569,7 @@ + For example, to run the tests with + + you could use: +- make RUNTESTFLAGS=--target_board=unix/-O1/-D_GLIBCXX_ASSERTIONS ++ make check RUNTESTFLAGS=--target_board=unix/-O1/-D_GLIBCXX_ASSERTIONS + + + +@@ -577,7 +577,7 @@ + tests multiple times in different variations. For example, to run the + entire testsuite three times using but with + different options: +- make 'RUNTESTFLAGS=--target_board=unix/-O3\"{-std=gnu++98,-std=gnu++11,-std=gnu++14}\"' ++ make check 'RUNTESTFLAGS=--target_board=unix/-O3\"{-std=gnu++98,-std=gnu++11,-std=gnu++14}\"' + N.B. that set of variations could also be written as + unix/-O3\"{-std=gnu++98,-std=gnu++11,}\" so that + the third variation would use the default for +Index: libstdc++-v3/doc/html/manual/policy_data_structures.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/policy_data_structures.html (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/policy_data_structures.html (.../branches/gcc-7-branch) +@@ -172,7 +172,7 @@ + push and pop operations, differs from the + others in terms of its invalidation guarantees. Other design + decisions also impact the cost and placement of the overhead, at the +- expense of more difference in the the kinds of operations that the ++ expense of more difference in the kinds of operations that the + underlying data structure can support. These differences pose a + challenge when creating a uniform interface for priority queues. +

Goals

+Index: libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html (.../branches/gcc-7-branch) +@@ -43,7 +43,7 @@ +

+ Results +

The graphic below show the results for the native +- and collision-chaining hash types the the function ++ and collision-chaining hash types the function + applied being a text find timing test using + find. +

+Index: libstdc++-v3/doc/html/manual/abi.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/abi.html (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/abi.html (.../branches/gcc-7-branch) +@@ -110,7 +110,7 @@ + has the same filename and DT_SONAME as the + preceding release. +

It is versioned as follows: +-

  • GCC 3.0.0: libstdc++.so.3.0.0

  • GCC 3.0.1: libstdc++.so.3.0.1

  • GCC 3.0.2: libstdc++.so.3.0.2

  • GCC 3.0.3: libstdc++.so.3.0.2 (See Note 1)

  • GCC 3.0.4: libstdc++.so.3.0.4

  • GCC 3.1.0: libstdc++.so.4.0.0 (Incompatible with previous)

  • GCC 3.1.1: libstdc++.so.4.0.1

  • GCC 3.2.0: libstdc++.so.5.0.0 (Incompatible with previous)

  • GCC 3.2.1: libstdc++.so.5.0.1

  • GCC 3.2.2: libstdc++.so.5.0.2

  • GCC 3.2.3: libstdc++.so.5.0.3 (See Note 2)

  • GCC 3.3.0: libstdc++.so.5.0.4

  • GCC 3.3.1: libstdc++.so.5.0.5

  • GCC 3.4.0: libstdc++.so.6.0.0 (Incompatible with previous)

  • GCC 3.4.1: libstdc++.so.6.0.1

  • GCC 3.4.2: libstdc++.so.6.0.2

  • GCC 3.4.3: libstdc++.so.6.0.3

  • GCC 4.0.0: libstdc++.so.6.0.4

  • GCC 4.0.1: libstdc++.so.6.0.5

  • GCC 4.0.2: libstdc++.so.6.0.6

  • GCC 4.0.3: libstdc++.so.6.0.7

  • GCC 4.1.0: libstdc++.so.6.0.7

  • GCC 4.1.1: libstdc++.so.6.0.8

  • GCC 4.2.0: libstdc++.so.6.0.9

  • GCC 4.2.1: libstdc++.so.6.0.9 (See Note 3)

  • GCC 4.2.2: libstdc++.so.6.0.9

  • GCC 4.3.0: libstdc++.so.6.0.10

  • GCC 4.4.0: libstdc++.so.6.0.11

  • GCC 4.4.1: libstdc++.so.6.0.12

  • GCC 4.4.2: libstdc++.so.6.0.13

  • GCC 4.5.0: libstdc++.so.6.0.14

  • GCC 4.6.0: libstdc++.so.6.0.15

  • GCC 4.6.1: libstdc++.so.6.0.16

  • GCC 4.7.0: libstdc++.so.6.0.17

  • GCC 4.8.0: libstdc++.so.6.0.18

  • GCC 4.8.3: libstdc++.so.6.0.19

  • GCC 4.9.0: libstdc++.so.6.0.20

  • GCC 5.1.0: libstdc++.so.6.0.21

++

  • GCC 3.0.0: libstdc++.so.3.0.0

  • GCC 3.0.1: libstdc++.so.3.0.1

  • GCC 3.0.2: libstdc++.so.3.0.2

  • GCC 3.0.3: libstdc++.so.3.0.2 (See Note 1)

  • GCC 3.0.4: libstdc++.so.3.0.4

  • GCC 3.1.0: libstdc++.so.4.0.0 (Incompatible with previous)

  • GCC 3.1.1: libstdc++.so.4.0.1

  • GCC 3.2.0: libstdc++.so.5.0.0 (Incompatible with previous)

  • GCC 3.2.1: libstdc++.so.5.0.1

  • GCC 3.2.2: libstdc++.so.5.0.2

  • GCC 3.2.3: libstdc++.so.5.0.3 (See Note 2)

  • GCC 3.3.0: libstdc++.so.5.0.4

  • GCC 3.3.1: libstdc++.so.5.0.5

  • GCC 3.4.0: libstdc++.so.6.0.0 (Incompatible with previous)

  • GCC 3.4.1: libstdc++.so.6.0.1

  • GCC 3.4.2: libstdc++.so.6.0.2

  • GCC 3.4.3: libstdc++.so.6.0.3

  • GCC 4.0.0: libstdc++.so.6.0.4

  • GCC 4.0.1: libstdc++.so.6.0.5

  • GCC 4.0.2: libstdc++.so.6.0.6

  • GCC 4.0.3: libstdc++.so.6.0.7

  • GCC 4.1.0: libstdc++.so.6.0.7

  • GCC 4.1.1: libstdc++.so.6.0.8

  • GCC 4.2.0: libstdc++.so.6.0.9

  • GCC 4.2.1: libstdc++.so.6.0.9 (See Note 3)

  • GCC 4.2.2: libstdc++.so.6.0.9

  • GCC 4.3.0: libstdc++.so.6.0.10

  • GCC 4.4.0: libstdc++.so.6.0.11

  • GCC 4.4.1: libstdc++.so.6.0.12

  • GCC 4.4.2: libstdc++.so.6.0.13

  • GCC 4.5.0: libstdc++.so.6.0.14

  • GCC 4.6.0: libstdc++.so.6.0.15

  • GCC 4.6.1: libstdc++.so.6.0.16

  • GCC 4.7.0: libstdc++.so.6.0.17

  • GCC 4.8.0: libstdc++.so.6.0.18

  • GCC 4.8.3: libstdc++.so.6.0.19

  • GCC 4.9.0: libstdc++.so.6.0.20

  • GCC 5.1.0: libstdc++.so.6.0.21

  • GCC 6.1.0: libstdc++.so.6.0.22

  • GCC 7.1.0: libstdc++.so.6.0.23

  • GCC 7.2.0: libstdc++.so.6.0.24

+ Note 1: Error should be libstdc++.so.3.0.3. +

+ Note 2: Not strictly required. +@@ -128,7 +128,7 @@ + GLIBCPP_3.2 for symbols that were introduced in the GCC 3.2.0 + release.) If a particular release is not listed, it has the same + version labels as the preceding release. +-

  • GCC 3.0.0: (Error, not versioned)

  • GCC 3.0.1: (Error, not versioned)

  • GCC 3.0.2: (Error, not versioned)

  • GCC 3.0.3: (Error, not versioned)

  • GCC 3.0.4: (Error, not versioned)

  • GCC 3.1.0: GLIBCPP_3.1, CXXABI_1

  • GCC 3.1.1: GLIBCPP_3.1, CXXABI_1

  • GCC 3.2.0: GLIBCPP_3.2, CXXABI_1.2

  • GCC 3.2.1: GLIBCPP_3.2.1, CXXABI_1.2

  • GCC 3.2.2: GLIBCPP_3.2.2, CXXABI_1.2

  • GCC 3.2.3: GLIBCPP_3.2.2, CXXABI_1.2

  • GCC 3.3.0: GLIBCPP_3.2.2, CXXABI_1.2.1

  • GCC 3.3.1: GLIBCPP_3.2.3, CXXABI_1.2.1

  • GCC 3.3.2: GLIBCPP_3.2.3, CXXABI_1.2.1

  • GCC 3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1

  • GCC 3.4.0: GLIBCXX_3.4, CXXABI_1.3

  • GCC 3.4.1: GLIBCXX_3.4.1, CXXABI_1.3

  • GCC 3.4.2: GLIBCXX_3.4.2

  • GCC 3.4.3: GLIBCXX_3.4.3

  • GCC 4.0.0: GLIBCXX_3.4.4, CXXABI_1.3.1

  • GCC 4.0.1: GLIBCXX_3.4.5

  • GCC 4.0.2: GLIBCXX_3.4.6

  • GCC 4.0.3: GLIBCXX_3.4.7

  • GCC 4.1.1: GLIBCXX_3.4.8

  • GCC 4.2.0: GLIBCXX_3.4.9

  • GCC 4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2

  • GCC 4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3

  • GCC 4.4.1: GLIBCXX_3.4.12, CXXABI_1.3.3

  • GCC 4.4.2: GLIBCXX_3.4.13, CXXABI_1.3.3

  • GCC 4.5.0: GLIBCXX_3.4.14, CXXABI_1.3.4

  • GCC 4.6.0: GLIBCXX_3.4.15, CXXABI_1.3.5

  • GCC 4.6.1: GLIBCXX_3.4.16, CXXABI_1.3.5

  • GCC 4.7.0: GLIBCXX_3.4.17, CXXABI_1.3.6

  • GCC 4.8.0: GLIBCXX_3.4.18, CXXABI_1.3.7

  • GCC 4.8.3: GLIBCXX_3.4.19, CXXABI_1.3.7

  • GCC 4.9.0: GLIBCXX_3.4.20, CXXABI_1.3.8

  • GCC 5.1.0: GLIBCXX_3.4.21, CXXABI_1.3.9

  • GCC 6.1.0: GLIBCXX_3.4.22, CXXABI_1.3.10

  • Incremental bumping of a compiler pre-defined macro, ++

    • GCC 3.0.0: (Error, not versioned)

    • GCC 3.0.1: (Error, not versioned)

    • GCC 3.0.2: (Error, not versioned)

    • GCC 3.0.3: (Error, not versioned)

    • GCC 3.0.4: (Error, not versioned)

    • GCC 3.1.0: GLIBCPP_3.1, CXXABI_1

    • GCC 3.1.1: GLIBCPP_3.1, CXXABI_1

    • GCC 3.2.0: GLIBCPP_3.2, CXXABI_1.2

    • GCC 3.2.1: GLIBCPP_3.2.1, CXXABI_1.2

    • GCC 3.2.2: GLIBCPP_3.2.2, CXXABI_1.2

    • GCC 3.2.3: GLIBCPP_3.2.2, CXXABI_1.2

    • GCC 3.3.0: GLIBCPP_3.2.2, CXXABI_1.2.1

    • GCC 3.3.1: GLIBCPP_3.2.3, CXXABI_1.2.1

    • GCC 3.3.2: GLIBCPP_3.2.3, CXXABI_1.2.1

    • GCC 3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1

    • GCC 3.4.0: GLIBCXX_3.4, CXXABI_1.3

    • GCC 3.4.1: GLIBCXX_3.4.1, CXXABI_1.3

    • GCC 3.4.2: GLIBCXX_3.4.2

    • GCC 3.4.3: GLIBCXX_3.4.3

    • GCC 4.0.0: GLIBCXX_3.4.4, CXXABI_1.3.1

    • GCC 4.0.1: GLIBCXX_3.4.5

    • GCC 4.0.2: GLIBCXX_3.4.6

    • GCC 4.0.3: GLIBCXX_3.4.7

    • GCC 4.1.1: GLIBCXX_3.4.8

    • GCC 4.2.0: GLIBCXX_3.4.9

    • GCC 4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2

    • GCC 4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3

    • GCC 4.4.1: GLIBCXX_3.4.12, CXXABI_1.3.3

    • GCC 4.4.2: GLIBCXX_3.4.13, CXXABI_1.3.3

    • GCC 4.5.0: GLIBCXX_3.4.14, CXXABI_1.3.4

    • GCC 4.6.0: GLIBCXX_3.4.15, CXXABI_1.3.5

    • GCC 4.6.1: GLIBCXX_3.4.16, CXXABI_1.3.5

    • GCC 4.7.0: GLIBCXX_3.4.17, CXXABI_1.3.6

    • GCC 4.8.0: GLIBCXX_3.4.18, CXXABI_1.3.7

    • GCC 4.8.3: GLIBCXX_3.4.19, CXXABI_1.3.7

    • GCC 4.9.0: GLIBCXX_3.4.20, CXXABI_1.3.8

    • GCC 5.1.0: GLIBCXX_3.4.21, CXXABI_1.3.9

    • GCC 6.1.0: GLIBCXX_3.4.22, CXXABI_1.3.10

    • GCC 7.1.0: GLIBCXX_3.4.23, CXXABI_1.3.11

    • GCC 7.2.0: GLIBCXX_3.4.24, CXXABI_1.3.11

  • Incremental bumping of a compiler pre-defined macro, + __GXX_ABI_VERSION. This macro is defined as the version of the + compiler v3 ABI, with g++ 3.0 being version 100. This macro will + be automatically defined whenever g++ is used (the curious can +Index: libstdc++-v3/doc/html/manual/memory.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/memory.html (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/memory.html (.../branches/gcc-7-branch) +@@ -119,8 +119,8 @@ + Over multiple iterations, various STL container + objects have elements inserted to some maximum amount. A variety + of allocators are tested. +- Test source for sequence +- and associative ++ Test source for sequence ++ and associative + containers. +

  • + Insertion and erasure in a multi-threaded environment. +@@ -129,14 +129,14 @@ + on a per-thread basis, as well as measuring thread contention + for memory resources. + Test source +- here. ++ here. +

  • + A threaded producer/consumer model. +

    + Test source for +- sequence ++ sequence + and +- associative ++ associative + containers. +

  • + The current default choice for +Index: libstdc++-v3/doc/html/manual/source_organization.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/source_organization.html (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/source_organization.html (.../branches/gcc-7-branch) +@@ -70,7 +70,9 @@ + library. Support for "make check" and "make check-install" is + complete, and runs through all the subdirectories here when this + command is issued from the build directory. Please note that +- "make check" requires DejaGNU 1.4 or later to be installed. ++ "make check" requires DejaGnu 1.4 or later to be installed, ++ or for extra permutations ++ DejaGnu 1.5.3 or later. +

    + Other subdirectories contain variant versions of certain files + that are meant to be copied or linked by the configure script. +Index: libstdc++-v3/doc/html/manual/appendix_porting.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/appendix_porting.html (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/appendix_porting.html (.../branches/gcc-7-branch) +@@ -329,6 +329,12 @@ + file to add the new versions to the known_versions list, + and update the checks for the latest versions that set the + latestp variable). ++

  • ++Add the library (libstdc++.so.6.0.X) ++and symbols versions ++(GLIBCXX_3.4.X and CXXABI_1.3.Y) ++to the History section in ++doc/xml/manual/abi.xml at the relevant places. +

  • + Once the new symbol version has been added you can add the names of your new + symbols in the new version node: +Index: libstdc++-v3/doc/html/manual/test.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/test.html (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/test.html (.../branches/gcc-7-branch) +@@ -327,13 +327,13 @@ + For example, to run the tests with + -O1 -D_GLIBCXX_ASSERTIONS + you could use: +-

        make RUNTESTFLAGS=--target_board=unix/-O1/-D_GLIBCXX_ASSERTIONS

    ++

        make check RUNTESTFLAGS=--target_board=unix/-O1/-D_GLIBCXX_ASSERTIONS

    +

    + The --target_board option can also be used to run the + tests multiple times in different variations. For example, to run the + entire testsuite three times using -O3 but with + different -std options: +-

        make 'RUNTESTFLAGS=--target_board=unix/-O3\"{-std=gnu++98,-std=gnu++11,-std=gnu++14}\"'

    ++

        make check 'RUNTESTFLAGS=--target_board=unix/-O3\"{-std=gnu++98,-std=gnu++11,-std=gnu++14}\"'

    + N.B. that set of variations could also be written as + unix/-O3\"{-std=gnu++98,-std=gnu++11,}\" so that + the third variation would use the default for -std +Index: libstdc++-v3/doc/html/manual/mt_allocator_impl.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/mt_allocator_impl.html (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/mt_allocator_impl.html (.../branches/gcc-7-branch) +@@ -155,6 +155,6 @@ + as part of a container's constructor. However, this assumption is + implementation-specific, and subject to change. For an example of a + pool that frees memory, see the following +- ++ + example. +

    +\ No newline at end of file +Index: libstdc++-v3/doc/html/manual/source_code_style.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/source_code_style.html (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/source_code_style.html (.../branches/gcc-7-branch) +@@ -478,7 +478,7 @@ +       Examples: _S_max_elements  _S_default_value
    +
    +       Don't use names in the same scope that differ only in the prefix,
    +-      e.g. _S_top and _M_top. See BADNAMES for a list of forbidden names.
    ++      e.g. _S_top and _M_top. See BADNAMES for a list of forbidden names.
    +       (The most tempting of these seem to be and "_T" and "__sz".)
    +
    +       Names must never have "__" internally; it would confuse name
    +Index: libstdc++-v3/include/std/utility +=================================================================== +--- a/src/libstdc++-v3/include/std/utility (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/include/std/utility (.../branches/gcc-7-branch) +@@ -89,6 +89,8 @@ + + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 2770. tuple_size specialization is not SFINAE compatible ++ ++#if __cplusplus <= 201402L + template + struct __tuple_size_cv_impl { }; + +@@ -106,7 +108,26 @@ + + template + struct tuple_size : __tuple_size_cv_impl<_Tp> { }; ++#else ++ template::type, ++ typename = typename enable_if::value>::type, ++ size_t = tuple_size<_Tp>::value> ++ using __enable_if_has_tuple_size = _Tp; + ++ template ++ struct tuple_size> ++ : public tuple_size<_Tp> { }; ++ ++ template ++ struct tuple_size> ++ : public tuple_size<_Tp> { }; ++ ++ template ++ struct tuple_size> ++ : public tuple_size<_Tp> { }; ++#endif ++ + /// Gives the type of the ith element of a given tuple type. + template + struct tuple_element; +Index: libstdc++-v3/include/std/functional +=================================================================== +--- a/src/libstdc++-v3/include/std/functional (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/include/std/functional (.../branches/gcc-7-branch) +@@ -135,6 +135,12 @@ + _GLIBCXX_MEM_FN_TRAITS(&, true_type, false_type) + _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type) + ++#if __cplusplus > 201402L ++_GLIBCXX_MEM_FN_TRAITS(noexcept, true_type, true_type) ++_GLIBCXX_MEM_FN_TRAITS(& noexcept, true_type, false_type) ++_GLIBCXX_MEM_FN_TRAITS(&& noexcept, false_type, true_type) ++#endif ++ + #undef _GLIBCXX_MEM_FN_TRAITS + #undef _GLIBCXX_MEM_FN_TRAITS2 + +Index: libstdc++-v3/include/bits/regex_compiler.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/regex_compiler.h (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/include/bits/regex_compiler.h (.../branches/gcc-7-branch) +@@ -209,9 +209,10 @@ + const typename _TraitsT::locale_type& __loc, + regex_constants::syntax_option_type __flags) + { +- basic_string __str(__first, __last); +- return __compile_nfa(__str.data(), __str.data() + __str.size(), __loc, +- __flags); ++ using char_type = typename _TraitsT::char_type; ++ const basic_string __str(__first, __last); ++ return __compile_nfa(__str.data(), ++ __str.data() + __str.size(), __loc, __flags); + } + + // [28.13.14] +Index: libstdc++-v3/include/bits/locale_conv.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/locale_conv.h (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/include/bits/locale_conv.h (.../branches/gcc-7-branch) +@@ -375,7 +375,7 @@ + protected: + int + sync() +- { return _M_buf && _M_conv_put() && _M_buf->pubsync() ? 0 : -1; } ++ { return _M_buf && _M_conv_put() && !_M_buf->pubsync() ? 0 : -1; } + + typename _Wide_streambuf::int_type + overflow(typename _Wide_streambuf::int_type __out) +@@ -482,6 +482,7 @@ + { + if (_M_buf->sputn(__p, __n) < __n) + return false; ++ return true; + } + + // convert the put area and write to the byte stream buffer +Index: libstdc++-v3/include/bits/node_handle.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/node_handle.h (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/include/bits/node_handle.h (.../branches/gcc-7-branch) +@@ -280,8 +280,8 @@ + template + struct _Node_insert_return + { ++ _Iterator position = _Iterator(); + bool inserted = false; +- _Iterator position = _Iterator(); + _NodeHandle node; + + template +@@ -305,22 +305,6 @@ + } + }; + +- template +- struct tuple_size<_Node_insert_return<_Iterator, _NodeHandle>> +- : integral_constant { }; +- +- template +- struct tuple_element<0, _Node_insert_return<_Iterator, _NodeHandle>> +- { using type = bool; }; +- +- template +- struct tuple_element<1, _Node_insert_return<_Iterator, _NodeHandle>> +- { using type = _Iterator; }; +- +- template +- struct tuple_element<2, _Node_insert_return<_Iterator, _NodeHandle>> +- { using type = _NodeHandle; }; +- + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace std + +Index: libstdc++-v3/include/bits/stl_algo.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/stl_algo.h (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/include/bits/stl_algo.h (.../branches/gcc-7-branch) +@@ -4258,6 +4258,20 @@ + __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val)); + } + ++#if __cplusplus > 201402L ++ /** @brief Search a sequence using a Searcher object. ++ * ++ * @param __first A forward iterator. ++ * @param __last A forward iterator. ++ * @param __searcher A callable object. ++ * @return @p __searcher(__first,__last).first ++ */ ++ template ++ inline _ForwardIterator ++ search(_ForwardIterator __first, _ForwardIterator __last, ++ const _Searcher& __searcher) ++ { return __searcher(__first, __last).first; } ++#endif + + /** + * @brief Perform an operation on a sequence. +Index: libstdc++-v3/include/bits/stl_tree.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/stl_tree.h (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/include/bits/stl_tree.h (.../branches/gcc-7-branch) +@@ -808,7 +808,9 @@ + + #if __cplusplus > 201402L + using node_type = _Node_handle<_Key, _Val, _Node_allocator>; +- using insert_return_type = _Node_insert_return; ++ using insert_return_type = _Node_insert_return< ++ conditional_t, const_iterator, iterator>, ++ node_type>; + #endif + + pair<_Base_ptr, _Base_ptr> +Index: libstdc++-v3/ChangeLog +=================================================================== +--- a/src/libstdc++-v3/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,99 @@ ++2017-06-16 Jakub Jelinek ++ ++ PR libstdc++/81092 ++ * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. ++ ++2017-06-16 Jonathan Wakely ++ ++ * include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition. ++ * testsuite/22_locale/conversions/buffer/2.cc: New. ++ ++ * doc/xml/manual/appendix_contributing.xml: Link to the list of bad ++ names, and link to the test docs and note higher DejaGnu version ++ requirement. ++ * doc/xml/manual/allocator.xml: Fix ViewCVS URLs. ++ * doc/xml/manual/mt_allocator.xml: Likewise. ++ * doc/xml/manual/test.xml: Correct instructions on running tests. ++ * doc/html/*: Regenerate. ++ ++ PR libstdc++/81092 ++ * acinclude.m4: Bump libtool_VERSION. ++ * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. ++ * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. ++ * config/abi/pre/gnu.ver: Add wstring constructor symbols to new ++ GLIBCXX_3.4.24 version. ++ * doc/xml/manual/abi.xml: Document new versions. ++ * doc/html/*: Regenerate. ++ * testsuite/21_strings/basic_string/cons/char/8.cc: Use base object ++ constructors to ensure required symbols are exported. ++ * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. ++ * testsuite/util/testsuite_abi.cc: Add new version. ++ ++ * include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing ++ return statement. ++ * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: ++ Return void. ++ * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: ++ Likewise. ++ * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add ++ missing return statements. ++ * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: ++ Likewise. ++ * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: ++ Return void. ++ * testsuite/special_functions/14_expint/pr68397.cc: Likewise. ++ ++2017-06-07 Jonathan Wakely ++ ++ PR libstdc++/81002 ++ * include/bits/regex_compiler.h (__compile_nfa): Add template argument ++ list to specify traits type. ++ * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New. ++ ++2017-05-19 Jonathan Wakely ++ ++ PR libstdc++/80796 ++ * include/bits/stl_algo.h (search): Add new overload for C++17. ++ * testsuite/25_algorithms/search/searcher.cc: New. ++ ++2017-05-18 Jonathan Wakely ++ ++ PR libstdc++/80478 ++ * include/std/functional (_Mem_fn_traits_base): Add specializations ++ for noexcept member function types. ++ * testsuite/20_util/function_objects/mem_fn/80478.cc: New test. ++ ++2017-05-18 Jonathan Wakely ++ ++ * doc/xml/manual/policy_data_structures.xml: Fix typo. ++ * doc/xml/manual/test_policy_data_structures.xml: Likewise. ++ * doc/html/*: Regenerate. ++ ++ * doc/xml/manual/abi.xml: Document latest library versions. ++ * doc/xml/manual/build_hacking.xml: Document requirement to update ++ abi.xml when bumping library versions. ++ * doc/html/*: Regenerate. ++ ++2017-05-15 Jonathan Wakely ++ ++ PR libstdc++/80761 ++ * include/bits/node_handle.h (_Node_insert_return): Reorder members. ++ (tuple_size, tuple_element): Remove partial specializations. ++ * include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use ++ const_iterator for std::set. ++ * testsuite/23_containers/map/modifiers/extract.cc: New. ++ * testsuite/23_containers/set/modifiers/extract.cc: New. ++ * testsuite/23_containers/unordered_map/modifiers/extract.cc: New. ++ * testsuite/23_containers/unordered_set/modifiers/extract.cc: New. ++ ++2017-05-12 Jonathan Wakely ++ ++ PR libstdc++/78939 ++ * include/std/utility (tuple_size) [__cplusplus > 201402L]: ++ Only define partial specializations when tuple_size::value is ++ valid. ++ * testsuite/20_util/tuple/78939.cc: New. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +Index: libstdc++-v3/testsuite/25_algorithms/search/searcher.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/25_algorithms/search/searcher.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/25_algorithms/search/searcher.cc (.../branches/gcc-7-branch) +@@ -0,0 +1,47 @@ ++// Copyright (C) 2017 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// . ++ ++// { dg-options "-std=gnu++17" } ++// { dg-do run { target c++1z } } ++ ++#include ++#include ++ ++struct nocopy ++{ ++ nocopy() = default; ++ nocopy(const nocopy&) = delete; ++ nocopy& operator=(const nocopy&) = delete; ++ ++ struct P { int* first; }; ++ ++ P operator()(int* f, int* l) const { return {f}; } ++}; ++ ++void ++test01() ++{ ++ int i[] = { 1, 2 }; ++ auto res = std::search(i, i + 2, nocopy{}); ++ VERIFY( res == i ); ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/iter.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/iter.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/iter.cc (.../branches/gcc-7-branch) +@@ -0,0 +1,30 @@ ++// Copyright (C) 2017 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// . ++ ++// { dg-do compile { target c++11 } } ++ ++#include ++#include ++ ++void ++test01() ++{ ++ char s[] = ""; ++ __gnu_test::test_container c(s); ++ std::regex r1(c.begin(), c.end()); ++ std::regex r2(c.begin(), c.end(), std::regex_constants::grep); ++} +Index: libstdc++-v3/testsuite/22_locale/conversions/buffer/2.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/22_locale/conversions/buffer/2.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/22_locale/conversions/buffer/2.cc (.../branches/gcc-7-branch) +@@ -0,0 +1,39 @@ ++// Copyright (C) 2017 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// . ++ ++// { dg-do run { target c++11 } } ++ ++#include ++#include ++#include ++ ++void ++test01() ++{ ++ struct Cvt : std::codecvt { }; ++ std::stringstream ss; ++ std::wbuffer_convert cvt(ss.rdbuf()); ++ auto p = ss.std::ios::rdbuf(&cvt); ++ ss << "hello"; ++ VERIFY( ss.flush().good() ); ++ ss.std::ios::rdbuf(p); ++} ++ ++int main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc (.../branches/gcc-7-branch) +@@ -38,10 +38,12 @@ + { + val = other.val; + other.moved_from_assign = true; ++ return *this; + } + Val& operator=(const Val& other) + { + val = other.val; ++ return *this; + } + }; + +Index: libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/extract.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/extract.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/extract.cc (.../branches/gcc-7-branch) +@@ -136,6 +136,17 @@ + static_assert( is_same_v ); + } + ++void ++test04() ++{ ++ // Check order of members in insert_return_type ++ auto [pos, ins, node] = test_type::insert_return_type{}; ++ using std::is_same_v; ++ static_assert( is_same_v ); ++ static_assert( is_same_v ); ++ static_assert( is_same_v ); ++} ++ + int + main() + { +Index: libstdc++-v3/testsuite/23_containers/set/modifiers/extract.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/set/modifiers/extract.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/set/modifiers/extract.cc (.../branches/gcc-7-branch) +@@ -126,6 +126,17 @@ + static_assert( is_same_v ); + } + ++void ++test04() ++{ ++ // Check order of members in insert_return_type ++ auto [pos, ins, node] = test_type::insert_return_type{}; ++ using std::is_same_v; ++ static_assert( is_same_v ); ++ static_assert( is_same_v ); ++ static_assert( is_same_v ); ++} ++ + int + main() + { +Index: libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/extract.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/extract.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/extract.cc (.../branches/gcc-7-branch) +@@ -128,6 +128,17 @@ + static_assert( is_same_v ); + } + ++void ++test04() ++{ ++ // Check order of members in insert_return_type ++ auto [pos, ins, node] = test_type::insert_return_type{}; ++ using std::is_same_v; ++ static_assert( is_same_v ); ++ static_assert( is_same_v ); ++ static_assert( is_same_v ); ++} ++ + int + main() + { +Index: libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc (.../branches/gcc-7-branch) +@@ -39,10 +39,12 @@ + { + val = other.val; + other.moved_from_assign = true; ++ return *this; + } + Val& operator=(const Val& other) + { + val = other.val; ++ return *this; + } + }; + +Index: libstdc++-v3/testsuite/23_containers/map/modifiers/extract.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/map/modifiers/extract.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/map/modifiers/extract.cc (.../branches/gcc-7-branch) +@@ -135,6 +135,17 @@ + static_assert( is_same_v ); + } + ++void ++test04() ++{ ++ // Check order of members in insert_return_type ++ auto [pos, ins, node] = test_type::insert_return_type{}; ++ using std::is_same_v; ++ static_assert( is_same_v ); ++ static_assert( is_same_v ); ++ static_assert( is_same_v ); ++} ++ + int + main() + { +Index: libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc (.../branches/gcc-7-branch) +@@ -50,7 +50,7 @@ + VERIFY(is.fail()); + } + +-bool test12() ++void test12() + { + test12_aux(true); + test12_aux(true); +Index: libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc (.../branches/gcc-7-branch) +@@ -22,7 +22,7 @@ + #include + #include + +-bool ++void + test01() + { + typedef std::wstring_view::size_type csize_type; +Index: libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/1.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/1.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/1.cc (.../branches/gcc-7-branch) +@@ -22,7 +22,7 @@ + #include + #include + +-bool ++void + test01() + { + typedef std::string_view::size_type csize_type; +Index: libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/8.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/8.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/8.cc (.../branches/gcc-7-branch) +@@ -15,16 +15,31 @@ + // with this library; see the file COPYING3. If not see + // . + ++// { dg-options "-O0" } + // { dg-do run { target c++11 } } + + #include + #include + ++struct TestBaseObjCtor : std::wstring ++{ ++ template ++ TestBaseObjCtor(Args&&... args) ++ : std::wstring(std::forward(args)...) ++ { } ++}; ++ + template + std::size_t + construct(Args&&... args) + { +- return std::wstring( std::forward(args)... ).length(); ++ // Use static_cast to produce either an lvalue or prvalue, ++ // so args... not left in moved-from state and can be reused below: ++ TestBaseObjCtor as_base_obj( static_cast(args)... ); ++ ++ std::wstring as_complete_obj( std::forward(args)... ); ++ ++ return as_complete_obj.length(); + } + + void +Index: libstdc++-v3/testsuite/21_strings/basic_string/cons/char/8.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/8.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/8.cc (.../branches/gcc-7-branch) +@@ -15,16 +15,31 @@ + // with this library; see the file COPYING3. If not see + // . + ++// { dg-options "-O0" } + // { dg-do run { target c++11 } } + + #include + #include + ++struct TestBaseObjCtor : std::string ++{ ++ template ++ TestBaseObjCtor(Args&&... args) ++ : std::string(std::forward(args)...) ++ { } ++}; ++ + template + std::size_t + construct(Args&&... args) + { +- return std::string( std::forward(args)... ).length(); ++ // Use static_cast to produce either an lvalue or prvalue, ++ // so args... not left in moved-from state and can be reused below: ++ TestBaseObjCtor as_base_obj( static_cast(args)... ); ++ ++ std::string as_complete_obj( std::forward(args)... ); ++ ++ return as_complete_obj.length(); + } + + void +Index: libstdc++-v3/testsuite/util/testsuite_abi.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/util/testsuite_abi.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/util/testsuite_abi.cc (.../branches/gcc-7-branch) +@@ -204,6 +204,7 @@ + known_versions.push_back("GLIBCXX_LDBL_3.4.21"); + known_versions.push_back("GLIBCXX_3.4.22"); + known_versions.push_back("GLIBCXX_3.4.23"); ++ known_versions.push_back("GLIBCXX_3.4.24"); + known_versions.push_back("CXXABI_1.3"); + known_versions.push_back("CXXABI_LDBL_1.3"); + known_versions.push_back("CXXABI_1.3.1"); +@@ -234,7 +235,7 @@ + test.version_status = symbol::incompatible; + + // Check that added symbols are added in the latest pre-release version. +- bool latestp = (test.version_name == "GLIBCXX_3.4.23" ++ bool latestp = (test.version_name == "GLIBCXX_3.4.24" + || test.version_name == "CXXABI_1.3.11" + || test.version_name == "CXXABI_FLOAT128" + || test.version_name == "CXXABI_TM_1"); +Index: libstdc++-v3/testsuite/20_util/function_objects/mem_fn/80478.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/80478.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/80478.cc (.../branches/gcc-7-branch) +@@ -0,0 +1,27 @@ ++// Copyright (C) 2017 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// . ++ ++// { dg-options "-std=gnu++17" } ++// { dg-do compile { target c++1z } } ++ ++#include ++ ++struct X { ++ void f() noexcept { } ++}; ++ ++auto f = std::mem_fn(&X::f); +Index: libstdc++-v3/testsuite/20_util/tuple/78939.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/tuple/78939.cc (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/tuple/78939.cc (.../branches/gcc-7-branch) +@@ -0,0 +1,49 @@ ++// Copyright (C) 2017 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// . ++ ++// { dg-options "-std=gnu++17" } ++// { dg-do compile { target c++1z } } ++ ++// PR libstdc++/78939 ++ ++#include ++ ++struct A { int i, j; }; ++ ++int ++test01() ++{ ++ A a{}; ++ const auto [i, j] = a; ++ return i + j; ++} ++ ++int ++test02() ++{ ++ A a{}; ++ volatile auto [i, j] = a; ++ return i + j; ++} ++ ++int ++test03() ++{ ++ A a{}; ++ const volatile auto [i, j] = a; ++ return i + j; ++} +Index: libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt +=================================================================== +--- a/src/libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt (.../branches/gcc-7-branch) +@@ -1329,6 +1329,7 @@ + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jRKS1_@@GLIBCXX_3.4.24 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11 +@@ -1342,6 +1343,7 @@ + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jRKS1_@@GLIBCXX_3.4.24 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11 +@@ -4002,6 +4004,7 @@ + OBJECT:0:GLIBCXX_3.4.21 + OBJECT:0:GLIBCXX_3.4.22 + OBJECT:0:GLIBCXX_3.4.23 ++OBJECT:0:GLIBCXX_3.4.24 + OBJECT:0:GLIBCXX_3.4.3 + OBJECT:0:GLIBCXX_3.4.4 + OBJECT:0:GLIBCXX_3.4.5 +Index: libstdc++-v3/config/abi/post/i386-linux-gnu/baseline_symbols.txt +=================================================================== +--- a/src/libstdc++-v3/config/abi/post/i386-linux-gnu/baseline_symbols.txt (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/config/abi/post/i386-linux-gnu/baseline_symbols.txt (.../branches/gcc-7-branch) +@@ -1329,6 +1329,7 @@ + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jRKS1_@@GLIBCXX_3.4.24 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11 +@@ -1342,6 +1343,7 @@ + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jRKS1_@@GLIBCXX_3.4.24 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11 +@@ -4002,6 +4004,7 @@ + OBJECT:0:GLIBCXX_3.4.21 + OBJECT:0:GLIBCXX_3.4.22 + OBJECT:0:GLIBCXX_3.4.23 ++OBJECT:0:GLIBCXX_3.4.24 + OBJECT:0:GLIBCXX_3.4.3 + OBJECT:0:GLIBCXX_3.4.4 + OBJECT:0:GLIBCXX_3.4.5 +Index: libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt +=================================================================== +--- a/src/libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt (.../branches/gcc-7-branch) +@@ -1329,6 +1329,7 @@ + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jRKS1_@@GLIBCXX_3.4.24 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11 +@@ -1342,6 +1343,7 @@ + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jRKS1_@@GLIBCXX_3.4.24 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11 +@@ -4002,6 +4004,7 @@ + OBJECT:0:GLIBCXX_3.4.21 + OBJECT:0:GLIBCXX_3.4.22 + OBJECT:0:GLIBCXX_3.4.23 ++OBJECT:0:GLIBCXX_3.4.24 + OBJECT:0:GLIBCXX_3.4.3 + OBJECT:0:GLIBCXX_3.4.4 + OBJECT:0:GLIBCXX_3.4.5 +Index: libstdc++-v3/config/abi/pre/gnu.ver +=================================================================== +--- a/src/libstdc++-v3/config/abi/pre/gnu.ver (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/config/abi/pre/gnu.ver (.../branches/gcc-7-branch) +@@ -1953,6 +1953,7 @@ + # basic_string::basic_string(const basic_string&, size_type, const A&) + _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]ERKS4_[jmy]RKS3_; + _ZNSsC[12]ERKSs[jmy]RKSaIcE; ++ # This should have been _[jmy]RKS1_ not _mRKS1_ (PR libstdc++/81092): + _ZNSbIwSt11char_traitsIwESaIwEEC[12]ERKS2_mRKS1_; + + #ifndef HAVE_EXCEPTION_PTR_SINCE_GCC46 +@@ -1967,6 +1968,13 @@ + + } GLIBCXX_3.4.22; + ++GLIBCXX_3.4.24 { ++ ++ # These should have been in GLIBCXX_3.4.23 (PR libstdc++/81092): ++ _ZNSbIwSt11char_traitsIwESaIwEEC[12]ERKS2_[jy]RKS1_; ++ ++} GLIBCXX_3.4.23; ++ + # Symbols in the support library (libsupc++) have their own tag. + CXXABI_1.3 { + +Index: libstdc++-v3/acinclude.m4 +=================================================================== +--- a/src/libstdc++-v3/acinclude.m4 (.../tags/gcc_7_1_0_release) ++++ b/src/libstdc++-v3/acinclude.m4 (.../branches/gcc-7-branch) +@@ -3750,7 +3750,7 @@ + fi + + # For libtool versioning info, format is CURRENT:REVISION:AGE +-libtool_VERSION=6:23:0 ++libtool_VERSION=6:24:0 + + # Everything parsed; figure out what files and settings to use. + case $enable_symvers in +Index: maintainer-scripts/ChangeLog +=================================================================== +--- a/src/maintainer-scripts/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/maintainer-scripts/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,18 @@ ++2017-05-23 Matthias Klose ++ ++ * gcc_release (XZ): Default to xz --best. ++ ++2017-05-18 Matthias Klose ++ ++ * gcc_release (build_gzip): Build xz tarball instead of bz2 tarball. ++ (build_diffs): Handle building diffs from either bz2 or xz tarballs, ++ compress diffs using xz instead of bz2. ++ (build_diff): Likewise. ++ (upload_files): Check for *.xz files instead of *.bz2 files. ++ (announce_snapshot): Announce xz tarball instead of bz2 tarball. ++ (XZ): New definition. ++ (): Look for both bz2 and xz compressed old tarballs. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +@@ -19,7 +34,7 @@ + + 2016-09-04 Gerald Pfeifer + +- PR documentation/50642 ++ PR documentation/50642 + * update_web_docs_svn (CSS): Introduce. + Have generated files refer to it. + +Index: maintainer-scripts/gcc_release +=================================================================== +--- a/src/maintainer-scripts/gcc_release (.../tags/gcc_7_1_0_release) ++++ b/src/maintainer-scripts/gcc_release (.../branches/gcc-7-branch) +@@ -221,7 +221,7 @@ + # Create a "MD5SUMS" file to use for checking the validity of the release. + echo \ + "# This file contains the MD5 checksums of the files in the +-# gcc-"${RELEASE}".tar.bz2 tarball. ++# gcc-"${RELEASE}".tar.xz tarball. + # + # Besides verifying that all files in the tarball were correctly expanded, + # it also can be used to determine if any files have changed since the +@@ -244,11 +244,11 @@ + + build_tarfile() { + # Get the name of the destination tar file. +- TARFILE="$1.tar.bz2" ++ TARFILE="$1.tar.xz" + shift + + # Build the tar file itself. +- (${TAR} cf - "$@" | ${BZIP2} > ${TARFILE}) || \ ++ (${TAR} cf - "$@" | ${XZ} > ${TARFILE}) || \ + error "Could not build tarfile" + FILE_LIST="${FILE_LIST} ${TARFILE}" + } +@@ -273,8 +273,8 @@ + # Build .gz files. + build_gzip() { + for f in ${FILE_LIST}; do +- target=${f%.bz2}.gz +- (${BZIP2} -d -c $f | ${GZIP} > ${target}) || error "Could not create ${target}" ++ target=${f%.xz}.gz ++ (${XZ} -d -c $f | ${GZIP} > ${target}) || error "Could not create ${target}" + done + } + +@@ -282,12 +282,19 @@ + build_diffs() { + old_dir=${1%/*} + old_file=${1##*/} +- old_vers=${old_file%.tar.bz2} ++ case "$old_file" in ++ *.tar.xz) old_vers=${old_file%.tar.xz};; ++ *) old_vers=${old_file%.tar.bz2};; ++ esac + old_vers=${old_vers#gcc-} + inform "Building diffs against version $old_vers" + for f in gcc; do +- old_tar=${old_dir}/${f}-${old_vers}.tar.bz2 +- new_tar=${WORKING_DIRECTORY}/${f}-${RELEASE}.tar.bz2 ++ if [ -e ${old_dir}/${f}-${old_vers}.tar.xz ]; then ++ old_tar=${old_dir}/${f}-${old_vers}.tar.xz ++ else ++ old_tar=${old_dir}/${f}-${old_vers}.tar.bz2 ++ fi ++ new_tar=${WORKING_DIRECTORY}/${f}-${RELEASE}.tar.xz + if [ ! -e $old_tar ]; then + inform "$old_tar not found; not generating diff file" + elif [ ! -e $new_tar ]; then +@@ -294,7 +301,7 @@ + inform "$new_tar not found; not generating diff file" + else + build_diff $old_tar gcc-${old_vers} $new_tar gcc-${RELEASE} \ +- ${f}-${old_vers}-${RELEASE}.diff.bz2 ++ ${f}-${old_vers}-${RELEASE}.diff.xz + fi + done + } +@@ -305,13 +312,20 @@ + tmpdir=gccdiff.$$ + mkdir $tmpdir || error "Could not create directory $tmpdir" + changedir $tmpdir +- (${BZIP2} -d -c $1 | ${TAR} xf - ) || error "Could not unpack $1 for diffs" +- (${BZIP2} -d -c $3 | ${TAR} xf - ) || error "Could not unpack $3 for diffs" +- ${DIFF} $2 $4 > ../${5%.bz2} ++ case "$1" in ++ *.tar.bz2) ++ (${BZIP2} -d -c $1 | ${TAR} xf - ) || error "Could not unpack $1 for diffs" ++ ;; ++ *.tar.xz) ++ (${XZ} -d -c $1 | ${TAR} xf - ) || error "Could not unpack $1 for diffs" ++ ;; ++ esac ++ (${XZ} -d -c $3 | ${TAR} xf - ) || error "Could not unpack $3 for diffs" ++ ${DIFF} $2 $4 > ../${5%.xz} + if [ $? -eq 2 ]; then + error "Trouble making diffs from $1 to $3" + fi +- ${BZIP2} ../${5%.bz2} || error "Could not generate ../$5" ++ ${XZ} ../${5%.xz} || error "Could not generate ../$5" + changedir .. + rm -rf $tmpdir + FILE_LIST="${FILE_LIST} $5" +@@ -335,7 +349,7 @@ + fi + + # Then copy files to their respective (sub)directories. +- for x in gcc*.gz gcc*.bz2; do ++ for x in gcc*.gz gcc*.xz; do + if [ -e ${x} ]; then + # Make sure the file will be readable on the server. + chmod a+r ${x} +@@ -410,7 +424,7 @@ + + " > ${SNAPSHOT_INDEX} + +- snapshot_print gcc-${RELEASE}.tar.bz2 "Complete GCC" ++ snapshot_print gcc-${RELEASE}.tar.xz "Complete GCC" + + echo \ + "Diffs from "${BRANCH}"-"${LAST_DATE}" are available in the diffs/ subdirectory. +@@ -528,12 +542,13 @@ + MODE_TARFILES=0 + MODE_UPLOAD=0 + +-# List of archive files generated; used to create .gz files from .bz2. ++# List of archive files generated; used to create .gz files from .xz. + FILE_LIST="" + + # Programs we use. + + BZIP2="${BZIP2:-bzip2}" ++XZ="${XZ:-xz --best}" + CVS="${CVS:-cvs -f -Q -z9}" + DIFF="${DIFF:-diff -Nrcpad}" + ENV="${ENV:-env}" +@@ -644,6 +659,9 @@ + if [ $MODE_DIFFS -ne 0 ] && [ $LOCAL -ne 0 ] && [ -z "${OLD_TARS}" ]; then + LAST_DATE=`cat ~/.snapshot_date-${BRANCH}` + OLD_TARS=${SNAPSHOTS_DIR}/${BRANCH}-${LAST_DATE}/gcc-${BRANCH}-${LAST_DATE}.tar.bz2 ++ if [ ! -e $OLD_TARS ]; then ++ OLD_TARS=${SNAPSHOTS_DIR}/${BRANCH}-${LAST_DATE}/gcc-${BRANCH}-${LAST_DATE}.tar.xz ++ fi + fi + fi + +Index: libgcc/config.host +=================================================================== +--- a/src/libgcc/config.host (.../tags/gcc_7_1_0_release) ++++ b/src/libgcc/config.host (.../branches/gcc-7-branch) +@@ -389,7 +389,7 @@ + ;; + arm*-*-freebsd*) # ARM FreeBSD EABI + tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix arm/t-elf" +- tmake_file="${tmake_file} arm/t-bpabi arm/t-freebsd t-slibgcc-libgcc" ++ tmake_file="${tmake_file} arm/t-bpabi arm/t-freebsd" + tm_file="${tm_file} arm/bpabi-lib.h" + unwind_header=config/arm/unwind-arm.h + tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" +Index: libgcc/ChangeLog +=================================================================== +--- a/src/libgcc/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/libgcc/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,30 @@ ++2017-05-26 Richard Henderson ++ ++ PR libgcc/80037 ++ * config/alpha/t-alpha (CRTSTUFF_T_CFLAGS): New. ++ ++2017-05-19 Andreas Tobler ++ ++ Backport from mainline ++ 2017-05-17 Andreas Tobler ++ ++ * config/arm/unwind-arm.h: Make _Unwind_GetIP, _Unwind_GetIPInfo and ++ _Unwind_SetIP available as functions for arm*-*-freebsd*. ++ * config/arm/unwind-arm.c: Implement the above. ++ ++2017-05-15 Adhemerval Zanella ++ ++ * config/sparc/lb1spc.S [__ELF__ && __linux__]: Emit .note.GNU-stack ++ section for a non-executable stack. ++ ++2017-05-10 Andreas Tobler ++ ++ Backport from mainline ++ 2017-05-09 Andreas Tobler ++ ++ * config.host: Use the generic FreeBSD t-slibgcc-elf-ver for ++ arm*-*-freebsd* instead of the t-slibgcc-libgcc. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +Index: libgcc/config/alpha/t-alpha +=================================================================== +--- a/src/libgcc/config/alpha/t-alpha (.../tags/gcc_7_1_0_release) ++++ b/src/libgcc/config/alpha/t-alpha (.../branches/gcc-7-branch) +@@ -1,2 +1,6 @@ + # This is a support routine for longlong.h, used by libgcc2.c. + LIB2ADD += $(srcdir)/config/alpha/qrnnd.S ++ ++# When GAS-generated unwind tables are created, they get created ++# after the __FRAME_END__ terminator, which causes an ld error. ++CRTSTUFF_T_CFLAGS = -fno-unwind-tables +Index: libgcc/config/sparc/lb1spc.S +=================================================================== +--- a/src/libgcc/config/sparc/lb1spc.S (.../tags/gcc_7_1_0_release) ++++ b/src/libgcc/config/sparc/lb1spc.S (.../branches/gcc-7-branch) +@@ -5,6 +5,12 @@ + slightly edited to match the desired calling convention, and also to + optimize them for our purposes. */ + ++/* An executable stack is *not* required for these functions. */ ++#if defined(__ELF__) && defined(__linux__) ++.section .note.GNU-stack,"",%progbits ++.previous ++#endif ++ + #ifdef L_mulsi3 + .text + .align 4 +Index: libgcc/config/arm/unwind-arm.c +=================================================================== +--- a/src/libgcc/config/arm/unwind-arm.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgcc/config/arm/unwind-arm.c (.../branches/gcc-7-branch) +@@ -509,3 +509,25 @@ + { + return __gnu_unwind_pr_common (state, ucbp, context, 2); + } ++ ++#ifdef __FreeBSD__ ++/* FreeBSD expects these to be functions */ ++inline _Unwind_Ptr ++_Unwind_GetIP (struct _Unwind_Context *context) ++{ ++ return _Unwind_GetGR (context, 15) & ~(_Unwind_Word)1; ++} ++ ++inline _Unwind_Ptr ++_Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn) ++{ ++ *ip_before_insn = 0; ++ return _Unwind_GetIP (context); ++} ++ ++inline void ++_Unwind_SetIP (struct _Unwind_Context *context, _Unwind_Ptr val) ++{ ++ _Unwind_SetGR (context, 15, val | (_Unwind_GetGR (context, 15) & 1)); ++} ++#endif +Index: libgcc/config/arm/unwind-arm.h +=================================================================== +--- a/src/libgcc/config/arm/unwind-arm.h (.../tags/gcc_7_1_0_release) ++++ b/src/libgcc/config/arm/unwind-arm.h (.../branches/gcc-7-branch) +@@ -72,6 +72,7 @@ + { + return _URC_FAILURE; + } ++#ifndef __FreeBSD__ + /* Return the address of the instruction, not the actual IP value. */ + #define _Unwind_GetIP(context) \ + (_Unwind_GetGR (context, 15) & ~(_Unwind_Word)1) +@@ -78,6 +79,12 @@ + + #define _Unwind_SetIP(context, val) \ + _Unwind_SetGR (context, 15, val | (_Unwind_GetGR (context, 15) & 1)) ++#else ++ #undef _Unwind_GetIPInfo ++ _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *); ++ _Unwind_Ptr _Unwind_GetIPInfo (struct _Unwind_Context *, int *); ++ void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr); ++#endif + + #ifdef __cplusplus + } /* extern "C" */ +Index: gcc/graphite-isl-ast-to-gimple.c +=================================================================== +--- a/src/gcc/graphite-isl-ast-to-gimple.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/graphite-isl-ast-to-gimple.c (.../branches/gcc-7-branch) +@@ -229,8 +229,9 @@ + tree add_close_phis_to_outer_loops (tree last_merge_name, edge merge_e, + gimple *old_close_phi); + bool copy_loop_close_phi_args (basic_block old_bb, basic_block new_bb, +- bool postpone); +- bool copy_loop_close_phi_nodes (basic_block old_bb, basic_block new_bb); ++ vec iv_map, bool postpone); ++ bool copy_loop_close_phi_nodes (basic_block old_bb, basic_block new_bb, ++ vec iv_map); + bool copy_cond_phi_args (gphi *phi, gphi *new_phi, vec iv_map, + bool postpone); + bool copy_cond_phi_nodes (basic_block bb, basic_block new_bb, +@@ -2079,7 +2080,8 @@ + /* Copy all the loop-close phi args from BB to NEW_BB. */ + + bool translate_isl_ast_to_gimple:: +-copy_loop_close_phi_args (basic_block old_bb, basic_block new_bb, bool postpone) ++copy_loop_close_phi_args (basic_block old_bb, basic_block new_bb, ++ vec iv_map, bool postpone) + { + for (gphi_iterator psi = gsi_start_phis (old_bb); !gsi_end_p (psi); + gsi_next (&psi)) +@@ -2089,10 +2091,6 @@ + if (virtual_operand_p (res)) + continue; + +- if (is_gimple_reg (res) && scev_analyzable_p (res, region->region)) +- /* Loop close phi nodes should not be scev_analyzable_p. */ +- gcc_unreachable (); +- + gphi *new_close_phi = create_phi_node (NULL_TREE, new_bb); + tree new_res = create_new_def_for (res, new_close_phi, + gimple_phi_result_ptr (new_close_phi)); +@@ -2099,12 +2097,23 @@ + set_rename (res, new_res); + + tree old_name = gimple_phi_arg_def (old_close_phi, 0); +- tree new_name = get_new_name (new_bb, old_name, old_bb, close_phi); ++ tree new_name; ++ if (is_gimple_reg (res) && scev_analyzable_p (res, region->region)) ++ { ++ gimple_seq stmts; ++ new_name = get_rename_from_scev (old_name, &stmts, ++ old_bb->loop_father, ++ new_bb, old_bb, iv_map); ++ if (! codegen_error_p ()) ++ gsi_insert_earliest (stmts); ++ } ++ else ++ new_name = get_new_name (new_bb, old_name, old_bb, close_phi); + + /* Predecessor basic blocks of a loop close phi should have been code + generated before. FIXME: This is fixable by merging PHIs from inner + loops as well. See: gfortran.dg/graphite/interchange-3.f90. */ +- if (!new_name) ++ if (!new_name || codegen_error_p ()) + return false; + + add_phi_arg (new_close_phi, new_name, single_pred_edge (new_bb), +@@ -2152,7 +2161,8 @@ + /* Copy loop close phi nodes from BB to NEW_BB. */ + + bool translate_isl_ast_to_gimple:: +-copy_loop_close_phi_nodes (basic_block old_bb, basic_block new_bb) ++copy_loop_close_phi_nodes (basic_block old_bb, basic_block new_bb, ++ vec iv_map) + { + if (dump_file) + fprintf (dump_file, "[codegen] copying loop close phi nodes in bb_%d.\n", +@@ -2160,7 +2170,7 @@ + /* Loop close phi nodes should have only one argument. */ + gcc_assert (1 == EDGE_COUNT (old_bb->preds)); + +- return copy_loop_close_phi_args (old_bb, new_bb, true); ++ return copy_loop_close_phi_args (old_bb, new_bb, iv_map, true); + } + + +@@ -2690,7 +2700,7 @@ + gcc_assert (single_pred_edge (phi_bb)->src->loop_father + != single_pred_edge (phi_bb)->dest->loop_father); + +- if (!copy_loop_close_phi_nodes (bb, phi_bb)) ++ if (!copy_loop_close_phi_nodes (bb, phi_bb, iv_map)) + { + codegen_error = true; + return NULL; +@@ -2824,7 +2834,7 @@ + codegen_error = !copy_loop_phi_args (old_phi, ibp_old_bb, new_phi, + ibp_new_bb, false); + else if (bb_contains_loop_close_phi_nodes (new_bb)) +- codegen_error = !copy_loop_close_phi_args (old_bb, new_bb, false); ++ codegen_error = !copy_loop_close_phi_args (old_bb, new_bb, iv_map, false); + else + codegen_error = !copy_cond_phi_args (old_phi, new_phi, iv_map, false); + +Index: gcc/c-family/c-warn.c +=================================================================== +--- a/src/gcc/c-family/c-warn.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/c-family/c-warn.c (.../branches/gcc-7-branch) +@@ -521,10 +521,10 @@ + = get_alias_set (TREE_TYPE (TREE_OPERAND (expr, 0))); + alias_set_type set2 = get_alias_set (TREE_TYPE (type)); + +- if (set1 != set2 && set2 != 0 +- && (set1 == 0 +- || (!alias_set_subset_of (set2, set1) +- && !alias_sets_conflict_p (set1, set2)))) ++ if (set2 != 0 ++ && set1 != set2 ++ && !alias_set_subset_of (set2, set1) ++ && !alias_sets_conflict_p (set1, set2)) + { + warning (OPT_Wstrict_aliasing, "dereferencing type-punned " + "pointer will break strict-aliasing rules"); +Index: gcc/c-family/ChangeLog +=================================================================== +--- a/src/gcc/c-family/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/c-family/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,21 @@ ++2017-06-07 Richard Biener ++ ++ Backport from mainline ++ 2017-05-19 Richard Biener ++ ++ PR c++/80593 ++ * c-warn.c (strict_aliasing_warning): Do not warn for accesses ++ to alias-set zero memory. ++ ++2017-06-07 Marek Polacek ++ ++ Backport from mainline ++ 2017-06-04 Marek Polacek ++ ++ PR c/80919 ++ * c-format.c (matching_type_p): Return false if any of the types ++ requires structural equality. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +Index: gcc/c-family/c-format.c +=================================================================== +--- a/src/gcc/c-family/c-format.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/c-family/c-format.c (.../branches/gcc-7-branch) +@@ -3147,6 +3147,12 @@ + gcc_assert (spec_type); + gcc_assert (arg_type); + ++ /* If any of the types requires structural equality, we can't compare ++ their canonical types. */ ++ if (TYPE_STRUCTURAL_EQUALITY_P (spec_type) ++ || TYPE_STRUCTURAL_EQUALITY_P (arg_type)) ++ return false; ++ + spec_type = TYPE_CANONICAL (spec_type); + arg_type = TYPE_CANONICAL (arg_type); + +Index: gcc/c/ChangeLog +=================================================================== +--- a/src/gcc/c/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/c/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,27 @@ ++2017-06-08 Jakub Jelinek ++ ++ PR c/81006 ++ * c-typeck.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE ++ to sizetype before size_binop. ++ ++2017-05-26 Marek Polacek ++ ++ Backported from mainline ++ 2017-05-17 Marek Polacek ++ ++ PR sanitizer/80659 ++ * c-decl.c (build_compound_literal): Set DECL_ARTIFICIAL and ++ DECL_IGNORED_P even for non-static compound literals. ++ ++2017-05-03 Jakub Jelinek ++ ++ Backported from mainline ++ 2017-04-21 Jakub Jelinek ++ ++ PR c/80468 ++ * c-decl.c (finish_declspecs) : If int_n_idx is not ++ enabled, set specs->type to integer_type_node. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +Index: gcc/c/c-typeck.c +=================================================================== +--- a/src/gcc/c/c-typeck.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/c/c-typeck.c (.../branches/gcc-7-branch) +@@ -12355,9 +12355,9 @@ + && TREE_CODE (TYPE_MAX_VALUE (TYPE_DOMAIN (type))) + == INTEGER_CST) + { +- tree size = size_binop (PLUS_EXPR, +- TYPE_MAX_VALUE (TYPE_DOMAIN (type)), +- size_one_node); ++ tree size ++ = fold_convert (sizetype, TYPE_MAX_VALUE (TYPE_DOMAIN (type))); ++ size = size_binop (PLUS_EXPR, size, size_one_node); + if (TREE_CODE (low_bound) == INTEGER_CST) + { + if (tree_int_cst_lt (size, low_bound)) +Index: gcc/c/c-decl.c +=================================================================== +--- a/src/gcc/c/c-decl.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/c/c-decl.c (.../branches/gcc-7-branch) +@@ -5261,6 +5261,8 @@ + DECL_CONTEXT (decl) = current_function_decl; + TREE_USED (decl) = 1; + DECL_READ_P (decl) = 1; ++ DECL_ARTIFICIAL (decl) = 1; ++ DECL_IGNORED_P (decl) = 1; + TREE_TYPE (decl) = type; + TREE_READONLY (decl) = (TYPE_READONLY (type) + || (TREE_CODE (type) == ARRAY_TYPE +@@ -5297,8 +5299,6 @@ + set_compound_literal_name (decl); + DECL_DEFER_OUTPUT (decl) = 1; + DECL_COMDAT (decl) = 1; +- DECL_ARTIFICIAL (decl) = 1; +- DECL_IGNORED_P (decl) = 1; + pushdecl (decl); + rest_of_decl_compilation (decl, 1, 0); + } +@@ -10929,9 +10929,12 @@ + case cts_int_n: + gcc_assert (!specs->long_p && !specs->short_p && !specs->long_long_p); + gcc_assert (!(specs->signed_p && specs->unsigned_p)); +- specs->type = (specs->unsigned_p +- ? int_n_trees[specs->int_n_idx].unsigned_type +- : int_n_trees[specs->int_n_idx].signed_type); ++ if (! int_n_enabled_p[specs->int_n_idx]) ++ specs->type = integer_type_node; ++ else ++ specs->type = (specs->unsigned_p ++ ? int_n_trees[specs->int_n_idx].unsigned_type ++ : int_n_trees[specs->int_n_idx].signed_type); + if (specs->complex_p) + { + pedwarn (specs->locations[cdw_complex], OPT_Wpedantic, +Index: gcc/DATESTAMP +=================================================================== +--- a/src/gcc/DATESTAMP (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/DATESTAMP (.../branches/gcc-7-branch) +@@ -1 +1 @@ +-20170502 ++20170618 +Index: gcc/fold-const.c +=================================================================== +--- a/src/gcc/fold-const.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/fold-const.c (.../branches/gcc-7-branch) +@@ -9808,6 +9808,7 @@ + if (TREE_CODE (op1) == INTEGER_CST + && tree_int_cst_sgn (op1) == -1 + && negate_expr_p (op0) ++ && negate_expr_p (op1) + && (tem = negate_expr (op1)) != op1 + && ! TREE_OVERFLOW (tem)) + return fold_build2_loc (loc, MULT_EXPR, type, +Index: gcc/omp-low.c +=================================================================== +--- a/src/gcc/omp-low.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/omp-low.c (.../branches/gcc-7-branch) +@@ -1913,7 +1913,30 @@ + } + } + ++/* Helper function for finish_taskreg_scan, called through walk_tree. ++ If maybe_lookup_decl_in_outer_context returns non-NULL for some ++ tree, replace it in the expression. */ + ++static tree ++finish_taskreg_remap (tree *tp, int *walk_subtrees, void *data) ++{ ++ if (VAR_P (*tp)) ++ { ++ omp_context *ctx = (omp_context *) data; ++ tree t = maybe_lookup_decl_in_outer_ctx (*tp, ctx); ++ if (t != *tp) ++ { ++ if (DECL_HAS_VALUE_EXPR_P (t)) ++ t = unshare_expr (DECL_VALUE_EXPR (t)); ++ *tp = t; ++ } ++ *walk_subtrees = 0; ++ } ++ else if (IS_TYPE_OR_DECL_P (*tp)) ++ *walk_subtrees = 0; ++ return NULL_TREE; ++} ++ + /* If any decls have been made addressable during scan_omp, + adjust their fields if needed, and layout record types + of parallel/task constructs. */ +@@ -2033,6 +2056,11 @@ + layout_type (ctx->srecord_type); + tree t = fold_convert_loc (loc, long_integer_type_node, + TYPE_SIZE_UNIT (ctx->record_type)); ++ if (TREE_CODE (t) != INTEGER_CST) ++ { ++ t = unshare_expr (t); ++ walk_tree (&t, finish_taskreg_remap, ctx, NULL); ++ } + gimple_omp_task_set_arg_size (ctx->stmt, t); + t = build_int_cst (long_integer_type_node, + TYPE_ALIGN_UNIT (ctx->record_type)); +@@ -5140,6 +5168,7 @@ + if (OMP_CLAUSE_CODE (c) != OMP_CLAUSE_REDUCTION) + continue; + ++ enum omp_clause_code ccode = OMP_CLAUSE_REDUCTION; + orig_var = var = OMP_CLAUSE_DECL (c); + if (TREE_CODE (var) == MEM_REF) + { +@@ -5146,9 +5175,18 @@ + var = TREE_OPERAND (var, 0); + if (TREE_CODE (var) == POINTER_PLUS_EXPR) + var = TREE_OPERAND (var, 0); +- if (TREE_CODE (var) == INDIRECT_REF +- || TREE_CODE (var) == ADDR_EXPR) ++ if (TREE_CODE (var) == ADDR_EXPR) + var = TREE_OPERAND (var, 0); ++ else ++ { ++ /* If this is a pointer or referenced based array ++ section, the var could be private in the outer ++ context e.g. on orphaned loop construct. Pretend this ++ is private variable's outer reference. */ ++ ccode = OMP_CLAUSE_PRIVATE; ++ if (TREE_CODE (var) == INDIRECT_REF) ++ var = TREE_OPERAND (var, 0); ++ } + orig_var = var; + if (is_variable_sized (var)) + { +@@ -5162,7 +5200,7 @@ + new_var = lookup_decl (var, ctx); + if (var == OMP_CLAUSE_DECL (c) && omp_is_reference (var)) + new_var = build_simple_mem_ref_loc (clause_loc, new_var); +- ref = build_outer_var_ref (var, ctx); ++ ref = build_outer_var_ref (var, ctx, ccode); + code = OMP_CLAUSE_REDUCTION_CODE (c); + + /* reduction(-:var) sums up the partial results, so it acts +Index: gcc/reorg.c +=================================================================== +--- a/src/gcc/reorg.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/reorg.c (.../branches/gcc-7-branch) +@@ -1694,9 +1694,8 @@ + } + + /* Called when INSN is being moved from a location near the target of a jump. +- We leave a marker of the form (use (INSN)) immediately in front +- of WHERE for mark_target_live_regs. These markers will be deleted when +- reorg finishes. ++ We leave a marker of the form (use (INSN)) immediately in front of WHERE ++ for mark_target_live_regs. These markers will be deleted at the end. + + We used to try to update the live status of registers if WHERE is at + the start of a basic block, but that can't work since we may remove a +@@ -1705,16 +1704,10 @@ + static void + update_block (rtx_insn *insn, rtx_insn *where) + { +- /* Ignore if this was in a delay slot and it came from the target of +- a branch. */ +- if (INSN_FROM_TARGET_P (insn)) +- return; +- + emit_insn_before (gen_rtx_USE (VOIDmode, insn), where); + + /* INSN might be making a value live in a block where it didn't use to + be. So recompute liveness information for this block. */ +- + incr_ticks_for_insn (insn); + } + +Index: gcc/tree-chrec.c +=================================================================== +--- a/src/gcc/tree-chrec.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/tree-chrec.c (.../branches/gcc-7-branch) +@@ -149,7 +149,12 @@ + + /* This function should never be called for chrecs of loops that + do not belong to the same loop nest. */ +- gcc_assert (loop0 == loop1); ++ if (loop0 != loop1) ++ { ++ /* It still can happen if we are not in loop-closed SSA form. */ ++ gcc_assert (! loops_state_satisfies_p (LOOP_CLOSED_SSA)); ++ return chrec_dont_know; ++ } + + if (code == PLUS_EXPR || code == POINTER_PLUS_EXPR) + { +@@ -211,7 +216,12 @@ + chrec_fold_multiply (type, CHREC_LEFT (poly0), poly1), + CHREC_RIGHT (poly0)); + +- gcc_assert (loop0 == loop1); ++ if (loop0 != loop1) ++ { ++ /* It still can happen if we are not in loop-closed SSA form. */ ++ gcc_assert (! loops_state_satisfies_p (LOOP_CLOSED_SSA)); ++ return chrec_dont_know; ++ } + + /* poly0 and poly1 are two polynomials in the same variable, + {a, +, b}_x * {c, +, d}_x -> {a*c, +, a*d + b*c + b*d, +, 2*b*d}_x. */ +Index: gcc/tree-ssa-sccvn.c +=================================================================== +--- a/src/gcc/tree-ssa-sccvn.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/tree-ssa-sccvn.c (.../branches/gcc-7-branch) +@@ -2916,14 +2916,11 @@ + the other. */ + + static bool +-cond_stmts_equal_p (gcond *cond1, gcond *cond2, bool *inverted_p) ++cond_stmts_equal_p (gcond *cond1, tree lhs1, tree rhs1, ++ gcond *cond2, tree lhs2, tree rhs2, bool *inverted_p) + { + enum tree_code code1 = gimple_cond_code (cond1); + enum tree_code code2 = gimple_cond_code (cond2); +- tree lhs1 = gimple_cond_lhs (cond1); +- tree lhs2 = gimple_cond_lhs (cond2); +- tree rhs1 = gimple_cond_rhs (cond1); +- tree rhs2 = gimple_cond_rhs (cond2); + + *inverted_p = false; + if (code1 == code2) +@@ -2941,10 +2938,6 @@ + else + return false; + +- lhs1 = vn_valueize (lhs1); +- rhs1 = vn_valueize (rhs1); +- lhs2 = vn_valueize (lhs2); +- rhs2 = vn_valueize (rhs2); + return ((expressions_equal_p (lhs1, lhs2) + && expressions_equal_p (rhs1, rhs2)) + || (commutative_tree_code (code1) +@@ -3002,7 +2995,10 @@ + return false; + bool inverted_p; + if (! cond_stmts_equal_p (as_a (last1), +- as_a (last2), &inverted_p)) ++ vp1->cclhs, vp1->ccrhs, ++ as_a (last2), ++ vp2->cclhs, vp2->ccrhs, ++ &inverted_p)) + return false; + + /* Get at true/false controlled edges into the PHI. */ +@@ -3081,6 +3077,16 @@ + vp1.type = TREE_TYPE (gimple_phi_result (phi)); + vp1.phiargs = shared_lookup_phiargs; + vp1.block = gimple_bb (phi); ++ /* Extract values of the controlling condition. */ ++ vp1.cclhs = NULL_TREE; ++ vp1.ccrhs = NULL_TREE; ++ basic_block idom1 = get_immediate_dominator (CDI_DOMINATORS, vp1.block); ++ if (EDGE_COUNT (idom1->succs) == 2) ++ if (gcond *last1 = dyn_cast (last_stmt (idom1))) ++ { ++ vp1.cclhs = vn_valueize (gimple_cond_lhs (last1)); ++ vp1.ccrhs = vn_valueize (gimple_cond_rhs (last1)); ++ } + vp1.hashcode = vn_phi_compute_hash (&vp1); + slot = current_info->phis->find_slot_with_hash (&vp1, vp1.hashcode, + NO_INSERT); +@@ -3117,6 +3123,16 @@ + vp1->type = TREE_TYPE (gimple_phi_result (phi)); + vp1->phiargs = args; + vp1->block = gimple_bb (phi); ++ /* Extract values of the controlling condition. */ ++ vp1->cclhs = NULL_TREE; ++ vp1->ccrhs = NULL_TREE; ++ basic_block idom1 = get_immediate_dominator (CDI_DOMINATORS, vp1->block); ++ if (EDGE_COUNT (idom1->succs) == 2) ++ if (gcond *last1 = dyn_cast (last_stmt (idom1))) ++ { ++ vp1->cclhs = vn_valueize (gimple_cond_lhs (last1)); ++ vp1->ccrhs = vn_valueize (gimple_cond_rhs (last1)); ++ } + vp1->result = result; + vp1->hashcode = vn_phi_compute_hash (vp1); + +Index: gcc/tree-ssa-sccvn.h +=================================================================== +--- a/src/gcc/tree-ssa-sccvn.h (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/tree-ssa-sccvn.h (.../branches/gcc-7-branch) +@@ -67,6 +67,9 @@ + hashval_t hashcode; + vec phiargs; + basic_block block; ++ /* Controlling condition lhs/rhs. */ ++ tree cclhs; ++ tree ccrhs; + tree type; + tree result; + } *vn_phi_t; +Index: gcc/ChangeLog +=================================================================== +--- a/src/gcc/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,436 @@ ++2017-06-15 Eric Botcazou ++ ++ PR rtl-optimization/80474 ++ * reorg.c (update_block): Do not ignore instructions in a delay slot. ++ ++2017-06-14 Eric Botcazou ++ ++ * config/sparc/sparc.h (MASK_ISA): Add MASK_LEON and MASK_LEON3. ++ (MASK_FEATURES): New macro. ++ * config/sparc/sparc.c (sparc_option_override): Remove the special ++ handling of -mfpu and generalize it to all MASK_FEATURES switches. ++ ++2017-06-14 Eric Botcazou ++ ++ * config/sparc/driver-sparc.c (cpu_names): Add SPARC-T5 entry. ++ ++2017-06-12 David S. Miller ++ ++ PR target/80968 ++ * config/sparc/sparc.md (return expander): Emit frame blockage if ++ function uses alloca. ++ ++2017-06-08 Uros Bizjak ++ ++ PR target/81015 ++ Revert: ++ 2016-12-14 Uros Bizjak ++ ++ PR target/59874 ++ * config/i386/i386.md (*ctzhi2): New insn_and_split pattern. ++ (*clzhi2): Ditto. ++ ++2017-06-08 David Edelsohn ++ ++ Backport from mainline ++ 2017-06-02 David Edelsohn ++ ++ * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE_STR): New. ++ (dl_section_ref): New. ++ (dwarf2out_finish): Copy debug_line_section_label to dl_section_ref. ++ On AIX, append an expression to subtract the size of the ++ section length to dl_section_ref. ++ ++2017-06-07 Richard Biener ++ ++ Backport from mainline ++ 2017-05-02 Richard Biener ++ ++ PR tree-optimization/80549 ++ * tree-cfgcleanup.c (mfb_keep_latches): New helper. ++ (cleanup_tree_cfg_noloop): Create forwarders to known loop ++ headers if they do not have a preheader. ++ ++ 2017-05-26 Richard Biener ++ ++ PR tree-optimization/80842 ++ * tree-ssa-ccp.c (set_lattice_value): Always meet with the old ++ value. ++ ++ 2017-05-31 Richard Biener ++ ++ PR tree-optimization/80906 ++ * graphite-isl-ast-to-gimple.c (copy_loop_close_phi_nodes): Get ++ and pass through iv_map. ++ (copy_bb_and_scalar_dependences): Adjust. ++ (translate_pending_phi_nodes): Likewise. ++ (copy_loop_close_phi_args): Handle code-generating IVs instead ++ of ICEing. ++ ++ 2017-05-11 Richard Biener ++ ++ PR tree-optimization/80705 ++ * tree-vect-data-refs.c (vect_analyze_data_refs): DECL_NONALIASED ++ bases are not vectorizable. ++ ++2017-06-06 Michael Meissner ++ ++ Back port from mainline ++ 2017-05-19 Michael Meissner ++ ++ PR target/80718 ++ * config/rs6000/vsx.md (vsx_splat_, VSX_D iterator): Prefer ++ VSX registers over GPRs, particularly on ISA 2.07 which does not ++ have the MTVSRDD instruction. ++ ++2017-06-06 David S. Miller ++ ++ PR target/80968 ++ * config/sparc/sparc.c (sparc_expand_prologue): Emit frame ++ blockage if function uses alloca. ++ ++2017-06-05 Volker Reichelt ++ ++ * doc/invoke.texi (-Wduplicated-branches): Add to warning list. ++ ++2017-06-02 Prakhar Bahuguna ++ ++ Backport from mainline ++ 2017-05-05 Andre Vieira ++ Prakhar Bahuguna ++ ++ PR target/71607 ++ * config/arm/arm.md (use_literal_pool): Remove. ++ (64-bit immediate split): No longer takes cost into consideration ++ if arm_disable_literal_pool is enabled. ++ * config/arm/arm.c (arm_tls_referenced_p): Add diagnostic if TLS is ++ used when arm_disable_literal_pool is enabled. ++ (arm_max_const_double_inline_cost): Remove use of ++ arm_disable_literal_pool. ++ (push_minipool_fix): Add assert. ++ (arm_reorg): Add return if arm_disable_literal_pool is enabled. ++ * config/arm/vfp.md (no_literal_pool_df_immediate): New. ++ (no_literal_pool_sf_immediate): New. ++ ++2017-06-02 Jakub Jelinek ++ ++ PR rtl-optimization/80903 ++ * loop-doloop.c (add_test): Unshare sequence. ++ ++2017-05-31 Martin Jambor ++ ++ Backport from mainline ++ 2017-04-24 Martin Jambor ++ ++ PR tree-optimization/80293 ++ * tree-sra.c (scalarizable_type_p): New parameter const_decl, make ++ char arrays not totally scalarizable if it is false. ++ (analyze_all_variable_accesses): Pass correct value in the new ++ parameter. Add a statistics counter. ++ ++2017-05-30 Max Filippov ++ ++ Backport from mainline ++ 2017-05-29 Max Filippov ++ ++ * config/xtensa/xtensa.c (xtensa_emit_call): Use ++ HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string. ++ (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld ++ format string. ++ ++2017-05-29 Eric Botcazou ++ ++ * doc/install.texi (Options specification): Restore entry of ++ --enable-sjlj-exceptions. ++ ++2017-05-29 Andreas Krebbel ++ ++ Backport from mainline ++ 2017-05-24 Andreas Krebbel ++ ++ PR target/80725 ++ * config/s390/s390.c (s390_check_qrst_address): Check incoming ++ address against address_operand predicate. ++ * config/s390/s390.md ("*indirect_jump"): Swap alternatives. ++ ++2017-05-28 Uros Bizjak ++ ++ Backport from mainline ++ 2017-05-23 Uros Bizjak ++ ++ * config/i386/i386.md (*movdi_internal): Remove SSE4 ++ alternative 18 (?r, *v). Update insn attributes. ++ (*movsi_internal): Remove SSE4 alternative 13 (?r, *v). ++ Update insn attributes. ++ (*zero_extendsidi2): Remove SSE4 alternative (?r, *x). ++ Update insn attributes. ++ * config/i386/sse.md (vec_extract_0): Remove SSE4 ++ alternative 1 (r, v). Remove isa attribute. ++ * config/i386/i386.c (dimode_scalar_chain::make_vector_copies): ++ Always move value through stack for !TARGET_INTER_UNIT_MOVES_TO_VEC ++ and !TARGET_INTER_UNIT_MOVES_TO_VEC targets. ++ ++ 2017-05-16 Uros Bizjak ++ ++ * config/i386/i386.md (*movsi_internal): Split (?rm,*y) alternative ++ to (?r,*Yn) and (?m,*y) alternatives, and (?*y,rm) to (?*Ym,r) ++ and (?*y,m). Update insn attributes. ++ ++2017-05-26 Sheldon Lobo ++ ++ Backported from mainline ++ 2017-05-24 Sheldon Lobo ++ ++ * config/sparc/sparc.md (length): Return the correct value for -mflat ++ sibcalls to match output_sibcall. ++ ++2017-05-26 Marek Polacek ++ ++ Backported from mainline ++ 2017-05-26 Marek Polacek ++ ++ PR sanitizer/80875 ++ * fold-const.c (fold_binary_loc) : Check if OP1 ++ can be negated. ++ ++2017-05-26 Jakub Jelinek ++ ++ Backported from mainline ++ 2017-05-22 Jakub Jelinek ++ ++ PR middle-end/80809 ++ * omp-low.c (finish_taskreg_remap): New function. ++ (finish_taskreg_scan): If unit size of ctx->record_type ++ is non-constant, unshare the size expression and replace ++ decls in it with possible outer var refs. ++ ++ PR middle-end/80809 ++ * gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use ++ GOVD_SHARED rather than GOVD_PRIVATE with it. ++ (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect ++ GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE. ++ ++ PR middle-end/80853 ++ * omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE ++ as last argument to build_outer_var_ref for pointer bases of array ++ section reductions. ++ ++2017-05-25 Michael Meissner ++ ++ Backport from trunk ++ 2017-05-18 Michael Meissner ++ ++ PR target/80510 ++ * config/rs6000/predicates.md (simple_offsettable_mem_operand): ++ New predicate. ++ ++ * config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator. ++ (define_peephole2 for Altivec d-form load): Add peepholes to catch ++ cases where the register allocator uses a move and an offsettable ++ memory operation to/from a FPR register on ISA 2.06/2.07. ++ (define_peephole2 for Altivec d-form store): Likewise. ++ ++ Backport from trunk ++ 2017-05-09 Michael Meissner ++ ++ PR target/68163 ++ * config/rs6000/rs6000.md (f32_lr): Delete mode attributes that ++ are now unused after splitting mov{sf,sd}_hardfloat. ++ (f32_lr2): Likewise. ++ (f32_lm): Likewise. ++ (f32_lm2): Likewise. ++ (f32_li): Likewise. ++ (f32_li2): Likewise. ++ (f32_lv): Likewise. ++ (f32_sr): Likewise. ++ (f32_sr2): Likewise. ++ (f32_sm): Likewise. ++ (f32_sm2): Likewise. ++ (f32_si): Likewise. ++ (f32_si2): Likewise. ++ (f32_sv): Likewise. ++ (f32_dm): Likewise. ++ (f32_vsx): Likewise. ++ (f32_av): Likewise. ++ (mov_hardfloat): Split into separate movsf and movsd pieces. ++ For movsf, order stores so the VSX stores occur before the GPR ++ store which encourages the register allocator to use a traditional ++ FPR instead of a GPR. For movsd, order the stores so that the GPR ++ store comes before the VSX stores to allow the power6 to work. ++ This is due to the power6 not having a 32-bit integer store ++ instruction from a FPR. ++ (movsf_hardfloat): Likewise. ++ (movsd_hardfloat): Likewise. ++ ++2017-05-25 Wilco Dijkstra ++ ++ Backport from mainlin ++ PR rtl-optimization/80754 ++ * lra-remat.c (do_remat): Add overlap checks for dst_regno. ++ ++2017-05-25 Wilco Dijkstra ++ ++ Backport from mainline ++ PR target/80671 ++ * config/aarch64/cortex-a57-fma-steering.c (merge_forest): ++ Move member access before delete. ++ ++2017-05-23 Sheldon Lobo ++ ++ Backport from mainline ++ 2017-05-18 Sheldon Lobo ++ ++ * config/sparc/sparc.c (sparc_option_override): Set function ++ alignment for -mcpu=niagara7 to 64 to match the I$ line. ++ * config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch ++ latency to 1. ++ * config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch ++ latency to 2. ++ * config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo. ++ ++2017-05-19 Uros Bizjak ++ ++ Backport from mainline ++ 2017-05-18 Uros Bizjak ++ ++ PR target/80799 ++ * config/i386/mmx.md (*mov_internal): Enable ++ alternatives 11, 12, 13 and 14 also for 32bit targets. ++ Remove alternatives 15, 16, 17 and 18. ++ * config/i386/sse.md (vec_concatv2di): Change ++ alternative (!x, *y) to (x, ?!*Yn). ++ ++2017-05-14 Uros Bizjak ++ ++ Backport from mainline ++ 2017-05-11 Uros Bizjak ++ ++ PR target/80706 ++ * config/i386/sync.md (UNSPEC_LDX_ATOMIC): New unspec. ++ (UNSPEC_STX_ATOMIC): Ditto. ++ (loaddi_via_sse): New insn. ++ (storedi_via_sse): Ditto. ++ (atomic_loaddi_fpu): Emit loaddi_via_sse and storedi_via_sse. ++ Update corresponding peephole2 patterns. ++ (atomic_storedi_fpu): Ditto. ++ ++2017-05-13 Bill Schmidt ++ ++ Backport from mainline ++ 2017-05-05 Bill Schmidt ++ ++ * config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var. ++ (rs6000_init_cost): Initialize rs6000_vect_nonmem. ++ (rs6000_add_stmt_cost): Update rs6000_vect_nonmem. ++ (rs6000_finish_cost): Avoid vectorizing simple copy loops with ++ VF=2 that require versioning. ++ ++2017-05-12 Bill Schmidt ++ ++ Backport from mainline ++ 2017-05-10 Bill Schmidt ++ ++ * config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8 ++ built-ins for vec_xl and vec_xst with short and char pointer ++ arguments. ++ ++2017-05-10 John David Anglin ++ ++ PR target/80090 ++ * config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF, ++ handle calling assemble_external ourself. ++ ++ PR target/79027 ++ * config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from ++ modes with zero size. Enhance comment. ++ ++2017-05-09 Michael Meissner ++ ++ Back port from mainline ++ 2017-05-05 Michael Meissner ++ ++ PR target/79038 ++ PR target/79202 ++ PR target/79203 ++ * config/rs6000/rs6000.md (u code attribute): Add FIX and ++ UNSIGNED_FIX. ++ (extendsi2): Add support for doing sign extension via ++ VUPKHSW and XXPERMDI if the value is in Altivec registers and we ++ don't have ISA 3.0 instructions. ++ (extendsi2 splitter): Likewise. ++ (fix_truncsi2): If we are at ISA 2.07 (VSX small integer), ++ generate the normal insns since SImode can now go in vector ++ registers. Disallow the special UNSPECs needed for previous ++ machines to hide SImode being used. Add new insns ++ fctiw{,w}__smallint if SImode can go in vector registers. ++ (fix_truncsi2_stfiwx): Likewise. ++ (fix_truncsi2_internal): Likewise. ++ (fixuns_truncsi2): Likewise. ++ (fixuns_truncsi2_stfiwx): Likewise. ++ (fctiwz__smallint): Likewise. ++ (fctiwz__mem): New combiner pattern to prevent conversion ++ of floating point to 32-bit integer from doing a direct move to ++ the GPR registers to do a store. ++ (fctiwz_): Break long line. ++ ++2017-05-08 Tamar Christina ++ ++ PR middle-end/79665 ++ * expr.c (expand_expr_real_2): Move TRUNC_MOD_EXPR, FLOOR_MOD_EXPR, ++ CEIL_MOD_EXPR, ROUND_MOD_EXPR cases. ++ ++2017-05-03 Jan Beulich ++ ++ Backport from mainline ++ 2017-05-01 Jan Beulich ++ ++ * config/i386/sse.md (xop_vpermil23): Do not allow operand ++ swapping, add (x,x,m,x,n) alternative. ++ ++2017-05-03 Richard Biener ++ ++ Backport from mainline ++ 2017-04-20 Richard Biener ++ ++ PR tree-optimization/80453 ++ * tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members. ++ * tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs ++ from the conditions. ++ (vn_phi_eq): Pass them down. ++ (vn_phi_lookup): Record them. ++ (vn_phi_insert): Likewise. ++ ++ 2017-04-25 Richard Biener ++ ++ PR tree-optimization/80492 ++ * alias.c (compare_base_decls): Handle registers with asm ++ specification conservatively. ++ ++ 2017-04-27 Richard Biener ++ ++ PR middle-end/80539 ++ * tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not ++ being in loop-closed SSA form conservatively. ++ (chrec_fold_multiply_poly_poly): Likewise. ++ ++2017-05-02 Uros Bizjak ++ ++ Backport from mainline ++ 2017-05-01 Uros Bizjak ++ ++ PR target/68491 ++ * config/i386/cpuid.h (__get_cpuid): Always return 0 when ++ __get_cpuid_max returns 0. ++ (__get_cpuid_count): Ditto. ++ ++2017-05-02 Jakub Jelinek ++ ++ Backported from mainline ++ 2017-04-25 Jakub Jelinek ++ ++ * Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the ++ environment. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +@@ -110,9 +547,9 @@ + Backport from mainline + 2017-04-25 Andreas Krebbel + +- PR target/80464 +- * config/s390/vector.md: Split MEM->GPR vector moves for +- non-s_operand addresses. ++ PR target/80464 ++ * config/s390/vector.md: Split MEM->GPR vector moves for ++ non-s_operand addresses. + + 2017-04-25 Andreas Krebbel + +@@ -119,11 +556,11 @@ + Backport from mainline + 2017-04-25 Andreas Krebbel + +- PR target/79895 +- * config/s390/predicates.md (reload_const_wide_int_operand): New +- predicate. +- * config/s390/s390.md ("movti"): Remove d/P alternative. +- ("movti_bigconst"): New pattern definition. ++ PR target/79895 ++ * config/s390/predicates.md (reload_const_wide_int_operand): New ++ predicate. ++ * config/s390/s390.md ("movti"): Remove d/P alternative. ++ ("movti_bigconst"): New pattern definition. + + 2017-04-25 Dominik Vogt + +@@ -130,30 +567,30 @@ + Backport from maineline + 2017-04-25 Dominik Vogt + +- PR target/80080 +- * s390-protos.h (s390_expand_cs_hqi): Removed. +- (s390_expand_cs, s390_expand_atomic_exchange_tdsi): New prototypes. +- * config/s390/s390.c (s390_emit_compare_and_swap): Handle all integer +- modes as well as CCZ1mode and CCZmode. +- (s390_expand_atomic_exchange_tdsi, s390_expand_atomic): Adapt to new +- signature of s390_emit_compare_and_swap. +- (s390_expand_cs_hqi): Likewise, make static. +- (s390_expand_cs_tdsi): Generate an explicit compare before trying +- compare-and-swap, in some cases. +- (s390_expand_cs): Wrapper function. +- (s390_expand_atomic_exchange_tdsi): New backend specific expander for +- atomic_exchange. +- (s390_match_ccmode_set): Allow CCZmode <-> CCZ1 mode. +- * config/s390/s390.md ("atomic_compare_and_swap"): Merge the +- patterns for small and large integers. Forbid symref memory operands. +- Move expander to s390.c. Require cc register. +- ("atomic_compare_and_swap_internal") +- ("*atomic_compare_and_swap_1") +- ("*atomic_compare_and_swapdi_2") +- ("*atomic_compare_and_swapsi_3"): Use s_operand to forbid +- symref memory operands. Remove CC mode and call s390_match_ccmode +- instead. +- ("atomic_exchange"): Allow and implement all integer modes. ++ PR target/80080 ++ * s390-protos.h (s390_expand_cs_hqi): Removed. ++ (s390_expand_cs, s390_expand_atomic_exchange_tdsi): New prototypes. ++ * config/s390/s390.c (s390_emit_compare_and_swap): Handle all integer ++ modes as well as CCZ1mode and CCZmode. ++ (s390_expand_atomic_exchange_tdsi, s390_expand_atomic): Adapt to new ++ signature of s390_emit_compare_and_swap. ++ (s390_expand_cs_hqi): Likewise, make static. ++ (s390_expand_cs_tdsi): Generate an explicit compare before trying ++ compare-and-swap, in some cases. ++ (s390_expand_cs): Wrapper function. ++ (s390_expand_atomic_exchange_tdsi): New backend specific expander for ++ atomic_exchange. ++ (s390_match_ccmode_set): Allow CCZmode <-> CCZ1 mode. ++ * config/s390/s390.md ("atomic_compare_and_swap"): Merge the ++ patterns for small and large integers. Forbid symref memory operands. ++ Move expander to s390.c. Require cc register. ++ ("atomic_compare_and_swap_internal") ++ ("*atomic_compare_and_swap_1") ++ ("*atomic_compare_and_swapdi_2") ++ ("*atomic_compare_and_swapsi_3"): Use s_operand to forbid ++ symref memory operands. Remove CC mode and call s390_match_ccmode ++ instead. ++ ("atomic_exchange"): Allow and implement all integer modes. + + 2017-04-25 Dominik Vogt + +@@ -160,8 +597,8 @@ + Backport from mainline + 2017-04-25 Dominik Vogt + +- * config/s390/s390.md (define_peephole2): New peephole to help +- combining the load-and-test pattern with volatile memory. ++ * config/s390/s390.md (define_peephole2): New peephole to help ++ combining the load-and-test pattern with volatile memory. + + + 2017-04-25 Dominik Vogt +@@ -169,8 +606,8 @@ + Backport from mainline + 2017-04-25 Dominik Vogt + +- * config/s390/s390.md ("cstorecc4"): Use load-on-condition and deal +- with CCZmode for TARGET_Z196. ++ * config/s390/s390.md ("cstorecc4"): Use load-on-condition and deal ++ with CCZmode for TARGET_Z196. + + 2017-04-25 Jakub Jelinek + +@@ -229,7 +666,7 @@ + (build_array_type): Likewise. Add typeless_storage argument. + + 2017-04-19 Eric Botcazou +- Jakub Jelinek ++ Jakub Jelinek + + PR tree-optimization/80426 + * tree-vrp.c (extract_range_from_binary_expr_1): For an additive +@@ -271,7 +708,7 @@ + are only used in debug insns. + + 2017-04-19 Eric Botcazou +- Vladimir Makarov ++ Vladimir Makarov + + * config/sparc/predicates.md (input_operand): Add comment. Return + true for any memory operand when LRA is in progress. +Index: gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst.c (.../branches/gcc-7-branch) +@@ -0,0 +1,62 @@ ++/* { dg-do compile { target { powerpc64le-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_p8vector_ok } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++/* { dg-options "-mcpu=power8 -O2" } */ ++ ++/* Verify fix for problem where vec_xl and vec_xst are not recognized ++ for the vector char and vector short cases on P8 only. */ ++ ++#include ++ ++vector unsigned char ++foo (unsigned char * address) ++{ ++ return __builtin_vec_xl (0, address); ++} ++ ++void ++bar (vector unsigned char x, unsigned char * address) ++{ ++ __builtin_vec_xst (x, 0, address); ++} ++ ++vector unsigned short ++foot (unsigned short * address) ++{ ++ return __builtin_vec_xl (0, address); ++} ++ ++void ++bart (vector unsigned short x, unsigned short * address) ++{ ++ __builtin_vec_xst (x, 0, address); ++} ++ ++vector unsigned char ++fool (unsigned char * address) ++{ ++ return vec_xl (0, address); ++} ++ ++void ++barl (vector unsigned char x, unsigned char * address) ++{ ++ vec_xst (x, 0, address); ++} ++ ++vector unsigned short ++footle (unsigned short * address) ++{ ++ return vec_xl (0, address); ++} ++ ++void ++bartle (vector unsigned short x, unsigned short * address) ++{ ++ vec_xst (x, 0, address); ++} ++ ++/* { dg-final { scan-assembler-times "lxvd2x" 4 } } */ ++/* { dg-final { scan-assembler-times "stxvd2x" 4 } } */ ++/* { dg-final { scan-assembler-times "xxpermdi" 8 } } */ +Index: gcc/testsuite/gcc.target/powerpc/pr68163.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr68163.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr68163.c (.../branches/gcc-7-branch) +@@ -0,0 +1,209 @@ ++/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_p8vector_ok } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++/* { dg-options "-mcpu=power8 -O2" } */ ++ ++/* Make sure that the register allocator does not move SF values to GPR ++ registers in order to do an offsettable store. */ ++ ++#ifndef TYPE ++#define TYPE float ++#endif ++ ++#ifndef TYPE_IN ++#define TYPE_IN TYPE ++#endif ++ ++#ifndef TYPE_OUT ++#define TYPE_OUT TYPE ++#endif ++ ++#ifndef ITYPE ++#define ITYPE long ++#endif ++ ++#ifdef DO_CALL ++extern ITYPE get_bits (ITYPE); ++ ++#else ++#define get_bits(X) (X) ++#endif ++ ++void test (ITYPE *bits, ITYPE n, TYPE one, TYPE_IN *p, TYPE_OUT *q) ++{ ++ TYPE x_00 = p[ 0]; ++ TYPE x_01 = p[ 1]; ++ TYPE x_02 = p[ 2]; ++ TYPE x_03 = p[ 3]; ++ TYPE x_04 = p[ 4]; ++ TYPE x_05 = p[ 5]; ++ TYPE x_06 = p[ 6]; ++ TYPE x_07 = p[ 7]; ++ TYPE x_08 = p[ 8]; ++ TYPE x_09 = p[ 9]; ++ ++ TYPE x_10 = p[10]; ++ TYPE x_11 = p[11]; ++ TYPE x_12 = p[12]; ++ TYPE x_13 = p[13]; ++ TYPE x_14 = p[14]; ++ TYPE x_15 = p[15]; ++ TYPE x_16 = p[16]; ++ TYPE x_17 = p[17]; ++ TYPE x_18 = p[18]; ++ TYPE x_19 = p[19]; ++ ++ TYPE x_20 = p[20]; ++ TYPE x_21 = p[21]; ++ TYPE x_22 = p[22]; ++ TYPE x_23 = p[23]; ++ TYPE x_24 = p[24]; ++ TYPE x_25 = p[25]; ++ TYPE x_26 = p[26]; ++ TYPE x_27 = p[27]; ++ TYPE x_28 = p[28]; ++ TYPE x_29 = p[29]; ++ ++ TYPE x_30 = p[30]; ++ TYPE x_31 = p[31]; ++ TYPE x_32 = p[32]; ++ TYPE x_33 = p[33]; ++ TYPE x_34 = p[34]; ++ TYPE x_35 = p[35]; ++ TYPE x_36 = p[36]; ++ TYPE x_37 = p[37]; ++ TYPE x_38 = p[38]; ++ TYPE x_39 = p[39]; ++ ++ TYPE x_40 = p[40]; ++ TYPE x_41 = p[41]; ++ TYPE x_42 = p[42]; ++ TYPE x_43 = p[43]; ++ TYPE x_44 = p[44]; ++ TYPE x_45 = p[45]; ++ TYPE x_46 = p[46]; ++ TYPE x_47 = p[47]; ++ TYPE x_48 = p[48]; ++ TYPE x_49 = p[49]; ++ ++ ITYPE i; ++ ++ for (i = 0; i < n; i++) ++ { ++ ITYPE bit = get_bits (bits[i]); ++ ++ if ((bit & ((ITYPE)1) << 0) != 0) x_00 += one; ++ if ((bit & ((ITYPE)1) << 1) != 0) x_01 += one; ++ if ((bit & ((ITYPE)1) << 2) != 0) x_02 += one; ++ if ((bit & ((ITYPE)1) << 3) != 0) x_03 += one; ++ if ((bit & ((ITYPE)1) << 4) != 0) x_04 += one; ++ if ((bit & ((ITYPE)1) << 5) != 0) x_05 += one; ++ if ((bit & ((ITYPE)1) << 6) != 0) x_06 += one; ++ if ((bit & ((ITYPE)1) << 7) != 0) x_07 += one; ++ if ((bit & ((ITYPE)1) << 8) != 0) x_08 += one; ++ if ((bit & ((ITYPE)1) << 9) != 0) x_09 += one; ++ ++ if ((bit & ((ITYPE)1) << 10) != 0) x_10 += one; ++ if ((bit & ((ITYPE)1) << 11) != 0) x_11 += one; ++ if ((bit & ((ITYPE)1) << 12) != 0) x_12 += one; ++ if ((bit & ((ITYPE)1) << 13) != 0) x_13 += one; ++ if ((bit & ((ITYPE)1) << 14) != 0) x_14 += one; ++ if ((bit & ((ITYPE)1) << 15) != 0) x_15 += one; ++ if ((bit & ((ITYPE)1) << 16) != 0) x_16 += one; ++ if ((bit & ((ITYPE)1) << 17) != 0) x_17 += one; ++ if ((bit & ((ITYPE)1) << 18) != 0) x_18 += one; ++ if ((bit & ((ITYPE)1) << 19) != 0) x_19 += one; ++ ++ if ((bit & ((ITYPE)1) << 20) != 0) x_20 += one; ++ if ((bit & ((ITYPE)1) << 21) != 0) x_21 += one; ++ if ((bit & ((ITYPE)1) << 22) != 0) x_22 += one; ++ if ((bit & ((ITYPE)1) << 23) != 0) x_23 += one; ++ if ((bit & ((ITYPE)1) << 24) != 0) x_24 += one; ++ if ((bit & ((ITYPE)1) << 25) != 0) x_25 += one; ++ if ((bit & ((ITYPE)1) << 26) != 0) x_26 += one; ++ if ((bit & ((ITYPE)1) << 27) != 0) x_27 += one; ++ if ((bit & ((ITYPE)1) << 28) != 0) x_28 += one; ++ if ((bit & ((ITYPE)1) << 29) != 0) x_29 += one; ++ ++ if ((bit & ((ITYPE)1) << 30) != 0) x_30 += one; ++ if ((bit & ((ITYPE)1) << 31) != 0) x_31 += one; ++ if ((bit & ((ITYPE)1) << 32) != 0) x_32 += one; ++ if ((bit & ((ITYPE)1) << 33) != 0) x_33 += one; ++ if ((bit & ((ITYPE)1) << 34) != 0) x_34 += one; ++ if ((bit & ((ITYPE)1) << 35) != 0) x_35 += one; ++ if ((bit & ((ITYPE)1) << 36) != 0) x_36 += one; ++ if ((bit & ((ITYPE)1) << 37) != 0) x_37 += one; ++ if ((bit & ((ITYPE)1) << 38) != 0) x_38 += one; ++ if ((bit & ((ITYPE)1) << 39) != 0) x_39 += one; ++ ++ if ((bit & ((ITYPE)1) << 40) != 0) x_40 += one; ++ if ((bit & ((ITYPE)1) << 41) != 0) x_41 += one; ++ if ((bit & ((ITYPE)1) << 42) != 0) x_42 += one; ++ if ((bit & ((ITYPE)1) << 43) != 0) x_43 += one; ++ if ((bit & ((ITYPE)1) << 44) != 0) x_44 += one; ++ if ((bit & ((ITYPE)1) << 45) != 0) x_45 += one; ++ if ((bit & ((ITYPE)1) << 46) != 0) x_46 += one; ++ if ((bit & ((ITYPE)1) << 47) != 0) x_47 += one; ++ if ((bit & ((ITYPE)1) << 48) != 0) x_48 += one; ++ if ((bit & ((ITYPE)1) << 49) != 0) x_49 += one; ++ } ++ ++ q[ 0] = x_00; ++ q[ 1] = x_01; ++ q[ 2] = x_02; ++ q[ 3] = x_03; ++ q[ 4] = x_04; ++ q[ 5] = x_05; ++ q[ 6] = x_06; ++ q[ 7] = x_07; ++ q[ 8] = x_08; ++ q[ 9] = x_09; ++ ++ q[10] = x_10; ++ q[11] = x_11; ++ q[12] = x_12; ++ q[13] = x_13; ++ q[14] = x_14; ++ q[15] = x_15; ++ q[16] = x_16; ++ q[17] = x_17; ++ q[18] = x_18; ++ q[19] = x_19; ++ ++ q[20] = x_20; ++ q[21] = x_21; ++ q[22] = x_22; ++ q[23] = x_23; ++ q[24] = x_24; ++ q[25] = x_25; ++ q[26] = x_26; ++ q[27] = x_27; ++ q[28] = x_28; ++ q[29] = x_29; ++ ++ q[30] = x_30; ++ q[31] = x_31; ++ q[32] = x_32; ++ q[33] = x_33; ++ q[34] = x_34; ++ q[35] = x_35; ++ q[36] = x_36; ++ q[37] = x_37; ++ q[38] = x_38; ++ q[39] = x_39; ++ ++ q[40] = x_40; ++ q[41] = x_41; ++ q[42] = x_42; ++ q[43] = x_43; ++ q[44] = x_44; ++ q[45] = x_45; ++ q[46] = x_46; ++ q[47] = x_47; ++ q[48] = x_48; ++ q[49] = x_49; ++} ++ ++/* { dg-final { scan-assembler-not {\mmfvsrd\M} } } */ ++/* { dg-final { scan-assembler-not {\mstw\M} } } */ +Index: gcc/testsuite/gcc.target/powerpc/versioned-copy-loop.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/versioned-copy-loop.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/versioned-copy-loop.c (.../branches/gcc-7-branch) +@@ -0,0 +1,30 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target powerpc_p8vector_ok } */ ++/* { dg-options "-O3 -fdump-tree-vect-details" } */ ++ ++/* Verify that a pure copy loop with a vectorization factor of two ++ that requires alignment will not be vectorized. See the cost ++ model hooks in rs6000.c. */ ++ ++typedef long unsigned int size_t; ++typedef unsigned char uint8_t; ++ ++extern void *memcpy (void *__restrict __dest, const void *__restrict __src, ++ size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); ++ ++void foo (void *dstPtr, const void *srcPtr, void *dstEnd) ++{ ++ uint8_t *d = (uint8_t*)dstPtr; ++ const uint8_t *s = (const uint8_t*)srcPtr; ++ uint8_t* const e = (uint8_t*)dstEnd; ++ ++ do ++ { ++ memcpy (d, s, 8); ++ d += 8; ++ s += 8; ++ } ++ while (d < e); ++} ++ ++/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" } } */ +Index: gcc/testsuite/gcc.target/powerpc/ppc-round2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/ppc-round2.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/ppc-round2.c (.../branches/gcc-7-branch) +@@ -3,18 +3,21 @@ + /* { dg-require-effective-target powerpc_p8vector_ok } */ + /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ + /* { dg-options "-O2 -mcpu=power8" } */ +-/* { dg-final { scan-assembler-times "fcfid " 2 } } */ +-/* { dg-final { scan-assembler-times "fcfids " 2 } } */ ++/* { dg-final { scan-assembler-times "fcfid \|xscvsxddp " 2 } } */ ++/* { dg-final { scan-assembler-times "fcfids \|xscvsxdsp " 2 } } */ ++/* { dg-final { scan-assembler-times "fctiwz \|xscvdpsxws " 2 } } */ + /* { dg-final { scan-assembler-times "fctiwuz \|xscvdpuxws " 2 } } */ +-/* { dg-final { scan-assembler-times "fctiwz \|xscvdpsxws " 2 } } */ +-/* { dg-final { scan-assembler-times "mfvsrd " 4 } } */ +-/* { dg-final { scan-assembler-times "mtvsrwa " 2 } } */ +-/* { dg-final { scan-assembler-times "mtvsrwz " 2 } } */ +-/* { dg-final { scan-assembler-not "lwz" } } */ +-/* { dg-final { scan-assembler-not "lfiwax " } } */ +-/* { dg-final { scan-assembler-not "lfiwzx " } } */ +-/* { dg-final { scan-assembler-not "stw" } } */ +-/* { dg-final { scan-assembler-not "stfiwx " } } */ ++/* { dg-final { scan-assembler-times {\mmfvsrwz\M} 2 } } */ ++/* { dg-final { scan-assembler-times {\mmtvsrwz\M} 2 } } */ ++/* { dg-final { scan-assembler-times {\mvupkhsw\M} 2 } } */ ++/* { dg-final { scan-assembler-times {\mxxpermdi\M} 2 } } */ ++/* { dg-final { scan-assembler-not {\mmfvsrd\M} } } */ ++/* { dg-final { scan-assembler-not {\mmtvsrwa\M} } } */ ++/* { dg-final { scan-assembler-not {\mlwz\M} } } */ ++/* { dg-final { scan-assembler-not {\mlfiwax\M} } } */ ++/* { dg-final { scan-assembler-not {\mlfiwzx\M} } } */ ++/* { dg-final { scan-assembler-not {\mstw\M} } } */ ++/* { dg-final { scan-assembler-not {\mstfiwx\M} } } */ + + /* Make sure we don't have loads/stores to the GPR unit. */ + double +Index: gcc/testsuite/gcc.target/powerpc/ppc-round3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/ppc-round3.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/ppc-round3.c (.../branches/gcc-7-branch) +@@ -0,0 +1,45 @@ ++/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_p9vector_ok } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++/* { dg-options "-O2 -mcpu=power9" } */ ++/* { dg-final { scan-assembler-times "fcfid \|xscvsxddp " 2 } } */ ++/* { dg-final { scan-assembler-times "fcfids \|xscvsxdsp " 2 } } */ ++/* { dg-final { scan-assembler-times "fctiwz \|xscvdpsxws " 2 } } */ ++/* { dg-final { scan-assembler-times "fctiwuz \|xscvdpuxws " 2 } } */ ++/* { dg-final { scan-assembler-times {\mvextsw2d\M} 2 } } */ ++/* { dg-final { scan-assembler-times {\mxxextractuw\M} 2 } } */ ++/* { dg-final { scan-assembler-not {\mmfvsrd\M} } } */ ++/* { dg-final { scan-assembler-not {\mmfvsrwz\M} } } */ ++/* { dg-final { scan-assembler-not {\mmtvsrwa\M} } } */ ++/* { dg-final { scan-assembler-not {\mmtvsrwz\M} } } */ ++/* { dg-final { scan-assembler-not {\mlwz\M} } } */ ++/* { dg-final { scan-assembler-not {\mlfiwax\M} } } */ ++/* { dg-final { scan-assembler-not {\mlfiwzx\M} } } */ ++/* { dg-final { scan-assembler-not {\mstw\M} } } */ ++/* { dg-final { scan-assembler-not {\mstfiwx\M} } } */ ++ ++/* Make sure we don't have loads/stores to the GPR unit. */ ++double ++round_double_int (double a) ++{ ++ return (double)(int)a; ++} ++ ++float ++round_float_int (float a) ++{ ++ return (float)(int)a; ++} ++ ++double ++round_double_uint (double a) ++{ ++ return (double)(unsigned int)a; ++} ++ ++float ++round_float_uint (float a) ++{ ++ return (float)(unsigned int)a; ++} +Index: gcc/testsuite/gcc.target/powerpc/pr80510-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr80510-1.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr80510-1.c (.../branches/gcc-7-branch) +@@ -0,0 +1,211 @@ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_vsx_ok } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */ ++/* { dg-options "-mcpu=power7 -O2" } */ ++ ++/* Make sure that STXSDX is generated for double scalars in Altivec registers ++ on power7 instead of moving the value to a FPR register and doing a X-FORM ++ store. */ ++ ++#ifndef TYPE ++#define TYPE double ++#endif ++ ++#ifndef TYPE_IN ++#define TYPE_IN TYPE ++#endif ++ ++#ifndef TYPE_OUT ++#define TYPE_OUT TYPE ++#endif ++ ++#ifndef ITYPE ++#define ITYPE long ++#endif ++ ++#ifdef DO_CALL ++extern ITYPE get_bits (ITYPE); ++ ++#else ++#define get_bits(X) (X) ++#endif ++ ++void test (ITYPE *bits, ITYPE n, TYPE one, TYPE_IN *p, TYPE_OUT *q) ++{ ++ TYPE x_00 = p[ 0]; ++ TYPE x_01 = p[ 1]; ++ TYPE x_02 = p[ 2]; ++ TYPE x_03 = p[ 3]; ++ TYPE x_04 = p[ 4]; ++ TYPE x_05 = p[ 5]; ++ TYPE x_06 = p[ 6]; ++ TYPE x_07 = p[ 7]; ++ TYPE x_08 = p[ 8]; ++ TYPE x_09 = p[ 9]; ++ ++ TYPE x_10 = p[10]; ++ TYPE x_11 = p[11]; ++ TYPE x_12 = p[12]; ++ TYPE x_13 = p[13]; ++ TYPE x_14 = p[14]; ++ TYPE x_15 = p[15]; ++ TYPE x_16 = p[16]; ++ TYPE x_17 = p[17]; ++ TYPE x_18 = p[18]; ++ TYPE x_19 = p[19]; ++ ++ TYPE x_20 = p[20]; ++ TYPE x_21 = p[21]; ++ TYPE x_22 = p[22]; ++ TYPE x_23 = p[23]; ++ TYPE x_24 = p[24]; ++ TYPE x_25 = p[25]; ++ TYPE x_26 = p[26]; ++ TYPE x_27 = p[27]; ++ TYPE x_28 = p[28]; ++ TYPE x_29 = p[29]; ++ ++ TYPE x_30 = p[30]; ++ TYPE x_31 = p[31]; ++ TYPE x_32 = p[32]; ++ TYPE x_33 = p[33]; ++ TYPE x_34 = p[34]; ++ TYPE x_35 = p[35]; ++ TYPE x_36 = p[36]; ++ TYPE x_37 = p[37]; ++ TYPE x_38 = p[38]; ++ TYPE x_39 = p[39]; ++ ++ TYPE x_40 = p[40]; ++ TYPE x_41 = p[41]; ++ TYPE x_42 = p[42]; ++ TYPE x_43 = p[43]; ++ TYPE x_44 = p[44]; ++ TYPE x_45 = p[45]; ++ TYPE x_46 = p[46]; ++ TYPE x_47 = p[47]; ++ TYPE x_48 = p[48]; ++ TYPE x_49 = p[49]; ++ ++ ITYPE i; ++ ++ for (i = 0; i < n; i++) ++ { ++ ITYPE bit = get_bits (bits[i]); ++ ++ if ((bit & ((ITYPE)1) << 0) != 0) x_00 += one; ++ if ((bit & ((ITYPE)1) << 1) != 0) x_01 += one; ++ if ((bit & ((ITYPE)1) << 2) != 0) x_02 += one; ++ if ((bit & ((ITYPE)1) << 3) != 0) x_03 += one; ++ if ((bit & ((ITYPE)1) << 4) != 0) x_04 += one; ++ if ((bit & ((ITYPE)1) << 5) != 0) x_05 += one; ++ if ((bit & ((ITYPE)1) << 6) != 0) x_06 += one; ++ if ((bit & ((ITYPE)1) << 7) != 0) x_07 += one; ++ if ((bit & ((ITYPE)1) << 8) != 0) x_08 += one; ++ if ((bit & ((ITYPE)1) << 9) != 0) x_09 += one; ++ ++ if ((bit & ((ITYPE)1) << 10) != 0) x_10 += one; ++ if ((bit & ((ITYPE)1) << 11) != 0) x_11 += one; ++ if ((bit & ((ITYPE)1) << 12) != 0) x_12 += one; ++ if ((bit & ((ITYPE)1) << 13) != 0) x_13 += one; ++ if ((bit & ((ITYPE)1) << 14) != 0) x_14 += one; ++ if ((bit & ((ITYPE)1) << 15) != 0) x_15 += one; ++ if ((bit & ((ITYPE)1) << 16) != 0) x_16 += one; ++ if ((bit & ((ITYPE)1) << 17) != 0) x_17 += one; ++ if ((bit & ((ITYPE)1) << 18) != 0) x_18 += one; ++ if ((bit & ((ITYPE)1) << 19) != 0) x_19 += one; ++ ++ if ((bit & ((ITYPE)1) << 20) != 0) x_20 += one; ++ if ((bit & ((ITYPE)1) << 21) != 0) x_21 += one; ++ if ((bit & ((ITYPE)1) << 22) != 0) x_22 += one; ++ if ((bit & ((ITYPE)1) << 23) != 0) x_23 += one; ++ if ((bit & ((ITYPE)1) << 24) != 0) x_24 += one; ++ if ((bit & ((ITYPE)1) << 25) != 0) x_25 += one; ++ if ((bit & ((ITYPE)1) << 26) != 0) x_26 += one; ++ if ((bit & ((ITYPE)1) << 27) != 0) x_27 += one; ++ if ((bit & ((ITYPE)1) << 28) != 0) x_28 += one; ++ if ((bit & ((ITYPE)1) << 29) != 0) x_29 += one; ++ ++ if ((bit & ((ITYPE)1) << 30) != 0) x_30 += one; ++ if ((bit & ((ITYPE)1) << 31) != 0) x_31 += one; ++ if ((bit & ((ITYPE)1) << 32) != 0) x_32 += one; ++ if ((bit & ((ITYPE)1) << 33) != 0) x_33 += one; ++ if ((bit & ((ITYPE)1) << 34) != 0) x_34 += one; ++ if ((bit & ((ITYPE)1) << 35) != 0) x_35 += one; ++ if ((bit & ((ITYPE)1) << 36) != 0) x_36 += one; ++ if ((bit & ((ITYPE)1) << 37) != 0) x_37 += one; ++ if ((bit & ((ITYPE)1) << 38) != 0) x_38 += one; ++ if ((bit & ((ITYPE)1) << 39) != 0) x_39 += one; ++ ++ if ((bit & ((ITYPE)1) << 40) != 0) x_40 += one; ++ if ((bit & ((ITYPE)1) << 41) != 0) x_41 += one; ++ if ((bit & ((ITYPE)1) << 42) != 0) x_42 += one; ++ if ((bit & ((ITYPE)1) << 43) != 0) x_43 += one; ++ if ((bit & ((ITYPE)1) << 44) != 0) x_44 += one; ++ if ((bit & ((ITYPE)1) << 45) != 0) x_45 += one; ++ if ((bit & ((ITYPE)1) << 46) != 0) x_46 += one; ++ if ((bit & ((ITYPE)1) << 47) != 0) x_47 += one; ++ if ((bit & ((ITYPE)1) << 48) != 0) x_48 += one; ++ if ((bit & ((ITYPE)1) << 49) != 0) x_49 += one; ++ } ++ ++ q[ 0] = x_00; ++ q[ 1] = x_01; ++ q[ 2] = x_02; ++ q[ 3] = x_03; ++ q[ 4] = x_04; ++ q[ 5] = x_05; ++ q[ 6] = x_06; ++ q[ 7] = x_07; ++ q[ 8] = x_08; ++ q[ 9] = x_09; ++ ++ q[10] = x_10; ++ q[11] = x_11; ++ q[12] = x_12; ++ q[13] = x_13; ++ q[14] = x_14; ++ q[15] = x_15; ++ q[16] = x_16; ++ q[17] = x_17; ++ q[18] = x_18; ++ q[19] = x_19; ++ ++ q[20] = x_20; ++ q[21] = x_21; ++ q[22] = x_22; ++ q[23] = x_23; ++ q[24] = x_24; ++ q[25] = x_25; ++ q[26] = x_26; ++ q[27] = x_27; ++ q[28] = x_28; ++ q[29] = x_29; ++ ++ q[30] = x_30; ++ q[31] = x_31; ++ q[32] = x_32; ++ q[33] = x_33; ++ q[34] = x_34; ++ q[35] = x_35; ++ q[36] = x_36; ++ q[37] = x_37; ++ q[38] = x_38; ++ q[39] = x_39; ++ ++ q[40] = x_40; ++ q[41] = x_41; ++ q[42] = x_42; ++ q[43] = x_43; ++ q[44] = x_44; ++ q[45] = x_45; ++ q[46] = x_46; ++ q[47] = x_47; ++ q[48] = x_48; ++ q[49] = x_49; ++} ++ ++/* { dg-final { scan-assembler {\mxsadddp\M} } } */ ++/* { dg-final { scan-assembler {\mstxsdx\M} } } */ ++/* { dg-final { scan-assembler-not {\mmfvsrd\M} } } */ +Index: gcc/testsuite/gcc.target/powerpc/pr80510-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr80510-2.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr80510-2.c (.../branches/gcc-7-branch) +@@ -0,0 +1,212 @@ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_p8vector_ok } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++/* { dg-options "-mcpu=power8 -O2" } */ ++ ++/* Make sure that STXSSPX is generated for float scalars in Altivec registers ++ on power7 instead of moving the value to a FPR register and doing a X-FORM ++ store. */ ++ ++#ifndef TYPE ++#define TYPE float ++#endif ++ ++#ifndef TYPE_IN ++#define TYPE_IN TYPE ++#endif ++ ++#ifndef TYPE_OUT ++#define TYPE_OUT TYPE ++#endif ++ ++#ifndef ITYPE ++#define ITYPE long ++#endif ++ ++#ifdef DO_CALL ++extern ITYPE get_bits (ITYPE); ++ ++#else ++#define get_bits(X) (X) ++#endif ++ ++void test (ITYPE *bits, ITYPE n, TYPE one, TYPE_IN *p, TYPE_OUT *q) ++{ ++ TYPE x_00 = p[ 0]; ++ TYPE x_01 = p[ 1]; ++ TYPE x_02 = p[ 2]; ++ TYPE x_03 = p[ 3]; ++ TYPE x_04 = p[ 4]; ++ TYPE x_05 = p[ 5]; ++ TYPE x_06 = p[ 6]; ++ TYPE x_07 = p[ 7]; ++ TYPE x_08 = p[ 8]; ++ TYPE x_09 = p[ 9]; ++ ++ TYPE x_10 = p[10]; ++ TYPE x_11 = p[11]; ++ TYPE x_12 = p[12]; ++ TYPE x_13 = p[13]; ++ TYPE x_14 = p[14]; ++ TYPE x_15 = p[15]; ++ TYPE x_16 = p[16]; ++ TYPE x_17 = p[17]; ++ TYPE x_18 = p[18]; ++ TYPE x_19 = p[19]; ++ ++ TYPE x_20 = p[20]; ++ TYPE x_21 = p[21]; ++ TYPE x_22 = p[22]; ++ TYPE x_23 = p[23]; ++ TYPE x_24 = p[24]; ++ TYPE x_25 = p[25]; ++ TYPE x_26 = p[26]; ++ TYPE x_27 = p[27]; ++ TYPE x_28 = p[28]; ++ TYPE x_29 = p[29]; ++ ++ TYPE x_30 = p[30]; ++ TYPE x_31 = p[31]; ++ TYPE x_32 = p[32]; ++ TYPE x_33 = p[33]; ++ TYPE x_34 = p[34]; ++ TYPE x_35 = p[35]; ++ TYPE x_36 = p[36]; ++ TYPE x_37 = p[37]; ++ TYPE x_38 = p[38]; ++ TYPE x_39 = p[39]; ++ ++ TYPE x_40 = p[40]; ++ TYPE x_41 = p[41]; ++ TYPE x_42 = p[42]; ++ TYPE x_43 = p[43]; ++ TYPE x_44 = p[44]; ++ TYPE x_45 = p[45]; ++ TYPE x_46 = p[46]; ++ TYPE x_47 = p[47]; ++ TYPE x_48 = p[48]; ++ TYPE x_49 = p[49]; ++ ++ ITYPE i; ++ ++ for (i = 0; i < n; i++) ++ { ++ ITYPE bit = get_bits (bits[i]); ++ ++ if ((bit & ((ITYPE)1) << 0) != 0) x_00 += one; ++ if ((bit & ((ITYPE)1) << 1) != 0) x_01 += one; ++ if ((bit & ((ITYPE)1) << 2) != 0) x_02 += one; ++ if ((bit & ((ITYPE)1) << 3) != 0) x_03 += one; ++ if ((bit & ((ITYPE)1) << 4) != 0) x_04 += one; ++ if ((bit & ((ITYPE)1) << 5) != 0) x_05 += one; ++ if ((bit & ((ITYPE)1) << 6) != 0) x_06 += one; ++ if ((bit & ((ITYPE)1) << 7) != 0) x_07 += one; ++ if ((bit & ((ITYPE)1) << 8) != 0) x_08 += one; ++ if ((bit & ((ITYPE)1) << 9) != 0) x_09 += one; ++ ++ if ((bit & ((ITYPE)1) << 10) != 0) x_10 += one; ++ if ((bit & ((ITYPE)1) << 11) != 0) x_11 += one; ++ if ((bit & ((ITYPE)1) << 12) != 0) x_12 += one; ++ if ((bit & ((ITYPE)1) << 13) != 0) x_13 += one; ++ if ((bit & ((ITYPE)1) << 14) != 0) x_14 += one; ++ if ((bit & ((ITYPE)1) << 15) != 0) x_15 += one; ++ if ((bit & ((ITYPE)1) << 16) != 0) x_16 += one; ++ if ((bit & ((ITYPE)1) << 17) != 0) x_17 += one; ++ if ((bit & ((ITYPE)1) << 18) != 0) x_18 += one; ++ if ((bit & ((ITYPE)1) << 19) != 0) x_19 += one; ++ ++ if ((bit & ((ITYPE)1) << 20) != 0) x_20 += one; ++ if ((bit & ((ITYPE)1) << 21) != 0) x_21 += one; ++ if ((bit & ((ITYPE)1) << 22) != 0) x_22 += one; ++ if ((bit & ((ITYPE)1) << 23) != 0) x_23 += one; ++ if ((bit & ((ITYPE)1) << 24) != 0) x_24 += one; ++ if ((bit & ((ITYPE)1) << 25) != 0) x_25 += one; ++ if ((bit & ((ITYPE)1) << 26) != 0) x_26 += one; ++ if ((bit & ((ITYPE)1) << 27) != 0) x_27 += one; ++ if ((bit & ((ITYPE)1) << 28) != 0) x_28 += one; ++ if ((bit & ((ITYPE)1) << 29) != 0) x_29 += one; ++ ++ if ((bit & ((ITYPE)1) << 30) != 0) x_30 += one; ++ if ((bit & ((ITYPE)1) << 31) != 0) x_31 += one; ++ if ((bit & ((ITYPE)1) << 32) != 0) x_32 += one; ++ if ((bit & ((ITYPE)1) << 33) != 0) x_33 += one; ++ if ((bit & ((ITYPE)1) << 34) != 0) x_34 += one; ++ if ((bit & ((ITYPE)1) << 35) != 0) x_35 += one; ++ if ((bit & ((ITYPE)1) << 36) != 0) x_36 += one; ++ if ((bit & ((ITYPE)1) << 37) != 0) x_37 += one; ++ if ((bit & ((ITYPE)1) << 38) != 0) x_38 += one; ++ if ((bit & ((ITYPE)1) << 39) != 0) x_39 += one; ++ ++ if ((bit & ((ITYPE)1) << 40) != 0) x_40 += one; ++ if ((bit & ((ITYPE)1) << 41) != 0) x_41 += one; ++ if ((bit & ((ITYPE)1) << 42) != 0) x_42 += one; ++ if ((bit & ((ITYPE)1) << 43) != 0) x_43 += one; ++ if ((bit & ((ITYPE)1) << 44) != 0) x_44 += one; ++ if ((bit & ((ITYPE)1) << 45) != 0) x_45 += one; ++ if ((bit & ((ITYPE)1) << 46) != 0) x_46 += one; ++ if ((bit & ((ITYPE)1) << 47) != 0) x_47 += one; ++ if ((bit & ((ITYPE)1) << 48) != 0) x_48 += one; ++ if ((bit & ((ITYPE)1) << 49) != 0) x_49 += one; ++ } ++ ++ q[ 0] = x_00; ++ q[ 1] = x_01; ++ q[ 2] = x_02; ++ q[ 3] = x_03; ++ q[ 4] = x_04; ++ q[ 5] = x_05; ++ q[ 6] = x_06; ++ q[ 7] = x_07; ++ q[ 8] = x_08; ++ q[ 9] = x_09; ++ ++ q[10] = x_10; ++ q[11] = x_11; ++ q[12] = x_12; ++ q[13] = x_13; ++ q[14] = x_14; ++ q[15] = x_15; ++ q[16] = x_16; ++ q[17] = x_17; ++ q[18] = x_18; ++ q[19] = x_19; ++ ++ q[20] = x_20; ++ q[21] = x_21; ++ q[22] = x_22; ++ q[23] = x_23; ++ q[24] = x_24; ++ q[25] = x_25; ++ q[26] = x_26; ++ q[27] = x_27; ++ q[28] = x_28; ++ q[29] = x_29; ++ ++ q[30] = x_30; ++ q[31] = x_31; ++ q[32] = x_32; ++ q[33] = x_33; ++ q[34] = x_34; ++ q[35] = x_35; ++ q[36] = x_36; ++ q[37] = x_37; ++ q[38] = x_38; ++ q[39] = x_39; ++ ++ q[40] = x_40; ++ q[41] = x_41; ++ q[42] = x_42; ++ q[43] = x_43; ++ q[44] = x_44; ++ q[45] = x_45; ++ q[46] = x_46; ++ q[47] = x_47; ++ q[48] = x_48; ++ q[49] = x_49; ++} ++ ++/* { dg-final { scan-assembler {\mxsaddsp\M} } } */ ++/* { dg-final { scan-assembler {\mstxsspx\M} } } */ ++/* { dg-final { scan-assembler-not {\mmfvsrd\M} } } */ ++/* { dg-final { scan-assembler-not {\mmfvsrwz\M} } } */ +Index: gcc/testsuite/gcc.target/powerpc/pr80718.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr80718.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr80718.c (.../branches/gcc-7-branch) +@@ -0,0 +1,298 @@ ++/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_p8vector_ok } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++/* { dg-options "-mcpu=power8 -O3 -ffast-math" } */ ++ ++/* Taken from the Spec 2006 milc brenchmark. Ultimately, GCC wants to generate ++ a DF splat from offsettable memory. The register allocator decided it was ++ better to do the load in the GPR registers and do a move direct, rather than ++ doing a load in the VSX register sets. */ ++ ++typedef struct ++{ ++ double real; ++ double imag; ++} complex; ++ ++typedef struct ++{ ++ double real; ++ double imag; ++} double_complex; ++ ++complex cmplx (double x, double y); ++complex cadd (complex * a, complex * b); ++complex cmul (complex * a, complex * b); ++complex csub (complex * a, complex * b); ++complex cdiv (complex * a, complex * b); ++complex conjg (complex * a); ++complex ce_itheta (double theta); ++ ++double_complex dcmplx (double x, double y); ++double_complex dcadd (double_complex * a, double_complex * b); ++double_complex dcmul (double_complex * a, double_complex * b); ++double_complex dcsub (double_complex * a, double_complex * b); ++double_complex dcdiv (double_complex * a, double_complex * b); ++double_complex dconjg (double_complex * a); ++double_complex dcexp (double_complex * a); ++double_complex dclog (double_complex * a); ++double_complex dcsqrt (double_complex * z); ++double_complex dce_itheta (double theta); ++ ++typedef struct ++{ ++ unsigned long r0, r1, r2, r3, r4, r5, r6; ++ unsigned long multiplier, addend, ic_state; ++ double scale; ++} double_prn; ++ ++double myrand (double_prn * prn_pt); ++ ++typedef struct ++{ ++ complex e[3][3]; ++} su3_matrix; ++ ++typedef struct ++{ ++ complex c[3]; ++} su3_vector; ++ ++typedef struct ++{ ++ complex m01, m02, m12; ++ double m00im, m11im, m22im; ++ double space; ++} anti_hermitmat; ++ ++typedef struct ++{ ++ complex e[2][2]; ++} su2_matrix; ++typedef struct ++{ ++ su3_vector d[4]; ++} wilson_vector; ++typedef struct ++{ ++ su3_vector h[2]; ++} half_wilson_vector; ++typedef struct ++{ ++ wilson_vector c[3]; ++} color_wilson_vector; ++typedef struct ++{ ++ wilson_vector d[4]; ++} spin_wilson_vector; ++typedef struct ++{ ++ color_wilson_vector d[4]; ++} wilson_matrix; ++typedef struct ++{ ++ spin_wilson_vector c[3]; ++} wilson_propagator; ++ ++void mult_su3_nn (su3_matrix * a, su3_matrix * b, su3_matrix * c); ++void mult_su3_na (su3_matrix * a, su3_matrix * b, su3_matrix * c); ++void mult_su3_an (su3_matrix * a, su3_matrix * b, su3_matrix * c); ++double realtrace_su3 (su3_matrix * a, su3_matrix * b); ++complex trace_su3 (su3_matrix * a); ++complex complextrace_su3 (su3_matrix * a, su3_matrix * b); ++complex det_su3 (su3_matrix * a); ++void add_su3_matrix (su3_matrix * a, su3_matrix * b, su3_matrix * c); ++void sub_su3_matrix (su3_matrix * a, su3_matrix * b, su3_matrix * c); ++void scalar_mult_su3_matrix (su3_matrix * src, double scalar, ++ su3_matrix * dest); ++void scalar_mult_add_su3_matrix (su3_matrix * src1, su3_matrix * src2, ++ double scalar, su3_matrix * dest); ++void scalar_mult_sub_su3_matrix (su3_matrix * src1, su3_matrix * src2, ++ double scalar, su3_matrix * dest); ++void c_scalar_mult_su3mat (su3_matrix * src, complex * scalar, ++ su3_matrix * dest); ++void c_scalar_mult_add_su3mat (su3_matrix * src1, su3_matrix * src2, ++ complex * scalar, su3_matrix * dest); ++void c_scalar_mult_sub_su3mat (su3_matrix * src1, su3_matrix * src2, ++ complex * scalar, su3_matrix * dest); ++void su3_adjoint (su3_matrix * a, su3_matrix * b); ++void make_anti_hermitian (su3_matrix * m3, anti_hermitmat * ah3); ++void random_anti_hermitian (anti_hermitmat * mat_antihermit, ++ double_prn * prn_pt); ++void uncompress_anti_hermitian (anti_hermitmat * mat_anti, su3_matrix * mat); ++void compress_anti_hermitian (su3_matrix * mat, anti_hermitmat * mat_anti); ++void clear_su3mat (su3_matrix * dest); ++void su3mat_copy (su3_matrix * a, su3_matrix * b); ++void dumpmat (su3_matrix * m); ++ ++void su3_projector (su3_vector * a, su3_vector * b, su3_matrix * c); ++complex su3_dot (su3_vector * a, su3_vector * b); ++double su3_rdot (su3_vector * a, su3_vector * b); ++double magsq_su3vec (su3_vector * a); ++void su3vec_copy (su3_vector * a, su3_vector * b); ++void dumpvec (su3_vector * v); ++void clearvec (su3_vector * v); ++ ++void mult_su3_mat_vec (su3_matrix * a, su3_vector * b, su3_vector * c); ++void mult_su3_mat_vec_sum (su3_matrix * a, su3_vector * b, su3_vector * c); ++void mult_su3_mat_vec_sum_4dir (su3_matrix * a, su3_vector * b0, ++ su3_vector * b1, su3_vector * b2, ++ su3_vector * b3, su3_vector * c); ++void mult_su3_mat_vec_nsum (su3_matrix * a, su3_vector * b, su3_vector * c); ++void mult_adj_su3_mat_vec (su3_matrix * a, su3_vector * b, su3_vector * c); ++void mult_adj_su3_mat_vec_4dir (su3_matrix * a, su3_vector * b, ++ su3_vector * c); ++void mult_adj_su3_mat_4vec (su3_matrix * mat, su3_vector * src, ++ su3_vector * dest0, su3_vector * dest1, ++ su3_vector * dest2, su3_vector * dest3); ++void mult_adj_su3_mat_vec_sum (su3_matrix * a, su3_vector * b, ++ su3_vector * c); ++void mult_adj_su3_mat_vec_nsum (su3_matrix * a, su3_vector * b, ++ su3_vector * c); ++ ++void add_su3_vector (su3_vector * a, su3_vector * b, su3_vector * c); ++void sub_su3_vector (su3_vector * a, su3_vector * b, su3_vector * c); ++void sub_four_su3_vecs (su3_vector * a, su3_vector * b1, su3_vector * b2, ++ su3_vector * b3, su3_vector * b4); ++ ++void scalar_mult_su3_vector (su3_vector * src, double scalar, ++ su3_vector * dest); ++void scalar_mult_add_su3_vector (su3_vector * src1, su3_vector * src2, ++ double scalar, su3_vector * dest); ++void scalar_mult_sum_su3_vector (su3_vector * src1, su3_vector * src2, ++ double scalar); ++void scalar_mult_sub_su3_vector (su3_vector * src1, su3_vector * src2, ++ double scalar, su3_vector * dest); ++void scalar_mult_wvec (wilson_vector * src, double s, wilson_vector * dest); ++void scalar_mult_hwvec (half_wilson_vector * src, double s, ++ half_wilson_vector * dest); ++void scalar_mult_add_wvec (wilson_vector * src1, wilson_vector * src2, ++ double scalar, wilson_vector * dest); ++void scalar_mult_addtm_wvec (wilson_vector * src1, wilson_vector * src2, ++ double scalar, wilson_vector * dest); ++void c_scalar_mult_wvec (wilson_vector * src1, complex * phase, ++ wilson_vector * dest); ++void c_scalar_mult_add_wvec (wilson_vector * src1, wilson_vector * src2, ++ complex * phase, wilson_vector * dest); ++void c_scalar_mult_add_wvec2 (wilson_vector * src1, wilson_vector * src2, ++ complex s, wilson_vector * dest); ++void c_scalar_mult_su3vec (su3_vector * src, complex * phase, ++ su3_vector * dest); ++void c_scalar_mult_add_su3vec (su3_vector * v1, complex * phase, ++ su3_vector * v2); ++void c_scalar_mult_sub_su3vec (su3_vector * v1, complex * phase, ++ su3_vector * v2); ++ ++void left_su2_hit_n (su2_matrix * u, int p, int q, su3_matrix * link); ++void right_su2_hit_a (su2_matrix * u, int p, int q, su3_matrix * link); ++void dumpsu2 (su2_matrix * u); ++void mult_su2_mat_vec_elem_n (su2_matrix * u, complex * x0, complex * x1); ++void mult_su2_mat_vec_elem_a (su2_matrix * u, complex * x0, complex * x1); ++ ++void mult_mat_wilson_vec (su3_matrix * mat, wilson_vector * src, ++ wilson_vector * dest); ++void mult_su3_mat_hwvec (su3_matrix * mat, half_wilson_vector * src, ++ half_wilson_vector * dest); ++void mult_adj_mat_wilson_vec (su3_matrix * mat, wilson_vector * src, ++ wilson_vector * dest); ++void mult_adj_su3_mat_hwvec (su3_matrix * mat, half_wilson_vector * src, ++ half_wilson_vector * dest); ++ ++void add_wilson_vector (wilson_vector * src1, wilson_vector * src2, ++ wilson_vector * dest); ++void sub_wilson_vector (wilson_vector * src1, wilson_vector * src2, ++ wilson_vector * dest); ++double magsq_wvec (wilson_vector * src); ++complex wvec_dot (wilson_vector * src1, wilson_vector * src2); ++complex wvec2_dot (wilson_vector * src1, wilson_vector * src2); ++double wvec_rdot (wilson_vector * a, wilson_vector * b); ++ ++void wp_shrink (wilson_vector * src, half_wilson_vector * dest, ++ int dir, int sign); ++void wp_shrink_4dir (wilson_vector * a, half_wilson_vector * b1, ++ half_wilson_vector * b2, half_wilson_vector * b3, ++ half_wilson_vector * b4, int sign); ++void wp_grow (half_wilson_vector * src, wilson_vector * dest, ++ int dir, int sign); ++void wp_grow_add (half_wilson_vector * src, wilson_vector * dest, ++ int dir, int sign); ++void grow_add_four_wvecs (wilson_vector * a, half_wilson_vector * b1, ++ half_wilson_vector * b2, half_wilson_vector * b3, ++ half_wilson_vector * b4, int sign, int sum); ++void mult_by_gamma (wilson_vector * src, wilson_vector * dest, int dir); ++void mult_by_gamma_left (wilson_matrix * src, wilson_matrix * dest, int dir); ++void mult_by_gamma_right (wilson_matrix * src, wilson_matrix * dest, int dir); ++void mult_swv_by_gamma_l (spin_wilson_vector * src, spin_wilson_vector * dest, ++ int dir); ++void mult_swv_by_gamma_r (spin_wilson_vector * src, spin_wilson_vector * dest, ++ int dir); ++void su3_projector_w (wilson_vector * a, wilson_vector * b, su3_matrix * c); ++void clear_wvec (wilson_vector * dest); ++void copy_wvec (wilson_vector * src, wilson_vector * dest); ++void dump_wilson_vec (wilson_vector * src); ++ ++double gaussian_rand_no (double_prn * prn_pt); ++typedef int int32type; ++typedef unsigned int u_int32type; ++void byterevn (int32type w[], int n); ++ ++void ++mult_adj_su3_mat_vec (su3_matrix * a, su3_vector * b, su3_vector * c) ++{ ++ int i; ++ register double t, ar, ai, br, bi, cr, ci; ++ for (i = 0; i < 3; i++) ++ { ++ ar = a->e[0][i].real; ++ ai = a->e[0][i].imag; ++ ++ br = b->c[0].real; ++ bi = b->c[0].imag; ++ ++ cr = ar * br; ++ t = ai * bi; ++ cr += t; ++ ++ ci = ar * bi; ++ t = ai * br; ++ ci -= t; ++ ++ ar = a->e[1][i].real; ++ ai = a->e[1][i].imag; ++ ++ br = b->c[1].real; ++ bi = b->c[1].imag; ++ ++ t = ar * br; ++ cr += t; ++ t = ai * bi; ++ cr += t; ++ ++ t = ar * bi; ++ ci += t; ++ t = ai * br; ++ ci -= t; ++ ++ ar = a->e[2][i].real; ++ ai = a->e[2][i].imag; ++ ++ br = b->c[2].real; ++ bi = b->c[2].imag; ++ ++ t = ar * br; ++ cr += t; ++ t = ai * bi; ++ cr += t; ++ ++ t = ar * bi; ++ ci += t; ++ t = ai * br; ++ ci -= t; ++ ++ c->c[i].real = cr; ++ c->c[i].imag = ci; ++ } ++} ++ ++/* { dg-final { scan-assembler-not "mtvsrd" } } */ +Index: gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-2.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-2.c (.../branches/gcc-7-branch) +@@ -0,0 +1,28 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target arm_cortex_m } */ ++/* { dg-require-effective-target arm_thumb2_ok } */ ++/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { "-mcpu=*" } { "-mcpu=cortex-m4" "-mcpu=cortex-m7" } } */ ++/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */ ++/* { dg-options "-march=armv7e-m -mfloat-abi=hard -O2 -mthumb -mslow-flash-data" } */ ++ ++float f (float); ++ ++const float max = 0.01f; ++ ++int ++g (float in) ++{ ++ if (f (in) + f (in) < max) ++ return 0; ++ return 1; ++} ++ ++double foo (void) ++{ ++ return 0xF1EC7A5239123AF; ++} ++ ++double bar (void) ++{ ++ return 0.0f; ++} +Index: gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-3.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-3.c (.../branches/gcc-7-branch) +@@ -0,0 +1,25 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target arm_cortex_m } */ ++/* { dg-require-effective-target arm_thumb2_ok } */ ++/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { "-mcpu=*" } { "-mcpu=cortex-m4" "-mcpu=cortex-m7" } } */ ++/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */ ++/* { dg-options "-march=armv7e-m -mfloat-abi=hard -mthumb -mslow-flash-data" } */ ++ ++/* From PR71607 */ ++ ++float b; ++void fn1 (); ++ ++float ++fn2 () ++{ ++ return 1.1f; ++} ++ ++void ++fn3 () ++{ ++ float a[2]; ++ a[1] = b; ++ fn1 (a); ++} +Index: gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-4.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-4.c (.../branches/gcc-7-branch) +@@ -0,0 +1,26 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target arm_cortex_m } */ ++/* { dg-require-effective-target arm_thumb2_ok } */ ++/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { "-mcpu=*" } { "-mcpu=cortex-m4" "-mcpu=cortex-m7" } } */ ++/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */ ++/* { dg-options "-march=armv7e-m -mfloat-abi=hard -O2 -mthumb -mslow-flash-data" } */ ++ ++double __attribute__ ((target ("fpu=fpv5-d16"))) ++foo (void) ++{ ++ return 1.0f; ++} ++ ++float __attribute__ ((target ("fpu=fpv5-d16"))) ++bar (void) ++{ ++ return 1.0f; ++} ++ ++float __attribute__ ((target ("fpu=fpv5-sp-d16"))) ++baz (void) ++{ ++ return 1.0f; ++} ++ ++/* { dg-final { scan-assembler-times "#1\\.0e\\+0" 3 } } */ +Index: gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-5.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-5.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-5.c (.../branches/gcc-7-branch) +@@ -0,0 +1,14 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target arm_cortex_m } */ ++/* { dg-require-effective-target arm_thumb2_ok } */ ++/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { "-mcpu=*" } { "-mcpu=cortex-m4" "-mcpu=cortex-m7" } } */ ++/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */ ++/* { dg-options "-march=armv7e-m -mfloat-abi=hard -O2 -mthumb -mslow-flash-data" } */ ++ ++double __attribute__ ((target ("fpu=fpv5-sp-d16"))) ++foo (void) ++{ ++ return 1.0f; ++} ++ ++/* { dg-final { scan-assembler-not "#1\\.0e\\+0" } } */ +Index: gcc/testsuite/gcc.target/arm/tls-disable-literal-pool.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/arm/tls-disable-literal-pool.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/arm/tls-disable-literal-pool.c (.../branches/gcc-7-branch) +@@ -0,0 +1,14 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target tls_native } */ ++/* { dg-require-effective-target arm_cortex_m } */ ++/* { dg-require-effective-target arm_thumb2_ok } */ ++/* { dg-options "-mslow-flash-data" } */ ++ ++__thread int x = 0; ++ ++int ++bar () ++{ ++ return x; /* { dg-message "sorry, unimplemented: accessing thread-local storage is not currently supported with -mpure-code or -mslow-flash-data" } */ ++} ++ +Index: gcc/testsuite/gcc.target/s390/pr80725.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/s390/pr80725.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/s390/pr80725.c (.../branches/gcc-7-branch) +@@ -0,0 +1,26 @@ ++/* Regression test for PR/80725. */ ++ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -march=zEC12" } */ ++ ++int a, e; ++const char b; ++char c; ++const int d; ++void bar (short); ++ ++void ++foo (int x, int y) ++{ ++ long f = d; ++ short g = 0; ++ while (e) ++ while (a < x) ++ { ++ if (y) ++ goto *d; ++ g = b | b + g; ++ bar (g); ++ c = (char) (long) foo; ++ } ++} +Index: gcc/testsuite/gcc.target/sparc/sparc-ret-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/sparc/sparc-ret-3.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/sparc/sparc-ret-3.c (.../branches/gcc-7-branch) +@@ -0,0 +1,53 @@ ++/* PR target/80968 */ ++/* { dg-do compile } */ ++/* { dg-skip-if "no register windows" { *-*-* } { "-mflat" } { "" } } */ ++/* { dg-require-effective-target ilp32 } */ ++/* { dg-options "-mcpu=ultrasparc -O" } */ ++ ++/* Make sure references to the stack frame do not slip into the delay slot ++ of a return instruction. */ ++ ++struct crypto_shash { ++ unsigned int descsize; ++}; ++struct crypto_shash *tfm; ++ ++struct shash_desc { ++ struct crypto_shash *tfm; ++ unsigned int flags; ++ ++ void *__ctx[] __attribute__((aligned(8))); ++}; ++ ++static inline unsigned int crypto_shash_descsize(struct crypto_shash *tfm) ++{ ++ return tfm->descsize; ++} ++ ++static inline void *shash_desc_ctx(struct shash_desc *desc) ++{ ++ return desc->__ctx; ++} ++ ++#define SHASH_DESC_ON_STACK(shash, ctx) \ ++ char __##shash##_desc[sizeof(struct shash_desc) + \ ++ crypto_shash_descsize(ctx)] __attribute__((aligned(8))); \ ++ struct shash_desc *shash = (struct shash_desc *)__##shash##_desc ++ ++extern int crypto_shash_update(struct shash_desc *, const void *, unsigned int); ++ ++unsigned int bug(unsigned int crc, const void *address, unsigned int length) ++{ ++ SHASH_DESC_ON_STACK(shash, tfm); ++ unsigned int *ctx = (unsigned int *)shash_desc_ctx(shash); ++ int err; ++ ++ shash->tfm = tfm; ++ shash->flags = 0; ++ *ctx = crc; ++ ++ err = crypto_shash_update(shash, address, length); ++ ++ return *ctx; ++} ++/* { dg-final { scan-assembler "ld\[ \t\]*\\\[%i5\\+8\\\], %i0\n\[^\n\]*return\[ \t\]*%i7\\+8" } } */ +Index: gcc/testsuite/gcc.target/sparc/overflow-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/sparc/overflow-4.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/sparc/overflow-4.c (.../branches/gcc-7-branch) +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O" } */ ++/* { dg-options "-O -mno-vis3" } */ + /* { dg-require-effective-target lp64 } */ + + #include +Index: gcc/testsuite/gcc.target/sparc/niagara7-align.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/sparc/niagara7-align.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/sparc/niagara7-align.c (.../branches/gcc-7-branch) +@@ -0,0 +1,4 @@ ++/* { dg-do compile } */ ++/* { dg-options "-falign-functions -mcpu=niagara7" } */ ++/* { dg-final { scan-assembler "\.align 64" } } */ ++void foo(void) {} +Index: gcc/testsuite/gcc.target/i386/pr22152.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr22152.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr22152.c (.../branches/gcc-7-branch) +@@ -1,18 +1,18 @@ +-/* { dg-do compile } */ ++/* { dg-do compile { target ia32 } } */ + /* { dg-options "-O2 -msse2 -mtune=core2" } */ + /* { dg-additional-options "-mno-vect8-ret-in-mem" { target *-*-vxworks* } } */ +-/* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */ + + #include + ++typedef __SIZE_TYPE__ size_t; ++ + __m64 +-unsigned_add3 (const __m64 * a, const __m64 * b, unsigned int count) ++unsigned_add3 (const __m64 * a, const __m64 * b, size_t count) + { +- __m64 sum; +- unsigned int i; ++ __m64 sum = { 0, 0 }; + +- for (i = 1; i < count; i++) +- sum = _mm_add_si64 (a[i], b[i]); ++ if (count > 0) ++ sum = _mm_add_si64 (a[count-1], b[count-1]); + + return sum; + } +Index: gcc/testsuite/gcc.target/i386/pr80706.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr80706.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr80706.c (.../branches/gcc-7-branch) +@@ -0,0 +1,30 @@ ++/* PR target/80706 */ ++/* { dg-do run { target sse2_runtime } } */ ++/* { dg-options "-O2 -msse2" } */ ++ ++union U { double value; struct S { int lsw; int msw; } parts; }; ++ ++__attribute__((noinline, noclone)) double ++foo (void) ++{ ++ __asm volatile ("" : : : "memory"); ++ return 2.0; ++} ++ ++__attribute__((noinline, noclone)) double ++bar (void) ++{ ++ double s = foo (); ++ union U z; ++ z.value = s; ++ z.parts.lsw = 0; ++ return z.value * z.value + s * s; ++} ++ ++int ++main () ++{ ++ if (bar () != 8.0) ++ __builtin_abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/i386/pr81015.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr81015.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr81015.c (.../branches/gcc-7-branch) +@@ -0,0 +1,21 @@ ++/* { dg-do run } */ ++/* { dg-options "-O2 -mlzcnt" } */ ++/* { dg-require-effective-target lzcnt } */ ++ ++#include "lzcnt-check.h" ++ ++int ++__attribute__ ((noinline, noclone)) ++foo (unsigned short a) ++{ ++ return __builtin_clz (a); ++} ++ ++static void ++lzcnt_test () ++{ ++ int res = foo (1); ++ ++ if (res != 31) ++ abort (); ++} +Index: gcc/testsuite/gcc.target/i386/pr59874-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr59874-1.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr59874-1.c (.../branches/gcc-7-branch) +@@ -6,5 +6,5 @@ + unsigned int + foo (unsigned short x) + { +- return x ? __builtin_ctz (x) : 16U; ++ return x ? __builtin_ctzs (x) : 16U; + } +Index: gcc/testsuite/gcc.target/i386/pr59874-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr59874-2.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr59874-2.c (.../branches/gcc-7-branch) +@@ -6,5 +6,5 @@ + unsigned int + foo (unsigned short x) + { +- return x ? __builtin_clz (x) : 16U; ++ return x ? __builtin_clzs (x) : 16U; + } +Index: gcc/testsuite/gfortran.dg/gomp/pr80918.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/gomp/pr80918.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/gomp/pr80918.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,10 @@ ++! PR fortran/80918 ++! { dg-do compile } ++ ++subroutine foo (a) ++ integer :: a(*) ++ !$omp task depend(inout:a) ++ !$omp end task ++ !$omp task depend(inout:a) ++ !$omp end task ++end subroutine foo +Index: gcc/testsuite/gfortran.dg/pr80752.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr80752.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr80752.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,20 @@ ++! { dg-do compile } ++! PR fortran/80752 ++module exchange_utils ++ ++ implicit none ++ ++ integer, parameter, public :: knd = 8 ++ ++ type, private :: a ++ logical :: add_vs98 = 0.0_knd ! { dg-error "Can't convert" } ++ end type a ++ ++ type, private :: x_param_t ++ type(a) :: m05_m06 ++ end type x_param_t ++ ++ type(x_param_t), public, save :: x_param ++ ++end module exchange_utils ++ +Index: gcc/testsuite/gfortran.dg/read_3.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/read_3.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/read_3.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,13 @@ ++! { dg-do run } ++! PR80727 Crash of runtime gfortran library during integer transformation ++! Note: before the patch this was giving an incorrect EOR error on READ. ++program gfortran_710_io_bug ++ character str*4 ++ integer(4) :: i4 ++ str ='' ++ i = 256 ++ write(str,fmt='(a)') i ++ i = 0 ++ read ( unit=str(1:4), fmt='(a)' ) i4 ++ if (i4.ne.256) call abort ++end program gfortran_710_io_bug +Index: gcc/testsuite/gfortran.dg/dtio_30.f03 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/dtio_30.f03 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/dtio_30.f03 (.../branches/gcc-7-branch) +@@ -0,0 +1,60 @@ ++! { dg-do run } ++! PR80333 Namelist dtio write of array of class does not traverse the array ++! This test checks both NAMELIST WRITE and READ of an array of class ++module m ++ implicit none ++ type :: t ++ character :: c ++ character :: d ++ contains ++ procedure :: read_formatted ++ generic :: read(formatted) => read_formatted ++ procedure :: write_formatted ++ generic :: write(formatted) => write_formatted ++ end type t ++contains ++ subroutine read_formatted(dtv, unit, iotype, v_list, iostat, iomsg) ++ class(t), intent(inout) :: dtv ++ integer, intent(in) :: unit ++ character(*), intent(in) :: iotype ++ integer, intent(in) :: v_list(:) ++ integer, intent(out) :: iostat ++ character(*), intent(inout) :: iomsg ++ integer :: i ++ read(unit,'(a1,a1)', iostat=iostat, iomsg=iomsg) dtv%c, dtv%d ++ end subroutine read_formatted ++ ++ subroutine write_formatted(dtv, unit, iotype, v_list, iostat, iomsg) ++ class(t), intent(in) :: dtv ++ integer, intent(in) :: unit ++ character(*), intent(in) :: iotype ++ integer, intent(in) :: v_list(:) ++ integer, intent(out) :: iostat ++ character(*), intent(inout) :: iomsg ++ write(unit,'(a1,a1)', iostat=iostat, iomsg=iomsg) dtv%c, dtv%d ++ end subroutine write_formatted ++end module m ++ ++program p ++ use m ++ implicit none ++ class(t), dimension(:,:), allocatable :: w ++ namelist /nml/ w ++ integer :: unit, iostatus ++ character(256) :: str = "" ++ ++ open(10, status='scratch') ++ allocate(w(10,3)) ++ w = t('j','r') ++ w(5:7,2)%c='k' ++ write(10, nml) ++ rewind(10) ++ w = t('p','z') ++ read(10, nml) ++ write(str,*) w ++ if (str.ne." jr jr jr jr jr jr jr jr jr jr jr jr jr jr kr kr kr jr jr jr jr jr jr jr jr jr jr jr jr jr") & ++ & call abort ++ str = "" ++ write(str,"(*(DT))") w ++ if (str.ne."jrjrjrjrjrjrjrjrjrjrjrjrjrjrkrkrkrjrjrjrjrjrjrjrjrjrjrjrjrjr") call abort ++end program p +Index: gcc/testsuite/gfortran.dg/namelist_93.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/namelist_93.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/namelist_93.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,16 @@ ++! { dg-do compile } ++! PR78659 Spurious "requires DTIO" reported against namelist statement ++MODULE ma ++ IMPLICIT NONE ++ TYPE :: ta ++ INTEGER, allocatable :: array(:) ++ END TYPE ta ++END MODULE ma ++ ++PROGRAM p ++ USE ma ++ class(ta), allocatable :: x ++ NAMELIST /nml/ x ++ WRITE (*, nml)! { dg-error "is polymorphic and requires a defined input/output procedure" } ++ READ (*, nml) ! { dg-error "is polymorphic and requires a defined input/output procedure" } ++END PROGRAM p +Index: gcc/testsuite/gfortran.dg/namelist_92.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/namelist_92.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/namelist_92.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,16 @@ ++! { dg-do compile } ++! PR78659 Spurious "requires DTIO" reported against namelist statement ++MODULE ma ++ IMPLICIT NONE ++ TYPE :: ta ++ INTEGER, allocatable :: array(:) ++ END TYPE ta ++END MODULE ma ++ ++PROGRAM p ++ USE ma ++ type(ta):: x ++ NAMELIST /nml/ x ++ WRITE (*, nml) ! { dg-error "has ALLOCATABLE or POINTER components and thus requires a defined input/output" } ++ READ (*, nml) ! { dg-error "has ALLOCATABLE or POINTER components and thus requires a defined input/output" } ++END PROGRAM p +Index: gcc/testsuite/gfortran.dg/proc_ptr_comp_49.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/proc_ptr_comp_49.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/proc_ptr_comp_49.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,21 @@ ++! { dg-do compile } ++! ++! PR 80392: [5/6/7 Regression] [OOP] ICE with allocatable polymorphic function result in a procedure pointer component ++! ++! Contributed by ++ ++module mwe ++ ++ implicit none ++ ++ type :: MyType ++ procedure(my_op), nopass, pointer :: op ++ end type ++ ++contains ++ ++ function my_op() result(foo) ++ class(MyType), allocatable :: foo ++ end function ++ ++end module +Index: gcc/testsuite/gfortran.dg/namelist_91.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/namelist_91.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/namelist_91.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,9 @@ ++! { dg-do compile } ++! PR78659 Spurious "requires DTIO" reported against namelist statement ++program p ++ type t ++ integer :: k ++ end type ++ class(t), allocatable :: x ++ namelist /nml/ x ++end +Index: gcc/testsuite/gfortran.dg/inline_matmul_18.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/inline_matmul_18.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/inline_matmul_18.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,16 @@ ++! { dg-do run } ++! { dg-options "-O -finline-matmul-limit=100 -fdump-tree-optimized" } ++! PR 80975 - this did not zero the result array in the library version; ++! make sure this also doesn't happen in the inline version. ++program bogus_matmul ++ implicit none ++ real :: M(3,0), v(0), w(3) ++ ++ w = 7 ++ w = matmul(M,v) ++ if( any(w .ne. 0) ) then ++ call abort ++ end if ++end program bogus_matmul ++! { dg-final { scan-tree-dump-times "matmul_r4" 0 "optimized" } } ++ +Index: gcc/testsuite/gfortran.dg/matmul_bounds_12.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/matmul_bounds_12.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/matmul_bounds_12.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,17 @@ ++! { dg-do run } ++program main ++ real, dimension(3,2) :: a ++ real, dimension(3) :: bp ++ real, dimension(3) :: res1 ++ real, dimension(:), allocatable :: c3 ++ real, dimension(2) :: res2 ++ ++ data a /-2., 3., -5., 7., -11., 13./ ++ data bp /-23., -31., -41./ ++ data res2 /158., -353./ ++ ++ c3 = matmul(bp,a) ++ if (size(c3,1) /= 2) call abort ++ if (any(c3 /= res2)) call abort ++ ++end program main +Index: gcc/testsuite/gfortran.dg/typebound_call_28.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/typebound_call_28.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/typebound_call_28.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,37 @@ ++! { dg-do compile } ++! ++! PR 80766: [7/8 Regression] [OOP] ICE with type-bound procedure returning an array ++! ++! Contributed by Vladimir Fuka ++ ++module m1 ++ ++ type :: base ++ contains ++ procedure :: fun ++ end type ++ ++ type, extends(base) :: child ++ end type ++ ++contains ++ ++ function fun(o) result(res) ++ real :: res(3) ++ class(base) :: o ++ res = 0 ++ end function ++end module ++ ++ ++module m2 ++contains ++ ++ subroutine sub(o) ++ use m1 ++ class(child) :: o ++ real :: res(3) ++ ++ res = o%fun() ++ end subroutine ++end module +Index: gcc/testsuite/gfortran.dg/intent_out_9.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/intent_out_9.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/intent_out_9.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,27 @@ ++! { dg-do compile } ++! { dg-options "-fdump-tree-original" } ++! ++! PR 80121: Memory leak with derived-type intent(out) argument ++! ++! Contributed by Andrew Wood ++ ++PROGRAM p ++ IMPLICIT NONE ++ TYPE t1 ++ INTEGER, ALLOCATABLE :: i(:) ++ END TYPE ++ call leak ++ CONTAINS ++ SUBROUTINE s1(e) ++ TYPE(t1), ALLOCATABLE, INTENT(OUT) :: e(:) ++ ALLOCATE( e(1) ) ++ ALLOCATE( e(1)%i(2) ) ++ END SUBROUTINE ++ SUBROUTINE leak ++ TYPE(t1), ALLOCATABLE :: e(:) ++ CALL s1(e) ++ CALL s1(e) ++ END SUBROUTINE ++END PROGRAM ++ ++! { dg-final { scan-tree-dump-times "__builtin_free" 6 "original" } } +Index: gcc/testsuite/gfortran.dg/dtio_29.f03 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/dtio_29.f03 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/dtio_29.f03 (.../branches/gcc-7-branch) +@@ -0,0 +1,47 @@ ++! { dg-do compile } ++! PR80484 Three syntax errors involving derived-type I/O ++module dt_write_mod ++ type, public :: B_type ++ real :: amount ++ end type B_type ++ interface write (formatted) ++ procedure :: Write_b ++ end interface ++contains ++ ++subroutine Write_b & ++ (amount, unit, b_edit_descriptor, v_list, iostat, iomsg) ++ ++ class (B_type), intent(in) :: amount ++ integer, intent(in) :: unit ++ character (len=*), intent(in) :: b_edit_descriptor ++ integer, dimension(:), intent(in) :: v_list ++ integer, intent(out) :: iostat ++ character (len=*), intent(inout) :: iomsg ++ write (unit=unit, fmt="(f9.3)", iostat=iostat) amount%amount ++ ++end subroutine Write_b ++ ++end module dt_write_mod ++ ++program test ++ use dt_write_mod, only: B_type , write(formatted) ++ implicit none ++ ++ real :: wage = 15.10 ++ integer :: ios ++ character(len=99) :: iom = "OK" ++ ++ write (unit=*, fmt="(DT'$$$Z.##')", iostat=ios, iomsg=iom) & ++ B_type(wage), B_type(wage) ++ print *, trim(iom) ++ write (unit=*, fmt="(2DT'$$$Z.##')", iostat=ios, iomsg=iom) & ++ B_type(wage), B_type(wage) ++ print *, trim(iom) ++ write (unit=*, fmt="(3DT'$$$Z.##')", iostat=ios, iomsg=iom) & ++ B_type(wage), B_type(wage) ++ print *, trim(iom) ++ write (unit=*, fmt="(DT'$$$Z.##'/)", iostat=ios, iomsg=iom) & ++ B_type(wage), B_type(wage) ++ print *, trim(iom) ++end program test +Index: gcc/testsuite/gfortran.dg/read_4.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/read_4.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/read_4.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,35 @@ ++! { dg-do run } ++! PR80741 wrong code causes incorrect behaviour of namelist READ ++program p ++ use, intrinsic :: iso_fortran_env, only: iostat_end ++ implicit none ++ integer :: x, y, ios, io ++ character(10) :: line ++ namelist /test/ x, y ++ ++ x = 10 ++ y = 10 ++ ios = 0 ++ io = 10 ++ open(unit=io, status='scratch') ++ write(io, test) ++ write(io, *) 'done' ++ rewind(io) ++ x = 0 ++ y = 0 ++ read(io, test) ++ if (x.ne.10 .or. y.ne.10) call abort ++ ! ++ read(io, *) line ++ if (line.ne.'done') call abort ++ ! ++ read(io, *, iostat=ios) line ++ if (ios/=iostat_end) call abort ++ rewind(io) ++ x = 0 ++ y = 0 ++ read(io, test) ++ if (x.ne.10 .or. y.ne.10) call abort ++ read(io, *, iostat=ios) line ++ if (line.ne.'done') call abort ++end +Index: gcc/testsuite/gfortran.dg/proc_ptr_comp_50.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/proc_ptr_comp_50.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/proc_ptr_comp_50.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,26 @@ ++! { dg-do compile } ++! ++! PR 70601: [5/6/7 Regression] [OOP] ICE on procedure pointer component call ++! ++! Contributed by zmi ++ ++program test ++ implicit none ++ ++ type :: concrete_type ++ procedure (run_concrete_type), pointer :: run ++ end type ++ ++ type(concrete_type), allocatable :: concrete ++ ++ allocate(concrete) ++ concrete % run => run_concrete_type ++ call concrete % run() ++ ++contains ++ ++ subroutine run_concrete_type(this) ++ class(concrete_type) :: this ++ end subroutine ++ ++end +Index: gcc/testsuite/gfortran.dg/namelist_94.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/namelist_94.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/namelist_94.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,32 @@ ++! { dg-do compile } ++! PR78659 Spurious "requires DTIO" reported against namelist statement ++MODULE m ++ IMPLICIT NONE ++ TYPE :: t ++ CHARACTER :: c ++ CONTAINS ++ PROCEDURE :: write_formatted ++ GENERIC :: WRITE(FORMATTED) => write_formatted ++ END TYPE ++CONTAINS ++ SUBROUTINE write_formatted(dtv, unit, iotype, v_list, iostat, iomsg) ++ CLASS(t), INTENT(IN) :: dtv ++ INTEGER, INTENT(IN) :: unit ++ CHARACTER(*), INTENT(IN) :: iotype ++ INTEGER, INTENT(IN) :: v_list(:) ++ INTEGER, INTENT(OUT) :: iostat ++ CHARACTER(*), INTENT(INOUT) :: iomsg ++ WRITE (unit, "(A)", IOSTAT=iostat, IOMSG=iomsg) dtv%c ++ print *, "what" ++ END SUBROUTINE ++END MODULE ++ ++PROGRAM p ++ USE m ++ IMPLICIT NONE ++ class(t), allocatable :: x ++ NAMELIST /nml/ x ++ x = t('a') ++ WRITE (*, nml) ++ READ (*, nml) ! { dg-error "is polymorphic and requires a defined input/output procedure" } ++END +Index: gcc/testsuite/gfortran.dg/matmul_16.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/matmul_16.f90 (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/matmul_16.f90 (.../branches/gcc-7-branch) +@@ -0,0 +1,13 @@ ++! { dg-do run } ++! { dg-options "-finline-matmul-limit=0" } ++! PR 80975 - this did not zero the result array ++program bogus_matmul ++ implicit none ++ real :: M(3,0), v(0), w(3) ++ ++ w = 7 ++ w = matmul(M,v) ++ if( any(w .ne. 0) ) then ++ call abort ++ end if ++end program bogus_matmul +Index: gcc/testsuite/gnat.dg/specs/not_null1.ads +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/specs/not_null1.ads (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gnat.dg/specs/not_null1.ads (.../branches/gcc-7-branch) +@@ -0,0 +1,11 @@ ++-- { dg-do compile } ++ ++package Not_Null1 is ++ type T is null record; ++ type T_Access is access all T; ++ ++ procedure Proc (This : in not null T_Access) is null; ++ ++ type Proc_Access is access procedure (This : in not null T_Access); ++ PA : Proc_Access := Proc'Access; ++end Not_Null1; +Index: gcc/testsuite/gcc.dg/pr80468.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr80468.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr80468.c (.../branches/gcc-7-branch) +@@ -0,0 +1,10 @@ ++/* PR c/80468 */ ++/* { dg-do compile { target { ! int128 } } } */ ++/* { dg-options "" } */ ++ ++void ++foo (void) ++{ ++ __attribute__ ((__vector_size__ (4 * sizeof (unsigned)))) __int128 b; /* { dg-error "is not supported on this target" } */ ++ 0 != b; ++} +Index: gcc/testsuite/gcc.dg/asan/pr80659.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/asan/pr80659.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.dg/asan/pr80659.c (.../branches/gcc-7-branch) +@@ -0,0 +1,13 @@ ++/* PR sanitizer/80659 */ ++/* { dg-do compile } */ ++ ++void ++foo (int a) ++{ ++ switch (a) ++ { ++ case 0: ++ (int[3]) { }; ++ int h; ++ } ++} +Index: gcc/testsuite/gcc.dg/graphite/pr80906.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/graphite/pr80906.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.dg/graphite/pr80906.c (.../branches/gcc-7-branch) +@@ -0,0 +1,28 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -floop-nest-optimize -fdump-tree-graphite" } */ ++ ++int qc; ++ ++int ++ec (int lh[][2]) ++{ ++ const int jv = 3; ++ int zf, hp, c5 = 0, m3 = 1; ++ ++ for (zf = 0; zf < jv; ++zf) ++ for (hp = 0; hp < jv; ++hp) ++ { ++ short int bm = 0; ++ ++ for (qc = 0; qc < jv; ++qc) ++ --bm; ++ if (bm != 0) ++ --c5; ++ lh[0][0] = 0; ++ m3 *= jv; ++ } ++ ++ return c5 + m3; ++} ++ ++/* { dg-final { scan-tree-dump "isl AST to Gimple succeeded" "graphite" } } */ +Index: gcc/testsuite/gcc.dg/pr80903.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr80903.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr80903.c (.../branches/gcc-7-branch) +@@ -0,0 +1,34 @@ ++/* PR rtl-optimization/80903 */ ++/* { dg-do compile } */ ++/* { dg-options "-O3 -funroll-loops" } */ ++ ++short int a; ++ ++void ++foo (int x, short int y, short int z) ++{ ++ if (y != 0) ++ { ++ const short int b = 37; ++ y = 0; ++ while (y < b) ++ { ++ while (y < b) ++ { ++ lab: ++ ++y; ++ } ++ for (y = 0; y < b - 1; ++y) ++ ; ++ if (z != 0) ++ { ++ --a; ++ y *= a; ++ } ++ z = x; ++ } ++ x = 0; ++ } ++ ++ goto lab; ++} +Index: gcc/testsuite/gcc.dg/torture/pr80549.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr80549.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr80549.c (.../branches/gcc-7-branch) +@@ -0,0 +1,33 @@ ++/* { dg-do run } */ ++ ++signed char a, b; ++int c; ++short d; ++void fn1(int p1) ++{ ++ short e = 4; ++ int f; ++ d = 0; ++ for (; d <= 0; d++) ++ e = 0; ++ if (e) ++ goto L1; ++L2: ++ if (p1) { ++ a = 9; ++ for (; a; ++a) { ++ f = 5; ++ for (; f != 32; ++f) ++ c = 8; ++L1: ++ if (b) ++ goto L2; ++ } ++ } ++} ++ ++int main() ++{ ++ fn1(1); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/torture/pr80539.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr80539.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr80539.c (.../branches/gcc-7-branch) +@@ -0,0 +1,22 @@ ++/* { dg-do compile } */ ++ ++signed char a, b; ++void fn1() ++{ ++ signed char c, e; ++ short d; ++ if (0) { ++ for (; d;) { ++l1: ++ for (c = 7; a; c++) ++ ; ++ e = 6; ++ for (; b; e++) ++ ; ++ } ++ c -= e; ++ } ++ if (d == 7) ++ goto l1; ++ a = c; ++} +Index: gcc/testsuite/gcc.dg/torture/pr80842.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr80842.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr80842.c (.../branches/gcc-7-branch) +@@ -0,0 +1,23 @@ ++/* { dg-do compile } */ ++ ++unsigned a; ++short b; ++char c, d, e; ++void fn1(); ++void fn2() { ++ a++; ++ for (; a;) ++ fn1(0, 0); ++} ++void fn3() { ++ fn2(); ++l1:; ++ unsigned char f; ++ short g; ++ unsigned char *h = &f; ++ g += &h ? e ? g = 1 : 0 : 0; ++ d = g; ++ c *f; ++ if (d & (b %= *h) < f * d / (d -= 0)) ++ goto l1; ++} +Index: gcc/testsuite/gcc.dg/pr80492.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr80492.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr80492.c (.../branches/gcc-7-branch) +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-w -O2 -fdump-tree-optimized" } */ ++ ++static __inline__ __attribute__((__always_inline__)) ++void syscall_7 (int val) ++{ ++ register int reg __asm ("4") = val; ++ __asm __volatile__ ("/* Some Code %0 */" :: "r" (reg)); ++} ++ ++void do_syscalls (void) ++{ ++ for (int s = 0; s < 2; s++) ++ { ++ syscall_7 (0); ++ syscall_7 (1); ++ } ++} ++ ++/* { dg-final { scan-tree-dump-times "reg = " 4 "optimized" } } */ +Index: gcc/testsuite/gcc.dg/vect/bb-slp-pr80705.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/vect/bb-slp-pr80705.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.dg/vect/bb-slp-pr80705.c (.../branches/gcc-7-branch) +@@ -0,0 +1,44 @@ ++/* { dg-do compile } */ ++/* { dg-require-profiling "-fprofile-generate" } */ ++/* { dg-additional-options "-fprofile-generate" } */ ++ ++extern int isspace (int); ++ ++int foo(const char *txt, char *buf) ++{ ++ const char *s; ++ char *d; ++ int ws = 1; ++ for (s=txt, d=buf; *s; ) ++ { ++ if (*s=='/' && *(s+1)=='/') { ++ ++ s += 2; ++ while (*s && *s!='\r' && *s!='\n') ++ s++; ++ } ++ else if (*s=='"') { ++ ++ s++; ++ while (*s && *s!='\r' && *s!='\n' && *s!='"') ++ if (*s++=='\\') ++ s++; ++ if (*s=='"') ++ s++; ++ } ++ else { ++ if (*s && !isspace(*s)) ++ ws = 0; ++ ++ ++ *d++ = *s++; ++ ++ } ++ } ++ *d = '\0'; ++ ++ return ws; ++} ++ ++/* { dg-final { scan-tree-dump "base object not addressable" "slp1" } } */ ++/* { dg-final { scan-tree-dump-not "MEM\[^\r\n\]*__gcov\[^\r\n\]* = vect_cst" "slp1" } } */ +Index: gcc/testsuite/gcc.dg/format/pr80919.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/format/pr80919.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/gcc.dg/format/pr80919.c (.../branches/gcc-7-branch) +@@ -0,0 +1,16 @@ ++/* PR c/80919 */ ++/* { dg-do compile } */ ++/* { dg-options "-Wall" } */ ++ ++void ++fn (void) ++{ ++ int a[0]; ++ __builtin_printf("%d\n", &a); /* { dg-warning "expects argument of type" } */ ++ __builtin_printf("%i\n", &a); /* { dg-warning "expects argument of type" } */ ++ ++ __builtin_printf("%o\n", &a); /* { dg-warning "expects argument of type" } */ ++ __builtin_printf("%u\n", &a); /* { dg-warning "expects argument of type" } */ ++ __builtin_printf("%x\n", &a); /* { dg-warning "expects argument of type" } */ ++ __builtin_printf("%X\n", &a); /* { dg-warning "expects argument of type" } */ ++} +Index: gcc/testsuite/ChangeLog +=================================================================== +--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,307 @@ ++2017-06-14 Eric Botcazou ++ ++ * gcc.target/sparc/overflow-4.c: Add -mno-vis3. ++ ++2017-06-09 Janus Weil ++ ++ Backport from trunk ++ PR fortran/70601 ++ * gfortran.dg/proc_ptr_comp_50.f90: New test. ++ ++2017-06-08 Uros Bizjak ++ ++ PR target/81015 ++ * gcc.target/i386/pr59874-1.c (foo): Call __builtin_ctzs. ++ * gcc.target/i386/pr59874-2.c (foo): Call __builtin_clzs. ++ * gcc.target/i386/pr81015.c: New test. ++ ++2017-06-08 Jakub Jelinek ++ ++ PR c/81006 ++ * c-c++-common/gomp/pr81006.c: New test. ++ ++ PR c++/81011 ++ * g++.dg/gomp/pr81011.C: New test. ++ ++2017-06-07 Richard Biener ++ ++ Backport from mainline ++ 2017-05-02 Richard Biener ++ ++ PR tree-optimization/80549 ++ * gcc.dg/torture/pr80549.c: New testcase. ++ ++ 2017-05-19 Richard Biener ++ ++ PR c++/80593 ++ * g++.dg/warn/Wstrict-aliasing-bogus-char-2.C: New testcase. ++ * g++.dg/warn/Wstrict-aliasing-6.C: Adjust expected outcome. ++ ++ 2017-05-26 Richard Biener ++ ++ PR tree-optimization/80842 ++ * gcc.dg/torture/pr80842.c: New testcase. ++ ++ 2017-05-31 Richard Biener ++ ++ PR tree-optimization/80906 ++ * gcc.dg/graphite/pr80906.c: New testcase. ++ ++ 2017-05-11 Richard Biener ++ ++ PR tree-optimization/80705 ++ * gcc.dg/vect/bb-slp-pr80705.c: New testcase. ++ ++2017-06-07 Marek Polacek ++ ++ Backport from mainline ++ 2017-06-04 Marek Polacek ++ ++ PR c/80919 ++ * gcc.dg/format/pr80919.c: New test. ++ ++2017-06-06 Michael Meissner ++ ++ Back port from mainline ++ 2017-05-19 Michael Meissner ++ ++ PR target/80718 ++ * gcc.target/powerpc/pr80718.c: New test. ++ ++2017-06-06 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/80975 ++ * gfortran.dg/matmul_16.f90: New test. ++ * gfortran.dg/inline_matmul_18.f90: New test. ++ ++2017-06-06 David S. Miller ++ ++ * gcc.target/sparc/sparc-ret-3.c: New test. ++ ++2017-06-05 Janus Weil ++ ++ Backport from trunk ++ PR fortran/80766 ++ * gfortran.dg/typebound_call_28.f90: New test. ++ ++2017-06-02 Thomas Koenig ++ ++ PR fortran/80904 ++ * gfortran.dg/matmul_bounds_12.f90: New test. ++ ++2017-06-02 Prakhar Bahuguna ++ ++ Backport from mainline ++ 2017-05-05 Andre Vieira ++ Prakhar Bahuguna ++ ++ PR target/71607 ++ * gcc.target/arm/thumb2-slow-flash-data.c: Renamed to ... ++ * gcc.target/arm/thumb2-slow-flash-data-1.c: ... this. ++ * gcc.target/arm/thumb2-slow-flash-data-2.c: New. ++ * gcc.target/arm/thumb2-slow-flash-data-3.c: New. ++ * gcc.target/arm/thumb2-slow-flash-data-4.c: New. ++ * gcc.target/arm/thumb2-slow-flash-data-5.c: New. ++ * gcc.target/arm/tls-disable-literal-pool.c: New. ++ ++2017-06-02 Jakub Jelinek ++ ++ PR rtl-optimization/80903 ++ * gcc.dg/pr80903.c: New test. ++ ++ PR fortran/80918 ++ * gfortran.dg/gomp/pr80918.f90: New test. ++ ++2017-05-31 Martin Jambor ++ ++ Backport from mainline ++ 2017-04-24 Martin Jambor ++ ++ PR tree-optimization/80293 ++ * g++.dg/tree-ssa/pr80293.C: New test. ++ ++2017-05-29 Andreas Krebbel ++ ++ Backport from mainline ++ 2017-05-24 Andreas Krebbel ++ ++ * gcc.target/s390/pr80725.c: New test. ++ ++2017-05-26 Marek Polacek ++ ++ Backported from mainline ++ 2017-05-17 Marek Polacek ++ ++ PR sanitizer/80659 ++ * gcc.dg/asan/pr80659.c: New test. ++ ++2017-05-26 Marek Polacek ++ ++ Backported from mainline ++ 2017-05-26 Marek Polacek ++ ++ PR sanitizer/80875 ++ * c-c++-common/ubsan/pr80875.c: New test. ++ ++2017-05-25 Michael Meissner ++ ++ Backport from trunk ++ 2017-05-18 Michael Meissner ++ ++ PR target/80510 ++ * gcc.target/powerpc/pr80510-1.c: New test. ++ * gcc.target/powerpc/pr80510-2.c: Likewise. ++ ++ Backport from trunk ++ 2017-05-09 Michael Meissner ++ ++ PR target/68163 ++ * gcc.target/powerpc/pr68163.c: New test. ++ ++2017-05-23 Jerry DeLisle ++ ++ Backport from trunk ++ PR libgfortran/80741 ++ * gfortran.dg/read_4.f90: New test. ++ ++2017-05-23 Jerry DeLisle ++ ++ Backport from trunk ++ PR libgfortran/80333 ++ * gfortran.dg/dtio_30.f03: New test. ++ ++2017-05-23 Sheldon Lobo ++ ++ Backport from mainline ++ 2017-05-18 Sheldon Lobo ++ ++ * gcc.target/sparc/niagara7-align.c: New test. ++ ++2017-05-23 Jerry DeLisle ++ ++ Backport from trunk ++ PR libgfortran/80333 ++ * gfortran.dg/dtio_30.f03: New test. ++ ++2017-05-22 Bill Schmidt ++ ++ Backport from mainline ++ 2017-05-22 Bill Schmidt ++ ++ * gcc.target/powerpc/p8-vec-xl-xst.c: Fix target string to ++ LE-only. ++ ++2017-05-22 Pierre-Marie de Rodat ++ ++ * gnat.dg/specs/not_null1.ads: New test. ++ ++2017-05-19 Uros Bizjak ++ ++ Backport from mainline ++ 2017-05-18 Uros Bizjak ++ ++ PR target/80799 ++ * g++.dg/other/i386-11.C: New test. ++ ++2017-05-17 Jerry DeLisle ++ ++ Backport from trunk ++ PR libgfortran/80727 ++ * gfortran.dg/read_3.f90: New test. ++ ++2017-05-17 Jerry DeLisle ++ ++ Backport from trunk ++ PR fortran/78659 ++ * gfortran.dg/namelist_91.f90: New test. ++ * gfortran.dg/namelist_92.f90: New test. ++ * gfortran.dg/namelist_93.f90: New test. ++ * gfortran.dg/namelist_94.f90: New test. ++ ++2017-05-15 Steven G. Kargl ++ ++ PR fortran/80752 ++ gfortran.dg/pr80752.f90: New test. ++ ++2017-05-14 Uros Bizjak ++ ++ Backport from mainline ++ 2017-05-11 Uros Bizjak ++ Jakub Jelinek ++ ++ PR target/80706 ++ * gcc.target/i386/pr80706.c: New test. ++ ++ 2017-05-11 Uros Bizjak ++ ++ * gcc.target/i386/pr22152.c: Fix undefined testcase. ++ Remove unnecessary loop. Run on 32-bit targets only. ++ ++2017-05-13 Bill Schmidt ++ ++ Backport from mainline ++ 2017-05-05 Bill Schmidt ++ ++ * gcc.target/powerpc/versioned-copy-loop.c: New file. ++ ++2017-05-12 Bill Schmidt ++ ++ Backport from mainline ++ 2017-05-10 Bill Schmidt ++ ++ * gcc.target/powerpc/p8-vec-xl-xst.c: New file. ++ ++2017-05-09 Michael Meissner ++ ++ Back port from mainline ++ 2017-05-05 Michael Meissner ++ ++ PR target/79038 ++ PR target/79202 ++ PR target/79203 ++ * gcc.target/powerpc/ppc-round3.c: New test. ++ * gcc.target/powerpc/ppc-round2.c: Update expected code. ++ ++2017-05-05 Janus Weil ++ ++ Backport from trunk ++ PR fortran/80121 ++ * gfortran.dg/intent_out_9.f90: New test case. ++ ++2017-05-05 Janus Weil ++ ++ Backport from trunk ++ PR fortran/80392 ++ * gfortran.dg/proc_ptr_comp_49.f90: New test case. ++ ++2017-05-04 Jerry DeLisle ++ ++ Backport from mainline ++ PR fortran/80484 ++ * gfortran.dg/dtio_29.f03: New test. ++ ++2017-05-03 Richard Biener ++ ++ Backport from mainline ++ 2017-04-25 Richard Biener ++ ++ PR tree-optimization/80492 ++ * gcc.dg/pr80492.c: New testcase. ++ ++ 2017-04-27 Richard Biener ++ ++ PR middle-end/80539 ++ * gcc.dg/torture/pr80539.c: New testcase. ++ ++2017-05-03 Jakub Jelinek ++ ++ Backported from mainline ++ 2017-04-21 Jakub Jelinek ++ ++ PR c/80468 ++ * gcc.dg/pr80468.c: New test. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +@@ -52,8 +356,8 @@ + Backport from mainline + 2017-04-25 Andreas Krebbel + +- PR target/80464 +- * gfortran.fortran-torture/compile/pr80464.f90: New test. ++ PR target/80464 ++ * gfortran.fortran-torture/compile/pr80464.f90: New test. + + 2017-04-25 Andreas Krebbel + +@@ -60,8 +364,8 @@ + Backport from mainline + 2017-04-25 Andreas Krebbel + +- PR target/79895 +- * gcc.target/s390/pr79895.c: New test. ++ PR target/79895 ++ * gcc.target/s390/pr79895.c: New test. + + 2017-04-25 Dominik Vogt + +@@ -68,10 +372,10 @@ + Backport from maineline + 2017-04-25 Dominik Vogt + +- PR target/80080 +- * gcc.target/s390/md/atomic_compare_exchange-1.c: New test. +- * gcc.target/s390/md/atomic_compare_exchange-1.inc: New test. +- * gcc.target/s390/md/atomic_exchange-1.inc: New test. ++ PR target/80080 ++ * gcc.target/s390/md/atomic_compare_exchange-1.c: New test. ++ * gcc.target/s390/md/atomic_compare_exchange-1.inc: New test. ++ * gcc.target/s390/md/atomic_exchange-1.inc: New test. + + 2017-04-25 Jakub Jelinek + +@@ -132,7 +436,7 @@ + * gcc.dg/torture/pr80341.c: Require int32plus. + + 2017-04-19 Eric Botcazou +- Jeff Law ++ Jeff Law + + * gcc.c-torture/compile/20170419-1.c: New test. + +Index: gcc/testsuite/g++.dg/cpp0x/constexpr-diag3.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-diag3.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-diag3.C (.../branches/gcc-7-branch) +@@ -16,7 +16,7 @@ + struct complex // { dg-message "no constexpr constructor" } + { + complex(double r, double i) : re(r), im(i) { } +- constexpr double real() const { return re; } // { dg-error "not a literal type" } ++ constexpr double real() const { return re; } // { dg-error "not a literal type" "" { target c++11_only } } + double imag() const { return im; } + + private: +@@ -25,7 +25,7 @@ + }; + + constexpr complex co1(0, 1); // { dg-error "not literal" } +-constexpr double dd2 = co1.real(); // { dg-error "non-constexpr function" } ++constexpr double dd2 = co1.real(); // { dg-error "" } + + // -------------------- + +Index: gcc/testsuite/g++.dg/cpp0x/constexpr-data1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-data1.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-data1.C (.../branches/gcc-7-branch) +@@ -36,7 +36,7 @@ + { + public: + explicit debug_flag(bool); +- constexpr bool is_on(); // { dg-error "enclosing class .* not a literal type" } ++ constexpr bool is_on(); // { dg-error "enclosing class .* not a literal type" "" { target c++11_only } } + private: + bool flag; + }; +Index: gcc/testsuite/g++.dg/cpp0x/constexpr-neg1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-neg1.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-neg1.C (.../branches/gcc-7-branch) +@@ -45,7 +45,7 @@ + class debug_flag { + public: + explicit debug_flag(bool); +- constexpr bool is_on(); // { dg-error "not a literal type" } debug_flag not literal type ++ constexpr bool is_on(); // { dg-error "not a literal type" "" { target c++11_only } } debug_flag not literal type + private: + bool flag; + }; +Index: gcc/testsuite/g++.dg/cpp0x/inh-ctor27.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/inh-ctor27.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/inh-ctor27.C (.../branches/gcc-7-branch) +@@ -0,0 +1,13 @@ ++// PR c++/70844 ++// { dg-options -Wuseless-cast } ++// { dg-do compile { target c++11 } } ++ ++struct base { ++ base (int const &); ++}; ++ ++struct derived : public base { ++ using base::base; ++}; ++ ++derived d(0); +Index: gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C (.../branches/gcc-7-branch) +@@ -13,6 +13,6 @@ + struct Y + { + Y() { } +- constexpr Y f(Y y); // { dg-error "not a literal type" } ++ constexpr Y f(Y y) {} // { dg-error "constexpr" } + static constexpr Y g(Y y) {} // { dg-error "constexpr" } + }; +Index: gcc/testsuite/g++.dg/cpp0x/constexpr-diag1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-diag1.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-diag1.C (.../branches/gcc-7-branch) +@@ -5,7 +5,7 @@ + struct A + { + T t; +- constexpr int f() const { return 42; } // { dg-error "enclosing class" } ++ constexpr int f() const { return 42; } // { dg-error "enclosing class" "" { target c++11_only } } + }; + + struct B { B(); operator int(); }; +@@ -13,7 +13,7 @@ + constexpr A ai = { 42 }; + constexpr int i = ai.f(); + +-constexpr int b = A().f(); // { dg-error "non-constexpr function" } ++constexpr int b = A().f(); // { dg-error "" } + + template + constexpr int f (T t) { return 42; } // { dg-error "parameter" } +Index: gcc/testsuite/g++.dg/cpp1y/auto-fn27.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1y/auto-fn27.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1y/auto-fn27.C (.../branches/gcc-7-branch) +@@ -31,7 +31,7 @@ + { + auto s = I; + typedef decltype (s) L; +- auto u =[&](L) { auto t = foo (J::K (), 0); }; // { dg-error "25:'void t' has incomplete type" } ++ auto u =[&](L) { auto t = foo (J::K (), 0); }; // { dg-error "25:declared void" } + } + struct B { + typedef int G; +Index: gcc/testsuite/g++.dg/cpp1y/constexpr-dr1684.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1y/constexpr-dr1684.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1y/constexpr-dr1684.C (.../branches/gcc-7-branch) +@@ -0,0 +1,7 @@ ++// DR 1684 ++// { dg-do compile { target c++11 } } ++ ++struct A { ++ A(int); ++ constexpr int foo() { return 0; } // { dg-error "literal" "" { target c++11_only } } ++}; +Index: gcc/testsuite/g++.dg/cpp1y/auto-fn39.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1y/auto-fn39.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1y/auto-fn39.C (.../branches/gcc-7-branch) +@@ -0,0 +1,48 @@ ++// PR c++/81045 ++// { dg-do compile { target c++14 } } ++ ++template class vectorIterator; ++ ++template class vector { ++ public: ++ auto get(unsigned int i) { return data[i]; } ++ ++ auto begin() { return vectorIterator{*this, 0}; } ++ auto end() { return vectorIterator{*this, 10}; } ++ ++ private: ++ T data[10] = {}; ++}; ++ ++template class vectorIterator { ++ public: ++ vectorIterator(vector& self, unsigned int offset) : self(self), offset(offset) {} ++ ++ auto operator*() -> T& { return self.get(offset); } ++ auto operator!=(const vectorIterator& source) -> bool { return offset != source.offset; } ++ auto operator++() -> vectorIterator& { ++offset; return *this; } ++ ++ private: ++ vector& self; ++ unsigned int offset; ++}; ++ ++class Object { ++ public: ++ template auto cast() -> T { ++ return T(); ++ } ++}; ++ ++class Group : public Object { ++ public: ++ template auto objects() const -> void { ++ vector easyObjects; ++ for(auto obj : easyObjects) { ++ auto casted = obj.cast(); ++ } ++ } ++}; ++ ++int main() { return 0; } ++ +Index: gcc/testsuite/g++.dg/cpp1z/noexcept-type15.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1z/noexcept-type15.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1z/noexcept-type15.C (.../branches/gcc-7-branch) +@@ -0,0 +1,11 @@ ++// PR c++/80384 ++// { dg-options -std=c++17 } ++ ++template struct foo; ++template ++struct foo { ++ static const bool value = B; ++}; ++ ++static_assert(!foo::value); ++static_assert(foo::value); +Index: gcc/testsuite/g++.dg/cpp1z/lambda-this3.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1z/lambda-this3.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1z/lambda-this3.C (.../branches/gcc-7-branch) +@@ -0,0 +1,10 @@ ++// { dg-options -std=c++1z } ++ ++struct S { ++ int i; ++ constexpr S() : i(5) { ++ ([*this] () { return i + 10; }()); ++ } ++ constexpr operator int() const { return i; } ++}; ++constexpr int x = S(); +Index: gcc/testsuite/g++.dg/cpp1z/noexcept-type16.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1z/noexcept-type16.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1z/noexcept-type16.C (.../branches/gcc-7-branch) +@@ -0,0 +1,11 @@ ++// PR c++/80614 ++// { dg-options -std=c++1z } ++ ++template void fn() {} ++ ++int main() { ++ // { dg-final { scan-assembler "_Z2fnIKFvvEEvv" } } ++ fn(); ++ // { dg-final { scan-assembler "_Z2fnIKDoFvvEEvv" } } ++ fn(); ++} +Index: gcc/testsuite/g++.dg/cpp1z/noexcept-type17.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1z/noexcept-type17.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1z/noexcept-type17.C (.../branches/gcc-7-branch) +@@ -0,0 +1,7 @@ ++// PR c++/80465 ++// { dg-options -std=c++1z } ++ ++int foo(...); ++int main() { ++ [](auto a) noexcept(noexcept(foo(a))){}(42); ++} +Index: gcc/testsuite/g++.dg/ext/flexary24.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ext/flexary24.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/ext/flexary24.C (.../branches/gcc-7-branch) +@@ -0,0 +1,12 @@ ++// PR c++/80179 ++// { dg-options "" } ++ ++struct S { ++ int n; ++ const char *a[]; ++}; ++ ++void bar (const char *a) ++{ ++ static const S t = { 1, { a, "b" } }; ++} +Index: gcc/testsuite/g++.dg/ext/is_std_layout1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ext/is_std_layout1.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/ext/is_std_layout1.C (.../branches/gcc-7-branch) +@@ -0,0 +1,12 @@ ++// { dg-do compile { target c++11 } } ++ ++template struct E { }; ++ ++struct E1: E<0>, E<1> { }; ++struct E2: E<2>, E<3> { }; ++ ++struct A1x { int n; }; ++struct D2: A1x, E1, E2 { }; ++ ++#define SA(X) static_assert((X),#X) ++SA(__is_standard_layout (D2)); +Index: gcc/testsuite/g++.dg/ext/is_std_layout2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ext/is_std_layout2.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/ext/is_std_layout2.C (.../branches/gcc-7-branch) +@@ -0,0 +1,6 @@ ++// { dg-do compile { target c++11 } } ++// { dg-options "" } ++ ++struct S { int a[0]; }; ++struct T : public S { int b[0]; int c; }; ++static_assert(!__is_standard_layout (T), ""); +Index: gcc/testsuite/g++.dg/gomp/pr81011.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/gomp/pr81011.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/gomp/pr81011.C (.../branches/gcc-7-branch) +@@ -0,0 +1,19 @@ ++// PR c++/81011 ++// { dg-do compile } ++ ++class A { A (const A&); }; // { dg-message "declared private here" } ++void foo (const A&); ++ ++void ++bar (A& a) ++{ ++#pragma omp task // { dg-error "is private within this context" } ++ foo (a); ++} ++ ++void ++baz (A& a) ++{ ++#pragma omp task firstprivate (a) // { dg-error "is private within this context" } ++ foo (a); ++} +Index: gcc/testsuite/g++.dg/other/i386-11.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/other/i386-11.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/other/i386-11.C (.../branches/gcc-7-branch) +@@ -0,0 +1,57 @@ ++// PR target/80799 ++// { dg-do compile { target i?86-*-* x86_64-*-* } } ++// { dg-require-effective-target c++11 } ++// { dg-options "-O2 -msse2" } ++ ++#include ++#include ++ ++class alignas(16) GSVector4i ++{ ++public: ++ __m128i m; ++ ++ explicit GSVector4i(__m128i m) ++ { ++ this->m = m; ++ } ++ ++ static void storel(void* p, const GSVector4i& v) ++ { ++ _mm_storel_epi64((__m128i*)p, v.m); ++ } ++ ++ static GSVector4i loadl(const void* p) ++ { ++ return GSVector4i(_mm_loadl_epi64((__m128i*)p)); ++ } ++ ++ bool eq(const GSVector4i& v) const ++ { ++ return _mm_movemask_epi8(_mm_cmpeq_epi32(m, v.m)) == 0xffff; ++ } ++}; ++ ++ ++union GIFRegTRXPOS ++{ ++ unsigned long long u64; ++ void operator = (const GSVector4i& v) {GSVector4i::storel(this, v);} ++ bool operator != (const union GIFRegTRXPOS& r) const {return !((GSVector4i)r).eq(*this);} ++ operator GSVector4i() const {return GSVector4i::loadl(this);} ++}; ++ ++extern void dummy_call(); ++extern GIFRegTRXPOS TRXPOS; ++ ++void GIFRegHandlerTRXPOS(const GIFRegTRXPOS& p) ++{ ++ if(p != TRXPOS) ++ { ++ dummy_call(); ++ } ++ ++ TRXPOS = (GSVector4i)p; ++} ++ ++// { dg-final { scan-assembler-not "%mm" } } +Index: gcc/testsuite/g++.dg/other/fsyntax-only1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/other/fsyntax-only1.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/other/fsyntax-only1.C (.../branches/gcc-7-branch) +@@ -0,0 +1,45 @@ ++// PR c++/80831 ++// { dg-options -fsyntax-only } ++// { dg-do compile { target c++11 } } ++ ++class A ++{ ++public: ++ virtual ~A() { } ++}; ++ ++class B { }; ++ ++class C : public A { }; ++ ++template ++class D : public C ++{ ++public: ++ D() { } ++ ~D() { } ++}; ++ ++class E ++{ ++public: ++ static E& p(); ++ B q(); ++ template ++ B q(void (J::*r)()) ++ { ++ new D(); ++ return q(); ++ } ++}; ++ ++void t() ++{ ++ class F ++ { ++ public: ++ virtual void s() { } ++ }; ++ E& x = E::p(); ++ B y = x.q(&F::s); ++} +Index: gcc/testsuite/g++.dg/tree-ssa/pr80293.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/tree-ssa/pr80293.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/tree-ssa/pr80293.C (.../branches/gcc-7-branch) +@@ -0,0 +1,45 @@ ++// { dg-do compile } ++// { dg-options "-O2 -std=gnu++11 -fdump-tree-optimized" } */ ++ ++#include ++ ++// Return a copy of the underlying memory of an arbitrary value. ++template < ++ typename T, ++ typename = typename std::enable_if::value>::type ++> ++auto getMem( ++ T const & value ++) -> std::array { ++ auto ret = std::array{}; ++ __builtin_memcpy(ret.data(), &value, sizeof(T)); ++ return ret; ++} ++ ++template < ++ typename T, ++ typename = typename std::enable_if::value>::type ++> ++auto fromMem( ++ std::array const & buf ++) -> T { ++ auto ret = T{}; ++ __builtin_memcpy(&ret, buf.data(), sizeof(T)); ++ return ret; ++} ++ ++double foo1(std::uint64_t arg) { ++ return fromMem(getMem(arg)); ++} ++ ++double foo2(std::uint64_t arg) { ++ return *reinterpret_cast(&arg); ++} ++ ++double foo3(std::uint64_t arg) { ++ double ret; ++ __builtin_memcpy(&ret, &arg, sizeof(arg)); ++ return ret; ++} ++ ++// { dg-final { scan-tree-dump-not "BIT_FIELD_REF" "optimized" } } +Index: gcc/testsuite/g++.dg/warn/Wstrict-aliasing-6.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-6.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-6.C (.../branches/gcc-7-branch) +@@ -4,6 +4,6 @@ + int foo () + { + char buf[8]; +- return *((int *)buf); /* { dg-warning "strict-aliasing" } */ ++ return *((int *)buf); /* { dg-bogus "strict-aliasing" } */ + } + +Index: gcc/testsuite/g++.dg/warn/Wunused-local-typedefs-4.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/warn/Wunused-local-typedefs-4.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/warn/Wunused-local-typedefs-4.C (.../branches/gcc-7-branch) +@@ -0,0 +1,13 @@ ++// PR c++/60063 ++// { dg-options -Wunused-local-typedefs } ++ ++template struct S; ++ ++void foo (int i) { ++ typedef __attribute__ ((used)) S X; ++} ++ ++template ++void bar (T i) { ++ typedef __attribute__ ((used)) S Y; ++} +Index: gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-char-2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-char-2.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-char-2.C (.../branches/gcc-7-branch) +@@ -0,0 +1,19 @@ ++// { dg-do compile } ++// { dg-options "-O2 -Wstrict-aliasing" } ++ ++template ++struct aligned_storage ++{ ++ union type ++ { ++ unsigned char __data[_Len]; ++ struct __attribute__((__aligned__((_Align)))) { } __align; ++ }; ++}; ++ ++aligned_storage::type storage; ++ ++int main() ++{ ++ *reinterpret_cast(&storage) = 42; // { dg-bogus "break strict-aliasing" } ++} +Index: gcc/testsuite/g++.dg/template/ptrmem31.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/ptrmem31.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/ptrmem31.C (.../branches/gcc-7-branch) +@@ -0,0 +1,23 @@ ++// PR c++/80639 ++// { dg-do compile { target c++14 } } ++ ++template < typename > struct A; ++ ++struct B ++{ ++ template < int > void m (); ++ template < int > struct K { static void n (); }; ++ void p () { K < 0 >::n (); } ++}; ++ ++template <> struct A < B > ++{ ++ using T = void (A::*)(); ++ template < int u > static constexpr T h = &B::m < u >; // { dg-error "cannot convert" } ++}; ++ ++template < int v > void B::K < v >::n () ++{ ++ using S = A < B >; ++ S::h < 0 >; ++} +Index: gcc/testsuite/g++.dg/template/ref10.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/ref10.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/ref10.C (.../branches/gcc-7-branch) +@@ -0,0 +1,13 @@ ++// PR c++/80840 ++// { dg-do compile { target c++11 } } ++ ++template ++struct Just; ++ ++template ++struct Number { ++ static constexpr double value = X; ++ using result = Just; ++}; ++ ++int main() {} +Index: gcc/testsuite/g++.dg/template/partial-specialization6.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/partial-specialization6.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/partial-specialization6.C (.../branches/gcc-7-branch) +@@ -0,0 +1,28 @@ ++// PR c++/80174 ++ ++typedef unsigned char uint8_t; ++ ++template ++struct HighestMaxFieldIdx { ++ static const uint8_t maxFieldIdx = T::fieldIdx; ++}; ++ ++template ++struct Outer { ++ ++ template ++ struct Varint {}; ++ ++ ++ template ++ struct Varint<_fieldIdx, uint8_t, field> { ++ static const uint8_t fieldIdx = _fieldIdx; ++ }; ++}; ++ ++struct Msg { ++ uint8_t a; ++ ++ static const uint8_t t ++ = HighestMaxFieldIdx::Varint<1, uint8_t, &Msg::a> >::maxFieldIdx; ++}; +Index: gcc/testsuite/g++.dg/template/nontype-array1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/nontype-array1.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/nontype-array1.C (.../branches/gcc-7-branch) +@@ -0,0 +1,27 @@ ++// { dg-do compile { target c++11 } } ++ ++template ++class Message { ++}; ++ ++extern char const s1[] = "hi"; ++char const s2[] = "hi"; ++constexpr char const s3[] = "hi"; // OK since C++11 ++ ++constexpr char const * f() { return s3; } ++ ++int main() ++{ ++ Message m1; // OK (all versions) ++ Message m2; // OK for clang since C++14, for gcc since C++17 ++ Message m3; // OK for clang/gcc since C++11 ++ ++ static char const s4[] = "hi"; ++ static constexpr char const s5[] = "hi"; // OK since C++11 ++ Message m4; // { dg-error "no linkage" "" { target c++14_down } } ++ Message m5; // { dg-error "no linkage" "" { target c++14_down } } ++ Message m6; // { dg-error "" "" { target c++14_down } } ++ ++ char const s8[] = "hi"; ++ Message m8; // { dg-error "" } ++} +Index: gcc/testsuite/g++.dg/template/partial5.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/partial5.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/partial5.C (.../branches/gcc-7-branch) +@@ -14,7 +14,7 @@ + struct Y { }; + + template +-struct Y { }; // { dg-error "" } ++struct Y { }; // { dg-error "" "" { target { ! c++1z } } } + + + template +Index: gcc/testsuite/g++.dg/template/local-fn2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/local-fn2.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/local-fn2.C (.../branches/gcc-7-branch) +@@ -0,0 +1,21 @@ ++// PR c++/80856 ++// { dg-do compile { target c++11 } } ++ ++template ++inline T WrapToCycle(T degrees) ++{ ++ int Wrap(int x, int lower_bound, int upper_bound); ++ ++ auto p = Wrap; ++ p (1, 0, 360); ++ ++ double Wrap(double x, int lower_bound, int upper_bound); ++ ++ Wrap(1, 0, 360); ++ return Wrap(degrees, 0, 360); ++} ++ ++void GenerateOldReportPage() ++{ ++ WrapToCycle(0); ++} +Index: gcc/testsuite/g++.dg/template/function1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/function1.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/function1.C (.../branches/gcc-7-branch) +@@ -1,10 +1,8 @@ + // PR c++/38647 +-// { dg-do compile { target { ! c++1z } } } +-// { dg-prune-output "note" } + + template struct A {}; + const char func[] = "abc"; +-template struct A {}; // { dg-error "cannot appear|is invalid|not a valid|constant expression" } ++template struct A {}; // { dg-error "cannot appear|is invalid|not a valid|constant expression" "" { target c++98_only } } + + char a1[1]; + A a; +Index: gcc/testsuite/g++.dg/template/partial-specialization7.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/partial-specialization7.C (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/partial-specialization7.C (.../branches/gcc-7-branch) +@@ -0,0 +1,40 @@ ++// PR c++/81102 ++ ++template ++struct HelperWrapper; ++ ++// [...] ++ ++template ++struct HelperWrapper ++{ ++ static inline int WrapFuncT(const int) ++ { ++ return 0; // Changed ++ } ++}; ++ ++// Unary ++template ++struct HelperWrapper ++{ ++ static inline int WrapFuncT(const int) ++ { ++ return 1; // Changed ++ } ++}; ++ ++// Binary ++template ++struct HelperWrapper ++{ ++ static inline int WrapFuncT(const int) ++ { ++ return 2; // Changed ++ } ++}; ++ ++int main() ++{ ++ return 0; ++} +Index: gcc/testsuite/c-c++-common/ubsan/pr80875.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/ubsan/pr80875.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/c-c++-common/ubsan/pr80875.c (.../branches/gcc-7-branch) +@@ -0,0 +1,9 @@ ++/* PR sanitizer/80875 */ ++/* { dg-do compile } */ ++/* { dg-options "-fsanitize=undefined" } */ ++ ++int ++foo (void) ++{ ++ return ~__INT_MAX__ * (0 / 0); /* { dg-warning "division by zero" } */ ++} +Index: gcc/testsuite/c-c++-common/gomp/pr81006.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/gomp/pr81006.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/testsuite/c-c++-common/gomp/pr81006.c (.../branches/gcc-7-branch) +@@ -0,0 +1,10 @@ ++/* PR c/81006 */ ++/* { dg-do compile } */ ++ ++int a[] = {}; ++ ++void foo() ++{ ++ #pragma omp task depend(out: a[:]) /* { dg-error "zero length array section in .depend. clause" } */ ++ {} ++} +Index: gcc/cp/typeck.c +=================================================================== +--- a/src/gcc/cp/typeck.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/typeck.c (.../branches/gcc-7-branch) +@@ -8499,9 +8499,10 @@ + if (rhstype == unknown_type_node) + { + tree r = instantiate_type (type, rhs, tf_warning_or_error); +- /* -fpermissive might allow this. */ ++ /* -fpermissive might allow this; recurse. */ + if (!seen_error ()) +- return r; ++ return convert_for_assignment (type, r, errtype, fndecl, ++ parmnum, complain, flags); + } + else if (fndecl) + error ("cannot convert %qT to %qT for argument %qP to %qD", +Index: gcc/cp/class.c +=================================================================== +--- a/src/gcc/cp/class.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/class.c (.../branches/gcc-7-branch) +@@ -1861,7 +1861,9 @@ + members */ + for (basefield = TYPE_FIELDS (basetype); basefield; + basefield = DECL_CHAIN (basefield)) +- if (TREE_CODE (basefield) == FIELD_DECL) ++ if (TREE_CODE (basefield) == FIELD_DECL ++ && !(DECL_FIELD_IS_BASE (basefield) ++ && integer_zerop (DECL_SIZE (basefield)))) + { + if (field) + CLASSTYPE_NON_STD_LAYOUT (t) = 1; +@@ -5758,7 +5760,9 @@ + && !TYPE_HAS_CONSTEXPR_CTOR (t)) + CLASSTYPE_LITERAL_P (t) = false; + +- if (!CLASSTYPE_LITERAL_P (t)) ++ /* C++14 DR 1684 removed this restriction. */ ++ if (cxx_dialect < cxx14 ++ && !CLASSTYPE_LITERAL_P (t) && !LAMBDA_TYPE_P (t)) + for (fn = TYPE_METHODS (t); fn; fn = DECL_CHAIN (fn)) + if (DECL_DECLARED_CONSTEXPR_P (fn) + && TREE_CODE (fn) != TEMPLATE_DECL +@@ -5766,12 +5770,11 @@ + && !DECL_CONSTRUCTOR_P (fn)) + { + DECL_DECLARED_CONSTEXPR_P (fn) = false; +- if (!DECL_GENERATED_P (fn) && !LAMBDA_TYPE_P (t)) +- { +- error ("enclosing class of constexpr non-static member " +- "function %q+#D is not a literal type", fn); +- explain_non_literal_class (t); +- } ++ if (!DECL_GENERATED_P (fn) ++ && pedwarn (DECL_SOURCE_LOCATION (fn), OPT_Wpedantic, ++ "enclosing class of constexpr non-static member " ++ "function %q+#D is not a literal type", fn)) ++ explain_non_literal_class (t); + } + } + +Index: gcc/cp/method.c +=================================================================== +--- a/src/gcc/cp/method.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/method.c (.../branches/gcc-7-branch) +@@ -486,6 +486,7 @@ + type = PACK_EXPANSION_PATTERN (type); + if (TREE_CODE (type) != REFERENCE_TYPE) + type = cp_build_reference_type (type, /*rval=*/true); ++ warning_sentinel w (warn_useless_cast); + exp = build_static_cast (type, exp, tf_warning_or_error); + if (DECL_PACK_P (parm)) + exp = make_pack_expansion (exp); +Index: gcc/cp/constexpr.c +=================================================================== +--- a/src/gcc/cp/constexpr.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/constexpr.c (.../branches/gcc-7-branch) +@@ -209,16 +209,17 @@ + } + } + +- if (DECL_NONSTATIC_MEMBER_FUNCTION_P (fun) ++ /* C++14 DR 1684 removed this restriction. */ ++ if (cxx_dialect < cxx14 ++ && DECL_NONSTATIC_MEMBER_FUNCTION_P (fun) + && !CLASSTYPE_LITERAL_P (DECL_CONTEXT (fun))) + { + ret = false; +- if (complain) +- { +- error ("enclosing class of constexpr non-static member " +- "function %q+#D is not a literal type", fun); +- explain_non_literal_class (DECL_CONTEXT (fun)); +- } ++ if (complain ++ && pedwarn (DECL_SOURCE_LOCATION (fun), OPT_Wpedantic, ++ "enclosing class of constexpr non-static member " ++ "function %q+#D is not a literal type", fun)) ++ explain_non_literal_class (DECL_CONTEXT (fun)); + } + } + else if (CLASSTYPE_VBASECLASSES (DECL_CONTEXT (fun))) +@@ -2643,8 +2644,16 @@ + /* We used to check that ctx->ctor was empty, but that isn't the case when + the object is zero-initialized before calling the constructor. */ + if (ctx->object) +- gcc_assert (same_type_ignoring_top_level_qualifiers_p +- (type, TREE_TYPE (ctx->object))); ++ { ++ tree otype = TREE_TYPE (ctx->object); ++ gcc_assert (same_type_ignoring_top_level_qualifiers_p (type, otype) ++ /* Handle flexible array members. */ ++ || (TREE_CODE (otype) == ARRAY_TYPE ++ && TYPE_DOMAIN (otype) == NULL_TREE ++ && TREE_CODE (type) == ARRAY_TYPE ++ && (same_type_ignoring_top_level_qualifiers_p ++ (TREE_TYPE (type), TREE_TYPE (otype))))); ++ } + gcc_assert (!ctx->object || !DECL_P (ctx->object) + || *(ctx->values->get (ctx->object)) == ctx->ctor); + } +@@ -5284,7 +5293,7 @@ + { + tree x = TREE_OPERAND (t, 0); + STRIP_NOPS (x); +- if (is_this_parameter (x)) ++ if (is_this_parameter (x) && !is_capture_proxy (x)) + { + if (DECL_CONTEXT (x) + && !DECL_DECLARED_CONSTEXPR_P (DECL_CONTEXT (x))) +Index: gcc/cp/ChangeLog +=================================================================== +--- a/src/gcc/cp/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,95 @@ ++2017-06-17 Jason Merrill ++ ++ PR c++/60063 - -Wunused-local-typedefs and templates. ++ * decl2.c (is_late_template_attribute): Return false for "used". ++ ++ PR c++/70844 - -Wuseless-cast and inheriting constructor. ++ * method.c (forward_parm): Suppress warn_useless_cast. ++ ++2017-06-16 Jason Merrill ++ ++ PR c++/81045 - Wrong type-dependence with auto return type. ++ * pt.c (type_dependent_expression_p): An undeduced auto outside the ++ template isn't dependent. ++ * call.c (build_over_call): Instantiate undeduced auto even in a ++ template. ++ ++ PR c++/81102 - Wrong error with partial specialization. ++ * pt.c (unify) [TEMPLATE_PARM_INDEX]: Strip reference when comparing ++ types. Do type deduction later. ++ ++ PR c++/81074 - ICE with partial specialization of member template. ++ PR c++/71747 ++ * pt.c (get_partial_spec_bindings): Only coerce innermost args. ++ ++ PR c++/80831 - ICE with -fsyntax-only. ++ * decl2.c (c_parse_final_cleanups): Use cgraph_node::get_create. ++ ++ PR c++/80639 - ICE with invalid PMF initialization. ++ PR c++/80043 - ICE with -fpermissive ++ * typeck.c (convert_for_assignment): Recurse when instantiate_type ++ returns without an error. ++ ++ PR c++/80465 - ICE with generic lambda with noexcept-specifier. ++ * lambda.c (maybe_add_lambda_conv_op): Keep processing_template_decl ++ set longer for a generic lambda. ++ ++ PR c++/80614 - Wrong mangling for C++17 noexcept type ++ * mangle.c (write_type): Put the eh spec back on the function type. ++ ++ PR c++/80384 - ICE with dependent noexcept-specifier ++ * pt.c (dependent_type_p_r) [FUNCTION_TYPE]: Check for dependent ++ noexcept-specifier. ++ ++ * parser.c (cp_parser_constant_expression): Check ++ potential_rvalue_constant_expression after decay_conversion. ++ * pt.c (convert_nontype_argument): Don't require linkage in C++17. ++ ++ * constexpr.c (potential_constant_expression_1): Allow 'this' capture. ++ ++2017-06-08 Jakub Jelinek ++ ++ PR c/81006 ++ * semantics.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE ++ to sizetype before size_binop. ++ ++ PR c++/81011 ++ * cp-gimplify.c (cxx_omp_finish_clause): When changing clause ++ to OMP_CLAUSE_SHARED, also clear OMP_CLAUSE_SHARED_FIRSTPRIVATE ++ and OMP_CLAUSE_SHARED_READONLY flags. ++ ++2017-06-05 Volker Reichelt ++ ++ * parser.c (cp_parser_base_specifier): Fix typos in error messages. ++ ++2017-05-31 Jason Merrill ++ ++ PR c++/80840 - ICE with constexpr and reference ++ * pt.c (convert_nontype_argument): Don't test whether a decl is ++ value-dependent when binding to a reference. ++ ++ PR c++/80856 - ICE with local extern in template ++ * semantics.c (finish_call_expr): Replace a local extern overload ++ set in a template with the IDENTIFIER_NODE. ++ ++ PR c++/80605 - __is_standard_layout and zero-length array ++ * class.c (check_bases): Use DECL_FIELD_IS_BASE. ++ ++ PR c++/80605 - __is_standard_layout and empty base ++ * class.c (check_bases): Ignore empty bases. ++ ++ PR c++/66297, DR 1684 - literal class and constexpr member fns ++ * constexpr.c (is_valid_constexpr_fn): Only complain about ++ non-literal enclosing class in C++11. ++ * class.c (finalize_literal_type_property): Likewise. ++ ++ PR c++/80179 - ICE with initialized flexible array member. ++ * constexpr.c (verify_ctor_sanity): Handle flexible array members. ++ ++2017-05-29 Alexandre Oliva ++ ++ * cp-tree.h (lang_identifier): Drop oracle_looked_up, unused. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +Index: gcc/cp/cp-gimplify.c +=================================================================== +--- a/src/gcc/cp/cp-gimplify.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/cp-gimplify.c (.../branches/gcc-7-branch) +@@ -1944,7 +1944,11 @@ + make_shared = true; + + if (make_shared) +- OMP_CLAUSE_CODE (c) = OMP_CLAUSE_SHARED; ++ { ++ OMP_CLAUSE_CODE (c) = OMP_CLAUSE_SHARED; ++ OMP_CLAUSE_SHARED_FIRSTPRIVATE (c) = 0; ++ OMP_CLAUSE_SHARED_READONLY (c) = 0; ++ } + } + + /* Return true if DECL's DECL_VALUE_EXPR (if any) should be +Index: gcc/cp/pt.c +=================================================================== +--- a/src/gcc/cp/pt.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/pt.c (.../branches/gcc-7-branch) +@@ -6603,7 +6603,8 @@ + expr, type, decl); + return NULL_TREE; + } +- else if (cxx_dialect >= cxx11 && decl_linkage (decl) == lk_none) ++ else if ((cxx_dialect >= cxx11 && cxx_dialect < cxx1z) ++ && decl_linkage (decl) == lk_none) + { + if (complain & tf_error) + error ("%qE is not a valid template argument of type %qT " +@@ -6610,6 +6611,38 @@ + "because %qD has no linkage", expr, type, decl); + return NULL_TREE; + } ++ /* C++17: For a non-type template-parameter of reference or pointer ++ type, the value of the constant expression shall not refer to (or ++ for a pointer type, shall not be the address of): ++ * a subobject (4.5), ++ * a temporary object (15.2), ++ * a string literal (5.13.5), ++ * the result of a typeid expression (8.2.8), or ++ * a predefined __func__ variable (11.4.1). */ ++ else if (DECL_ARTIFICIAL (decl)) ++ { ++ if (complain & tf_error) ++ error ("the address of %qD is not a valid template argument", ++ decl); ++ return NULL_TREE; ++ } ++ else if (!same_type_ignoring_top_level_qualifiers_p ++ (strip_array_types (TREE_TYPE (type)), ++ strip_array_types (TREE_TYPE (decl)))) ++ { ++ if (complain & tf_error) ++ error ("the address of the %qT subobject of %qD is not a " ++ "valid template argument", TREE_TYPE (type), decl); ++ return NULL_TREE; ++ } ++ else if (!TREE_STATIC (decl) && !DECL_EXTERNAL (decl)) ++ { ++ if (complain & tf_error) ++ error ("the address of %qD is not a valid template argument " ++ "because it does not have static storage duration", ++ decl); ++ return NULL_TREE; ++ } + } + + expr = decay_conversion (expr, complain); +@@ -6669,7 +6702,11 @@ + } + } + +- if (!value_dependent_expression_p (expr)) ++ if (TYPE_REF_OBJ_P (TREE_TYPE (expr)) ++ && value_dependent_expression_p (expr)) ++ /* OK, dependent reference. We don't want to ask whether a DECL is ++ itself value-dependent, since what we want here is its address. */; ++ else + { + if (!DECL_P (expr)) + { +@@ -6691,8 +6728,11 @@ + return NULL_TREE; + } + +- expr = build_nop (type, build_address (expr)); ++ expr = build_address (expr); + } ++ ++ if (!same_type_p (type, TREE_TYPE (expr))) ++ expr = build_nop (type, expr); + } + /* [temp.arg.nontype]/5, bullet 4 + +@@ -20563,18 +20603,6 @@ + return x; + } + +- if (cxx_dialect >= cxx1z +- /* We deduce from array bounds in try_array_deduction. */ +- && !(strict & UNIFY_ALLOW_INTEGER) +- && uses_template_parms (TREE_TYPE (parm)) +- && !type_uses_auto (TREE_TYPE (parm))) +- { +- tree atype = TREE_TYPE (arg); +- RECUR_AND_CHECK_FAILURE (tparms, targs, +- TREE_TYPE (parm), atype, +- UNIFY_ALLOW_NONE, explain_p); +- } +- + /* [temp.deduct.type] If, in the declaration of a function template + with a non-type template-parameter, the non-type + template-parameter is used in an expression in the function +@@ -20595,7 +20623,8 @@ + /* Template-parameter dependent expression. Just accept it for now. + It will later be processed in convert_template_argument. */ + ; +- else if (same_type_p (TREE_TYPE (arg), tparm)) ++ else if (same_type_p (non_reference (TREE_TYPE (arg)), ++ non_reference (tparm))) + /* OK */; + else if ((strict & UNIFY_ALLOW_INTEGER) + && CP_INTEGRAL_TYPE_P (tparm)) +@@ -20604,9 +20633,22 @@ + corresponding parameter. */ + arg = fold (build_nop (tparm, arg)); + else if (uses_template_parms (tparm)) +- /* We haven't deduced the type of this parameter yet. Try again +- later. */ +- return unify_success (explain_p); ++ { ++ /* We haven't deduced the type of this parameter yet. */ ++ if (cxx_dialect >= cxx1z ++ /* We deduce from array bounds in try_array_deduction. */ ++ && !(strict & UNIFY_ALLOW_INTEGER)) ++ { ++ /* Deduce it from the non-type argument. */ ++ tree atype = TREE_TYPE (arg); ++ RECUR_AND_CHECK_FAILURE (tparms, targs, ++ tparm, atype, ++ UNIFY_ALLOW_NONE, explain_p); ++ } ++ else ++ /* Try again later. */ ++ return unify_success (explain_p); ++ } + else + return unify_type_mismatch (explain_p, tparm, TREE_TYPE (arg)); + +@@ -21598,10 +21640,12 @@ + `T' is `A' but unify () does not check whether `typename T::X' + is `int'. */ + spec_args = tsubst (spec_args, deduced_args, tf_none, NULL_TREE); +- spec_args = coerce_template_parms (DECL_INNERMOST_TEMPLATE_PARMS (tmpl), +- spec_args, tmpl, +- tf_none, false, false); + ++ if (spec_args != error_mark_node) ++ spec_args = coerce_template_parms (DECL_INNERMOST_TEMPLATE_PARMS (tmpl), ++ INNERMOST_TEMPLATE_ARGS (spec_args), ++ tmpl, tf_none, false, false); ++ + pop_tinst_level (); + + if (spec_args == error_mark_node +@@ -23372,6 +23416,14 @@ + arg_type = TREE_CHAIN (arg_type)) + if (dependent_type_p (TREE_VALUE (arg_type))) + return true; ++ if (cxx_dialect >= cxx1z) ++ { ++ /* A value-dependent noexcept-specifier makes the type dependent. */ ++ tree spec = TYPE_RAISES_EXCEPTIONS (type); ++ if (spec && TREE_PURPOSE (spec) ++ && value_dependent_expression_p (TREE_PURPOSE (spec))) ++ return true; ++ } + return false; + } + /* -- an array type constructed from any dependent type or whose +@@ -23920,18 +23972,35 @@ + return true; + + /* A function or variable template-id is type-dependent if it has any +- dependent template arguments. Note that we only consider the innermost +- template arguments here, since those are the ones that come from the +- template-id; the template arguments for the enclosing class do not make it +- type-dependent, they only make a member function value-dependent. */ ++ dependent template arguments. */ + if (VAR_OR_FUNCTION_DECL_P (expression) + && DECL_LANG_SPECIFIC (expression) +- && DECL_TEMPLATE_INFO (expression) +- && PRIMARY_TEMPLATE_P (DECL_TI_TEMPLATE (expression)) +- && (any_dependent_template_arguments_p +- (INNERMOST_TEMPLATE_ARGS (DECL_TI_ARGS (expression))))) +- return true; ++ && DECL_TEMPLATE_INFO (expression)) ++ { ++ /* Consider the innermost template arguments, since those are the ones ++ that come from the template-id; the template arguments for the ++ enclosing class do not make it type-dependent unless they are used in ++ the type of the decl. */ ++ if (PRIMARY_TEMPLATE_P (DECL_TI_TEMPLATE (expression)) ++ && (any_dependent_template_arguments_p ++ (INNERMOST_TEMPLATE_ARGS (DECL_TI_ARGS (expression))))) ++ return true; + ++ /* Otherwise, if the decl isn't from a dependent scope, it can't be ++ type-dependent. Checking this is important for functions with auto ++ return type, which looks like a dependent type. */ ++ if (TREE_CODE (expression) == FUNCTION_DECL ++ && undeduced_auto_decl (expression) ++ && (!DECL_CLASS_SCOPE_P (expression) ++ || !dependent_type_p (DECL_CONTEXT (expression))) ++ && (!DECL_FRIEND_CONTEXT (expression) ++ || !dependent_type_p (DECL_FRIEND_CONTEXT (expression))) ++ && !DECL_LOCAL_FUNCTION_P (expression)) ++ { ++ return false; ++ } ++ } ++ + /* Always dependent, on the number of arguments if nothing else. */ + if (TREE_CODE (expression) == EXPR_PACK_EXPANSION) + return true; +Index: gcc/cp/semantics.c +=================================================================== +--- a/src/gcc/cp/semantics.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/semantics.c (.../branches/gcc-7-branch) +@@ -2298,6 +2298,16 @@ + + if (processing_template_decl) + { ++ /* If FN is a local extern declaration or set thereof, look them up ++ again at instantiation time. */ ++ if (is_overloaded_fn (fn)) ++ { ++ tree ifn = get_first_fn (fn); ++ if (TREE_CODE (ifn) == FUNCTION_DECL ++ && DECL_LOCAL_FUNCTION_P (ifn)) ++ orig_fn = DECL_NAME (ifn); ++ } ++ + /* If the call expression is dependent, build a CALL_EXPR node + with no type; type_dependent_expression_p recognizes + expressions with no type as being dependent. */ +@@ -2304,7 +2314,7 @@ + if (type_dependent_expression_p (fn) + || any_type_dependent_arguments_p (*args)) + { +- result = build_nt_call_vec (fn, *args); ++ result = build_nt_call_vec (orig_fn, *args); + SET_EXPR_LOCATION (result, EXPR_LOC_OR_LOC (fn, input_location)); + KOENIG_LOOKUP_P (result) = koenig_p; + if (cfun) +@@ -4697,9 +4707,9 @@ + && TREE_CODE (TYPE_MAX_VALUE (TYPE_DOMAIN (type))) + == INTEGER_CST) + { +- tree size = size_binop (PLUS_EXPR, +- TYPE_MAX_VALUE (TYPE_DOMAIN (type)), +- size_one_node); ++ tree size ++ = fold_convert (sizetype, TYPE_MAX_VALUE (TYPE_DOMAIN (type))); ++ size = size_binop (PLUS_EXPR, size, size_one_node); + if (TREE_CODE (low_bound) == INTEGER_CST) + { + if (tree_int_cst_lt (size, low_bound)) +Index: gcc/cp/decl2.c +=================================================================== +--- a/src/gcc/cp/decl2.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/decl2.c (.../branches/gcc-7-branch) +@@ -1094,9 +1094,10 @@ + if (is_attribute_p ("weak", name)) + return true; + +- /* Attribute unused is applied directly, as it appertains to ++ /* Attributes used and unused are applied directly, as they appertain to + decls. */ +- if (is_attribute_p ("unused", name)) ++ if (is_attribute_p ("unused", name) ++ || is_attribute_p ("used", name)) + return false; + + /* Attribute tls_model wants to modify the symtab. */ +@@ -4661,6 +4662,8 @@ + if (!DECL_SAVED_TREE (decl)) + continue; + ++ cgraph_node *node = cgraph_node::get_create (decl); ++ + /* We lie to the back end, pretending that some functions + are not defined when they really are. This keeps these + functions from being put out unnecessarily. But, we must +@@ -4681,9 +4684,6 @@ + && DECL_INITIAL (decl) + && decl_needed_p (decl)) + { +- struct cgraph_node *node, *next; +- +- node = cgraph_node::get (decl); + if (node->cpp_implicit_alias) + node = node->get_alias_target (); + +@@ -4693,7 +4693,8 @@ + group, we need to mark all symbols in the same comdat group + that way. */ + if (node->same_comdat_group) +- for (next = dyn_cast (node->same_comdat_group); ++ for (cgraph_node *next ++ = dyn_cast (node->same_comdat_group); + next != node; + next = dyn_cast (next->same_comdat_group)) + next->call_for_symbol_thunks_and_aliases (clear_decl_external, +@@ -4707,7 +4708,7 @@ + if (!DECL_EXTERNAL (decl) + && decl_needed_p (decl) + && !TREE_ASM_WRITTEN (decl) +- && !cgraph_node::get (decl)->definition) ++ && !node->definition) + { + /* We will output the function; no longer consider it in this + loop. */ +Index: gcc/cp/parser.c +=================================================================== +--- a/src/gcc/cp/parser.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/parser.c (.../branches/gcc-7-branch) +@@ -9447,10 +9447,14 @@ + /* Require an rvalue constant expression here; that's what our + callers expect. Reference constant expressions are handled + separately in e.g. cp_parser_template_argument. */ +- bool is_const = potential_rvalue_constant_expression (expression); ++ tree decay = expression; ++ if (TREE_TYPE (expression) ++ && TREE_CODE (TREE_TYPE (expression)) == ARRAY_TYPE) ++ decay = build_address (expression); ++ bool is_const = potential_rvalue_constant_expression (decay); + parser->non_integral_constant_expression_p = !is_const; + if (!is_const && !allow_non_constant_p) +- require_potential_rvalue_constant_expression (expression); ++ require_potential_rvalue_constant_expression (decay); + } + if (allow_non_constant_p) + *non_constant_p = parser->non_integral_constant_expression_p; +@@ -23677,7 +23681,7 @@ + if (virtual_p && !duplicate_virtual_error_issued_p) + { + cp_parser_error (parser, +- "% specified more than once in base-specified"); ++ "% specified more than once in base-specifier"); + duplicate_virtual_error_issued_p = true; + } + +@@ -23697,7 +23701,7 @@ + && !duplicate_access_error_issued_p) + { + cp_parser_error (parser, +- "more than one access specifier in base-specified"); ++ "more than one access specifier in base-specifier"); + duplicate_access_error_issued_p = true; + } + +Index: gcc/cp/call.c +=================================================================== +--- a/src/gcc/cp/call.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/call.c (.../branches/gcc-7-branch) +@@ -7552,6 +7552,9 @@ + const tree *argarray; + unsigned int nargs; + ++ if (undeduced_auto_decl (fn)) ++ mark_used (fn, complain); ++ + return_type = TREE_TYPE (TREE_TYPE (fn)); + nargs = vec_safe_length (args); + if (first_arg == NULL_TREE) +Index: gcc/cp/lambda.c +=================================================================== +--- a/src/gcc/cp/lambda.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/lambda.c (.../branches/gcc-7-branch) +@@ -999,6 +999,8 @@ + null_pointer_node); + if (generic_lambda_p) + { ++ ++processing_template_decl; ++ + /* Prepare the dependent member call for the static member function + '_FUN' and, potentially, prepare another call to be used in a decltype + return expression for a deduced return call op to allow for simple +@@ -1048,9 +1050,7 @@ + + if (generic_lambda_p) + { +- ++processing_template_decl; + tree a = forward_parm (tgt); +- --processing_template_decl; + + CALL_EXPR_ARG (call, ix) = a; + if (decltype_call) +@@ -1074,11 +1074,9 @@ + { + if (decltype_call) + { +- ++processing_template_decl; + fn_result = finish_decltype_type + (decltype_call, /*id_expression_or_member_access_p=*/false, + tf_warning_or_error); +- --processing_template_decl; + } + } + else +@@ -1096,6 +1094,9 @@ + && TYPE_NOTHROW_P (TREE_TYPE (callop))) + stattype = build_exception_variant (stattype, noexcept_true_spec); + ++ if (generic_lambda_p) ++ --processing_template_decl; ++ + /* First build up the conversion op. */ + + tree rettype = build_pointer_type (stattype); +Index: gcc/cp/mangle.c +=================================================================== +--- a/src/gcc/cp/mangle.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/mangle.c (.../branches/gcc-7-branch) +@@ -2100,6 +2100,11 @@ + || TREE_CODE (t) == METHOD_TYPE) + { + t = build_ref_qualified_type (t, type_memfn_rqual (type)); ++ if (flag_noexcept_type) ++ { ++ tree r = TYPE_RAISES_EXCEPTIONS (type); ++ t = build_exception_variant (t, r); ++ } + if (abi_version_at_least (8) + || type == TYPE_MAIN_VARIANT (type)) + /* Avoid adding the unqualified function type as a substitution. */ +Index: gcc/cp/cp-tree.h +=================================================================== +--- a/src/gcc/cp/cp-tree.h (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/cp/cp-tree.h (.../branches/gcc-7-branch) +@@ -332,7 +332,6 @@ + cxx_binding *bindings; + tree class_template_info; + tree label_value; +- bool oracle_looked_up; + }; + + /* Return a typed pointer version of T if it designates a +Index: gcc/tree-ssa-ccp.c +=================================================================== +--- a/src/gcc/tree-ssa-ccp.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/tree-ssa-ccp.c (.../branches/gcc-7-branch) +@@ -497,9 +497,7 @@ + use the meet operator to retain a conservative value. + Missed optimizations like PR65851 makes this necessary. + It also ensures we converge to a stable lattice solution. */ +- if (new_val->lattice_val == CONSTANT +- && old_val->lattice_val == CONSTANT +- && TREE_CODE (new_val->value) != SSA_NAME) ++ if (old_val->lattice_val != UNINITIALIZED) + ccp_lattice_meet (new_val, old_val); + + gcc_checking_assert (valid_lattice_transition (*old_val, *new_val)); +Index: gcc/dwarf2out.c +=================================================================== +--- a/src/gcc/dwarf2out.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/dwarf2out.c (.../branches/gcc-7-branch) +@@ -189,6 +189,10 @@ + #define DWARF_INITIAL_LENGTH_SIZE (DWARF_OFFSET_SIZE == 4 ? 4 : 12) + #endif + ++#ifndef DWARF_INITIAL_LENGTH_SIZE_STR ++#define DWARF_INITIAL_LENGTH_SIZE_STR (DWARF_OFFSET_SIZE == 4 ? "-4" : "-12") ++#endif ++ + /* Round SIZE up to the nearest BOUNDARY. */ + #define DWARF_ROUND(SIZE,BOUNDARY) \ + ((((SIZE) + (BOUNDARY) - 1) / (BOUNDARY)) * (BOUNDARY)) +@@ -29649,6 +29653,7 @@ + comdat_type_node *ctnode; + dw_die_ref main_comp_unit_die; + unsigned char checksum[16]; ++ char dl_section_ref[MAX_ARTIFICIAL_LABEL_BYTES]; + + /* Flush out any latecomers to the limbo party. */ + flush_limbo_die_list (); +@@ -29766,9 +29771,15 @@ + } + } + ++ /* AIX Assembler inserts the length, so adjust the reference to match the ++ offset expected by debuggers. */ ++ strcpy (dl_section_ref, debug_line_section_label); ++ if (XCOFF_DEBUGGING_INFO) ++ strcat (dl_section_ref, DWARF_INITIAL_LENGTH_SIZE_STR); ++ + if (debug_info_level >= DINFO_LEVEL_TERSE) + add_AT_lineptr (main_comp_unit_die, DW_AT_stmt_list, +- debug_line_section_label); ++ dl_section_ref); + + if (have_macinfo) + add_AT_macptr (comp_unit_die (), +@@ -29844,7 +29855,7 @@ + if (debug_info_level >= DINFO_LEVEL_TERSE) + add_AT_lineptr (ctnode->root_die, DW_AT_stmt_list, + (!dwarf_split_debug_info +- ? debug_line_section_label ++ ? dl_section_ref + : debug_skeleton_line_section_label)); + + output_comdat_type_unit (ctnode); +Index: gcc/expr.c +=================================================================== +--- a/src/gcc/expr.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/expr.c (.../branches/gcc-7-branch) +@@ -8792,54 +8792,62 @@ + expand_operands (treeop0, treeop1, subtarget, &op0, &op1, EXPAND_NORMAL); + return REDUCE_BIT_FIELD (expand_mult (mode, op0, op1, target, unsignedp)); + ++ case TRUNC_MOD_EXPR: ++ case FLOOR_MOD_EXPR: ++ case CEIL_MOD_EXPR: ++ case ROUND_MOD_EXPR: ++ + case TRUNC_DIV_EXPR: + case FLOOR_DIV_EXPR: + case CEIL_DIV_EXPR: + case ROUND_DIV_EXPR: + case EXACT_DIV_EXPR: +- /* If this is a fixed-point operation, then we cannot use the code +- below because "expand_divmod" doesn't support sat/no-sat fixed-point +- divisions. */ +- if (ALL_FIXED_POINT_MODE_P (mode)) +- goto binop; ++ { ++ /* If this is a fixed-point operation, then we cannot use the code ++ below because "expand_divmod" doesn't support sat/no-sat fixed-point ++ divisions. */ ++ if (ALL_FIXED_POINT_MODE_P (mode)) ++ goto binop; + +- if (modifier == EXPAND_STACK_PARM) +- target = 0; +- /* Possible optimization: compute the dividend with EXPAND_SUM +- then if the divisor is constant can optimize the case +- where some terms of the dividend have coeffs divisible by it. */ +- expand_operands (treeop0, treeop1, +- subtarget, &op0, &op1, EXPAND_NORMAL); +- if (SCALAR_INT_MODE_P (mode) +- && optimize >= 2 +- && get_range_pos_neg (treeop0) == 1 +- && get_range_pos_neg (treeop1) == 1) +- { +- /* If both arguments are known to be positive when interpreted +- as signed, we can expand it as both signed and unsigned +- division or modulo. Choose the cheaper sequence in that case. */ +- bool speed_p = optimize_insn_for_speed_p (); +- do_pending_stack_adjust (); +- start_sequence (); +- rtx uns_ret = expand_divmod (0, code, mode, op0, op1, target, 1); +- rtx_insn *uns_insns = get_insns (); +- end_sequence (); +- start_sequence (); +- rtx sgn_ret = expand_divmod (0, code, mode, op0, op1, target, 0); +- rtx_insn *sgn_insns = get_insns (); +- end_sequence (); +- unsigned uns_cost = seq_cost (uns_insns, speed_p); +- unsigned sgn_cost = seq_cost (sgn_insns, speed_p); +- if (uns_cost < sgn_cost || (uns_cost == sgn_cost && unsignedp)) +- { +- emit_insn (uns_insns); +- return uns_ret; +- } +- emit_insn (sgn_insns); +- return sgn_ret; +- } +- return expand_divmod (0, code, mode, op0, op1, target, unsignedp); +- ++ if (modifier == EXPAND_STACK_PARM) ++ target = 0; ++ /* Possible optimization: compute the dividend with EXPAND_SUM ++ then if the divisor is constant can optimize the case ++ where some terms of the dividend have coeffs divisible by it. */ ++ expand_operands (treeop0, treeop1, ++ subtarget, &op0, &op1, EXPAND_NORMAL); ++ bool mod_p = code == TRUNC_MOD_EXPR || code == FLOOR_MOD_EXPR ++ || code == CEIL_MOD_EXPR || code == ROUND_MOD_EXPR; ++ if (SCALAR_INT_MODE_P (mode) ++ && optimize >= 2 ++ && get_range_pos_neg (treeop0) == 1 ++ && get_range_pos_neg (treeop1) == 1) ++ { ++ /* If both arguments are known to be positive when interpreted ++ as signed, we can expand it as both signed and unsigned ++ division or modulo. Choose the cheaper sequence in that case. */ ++ bool speed_p = optimize_insn_for_speed_p (); ++ do_pending_stack_adjust (); ++ start_sequence (); ++ rtx uns_ret = expand_divmod (mod_p, code, mode, op0, op1, target, 1); ++ rtx_insn *uns_insns = get_insns (); ++ end_sequence (); ++ start_sequence (); ++ rtx sgn_ret = expand_divmod (mod_p, code, mode, op0, op1, target, 0); ++ rtx_insn *sgn_insns = get_insns (); ++ end_sequence (); ++ unsigned uns_cost = seq_cost (uns_insns, speed_p); ++ unsigned sgn_cost = seq_cost (sgn_insns, speed_p); ++ if (uns_cost < sgn_cost || (uns_cost == sgn_cost && unsignedp)) ++ { ++ emit_insn (uns_insns); ++ return uns_ret; ++ } ++ emit_insn (sgn_insns); ++ return sgn_ret; ++ } ++ return expand_divmod (mod_p, code, mode, op0, op1, target, unsignedp); ++ } + case RDIV_EXPR: + goto binop; + +@@ -8849,16 +8857,6 @@ + gcc_assert (temp); + return temp; + +- case TRUNC_MOD_EXPR: +- case FLOOR_MOD_EXPR: +- case CEIL_MOD_EXPR: +- case ROUND_MOD_EXPR: +- if (modifier == EXPAND_STACK_PARM) +- target = 0; +- expand_operands (treeop0, treeop1, +- subtarget, &op0, &op1, EXPAND_NORMAL); +- return expand_divmod (1, code, mode, op0, op1, target, unsignedp); +- + case FIXED_CONVERT_EXPR: + op0 = expand_normal (treeop0); + if (target == 0 || modifier == EXPAND_STACK_PARM) +Index: gcc/go/go-gcc.cc +=================================================================== +--- a/src/gcc/go/go-gcc.cc (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/go/go-gcc.cc (.../branches/gcc-7-branch) +@@ -2811,9 +2811,9 @@ + + tree decl = build_decl(BUILTINS_LOCATION, VAR_DECL, + get_identifier_from_string(name), type_tree); +- DECL_EXTERNAL(decl) = 0; ++ DECL_EXTERNAL(decl) = 1; + TREE_PUBLIC(decl) = 1; +- TREE_STATIC(decl) = 1; ++ TREE_STATIC(decl) = 0; + DECL_ARTIFICIAL(decl) = 1; + if (! asm_name.empty()) + SET_DECL_ASSEMBLER_NAME(decl, get_identifier_from_string(asm_name)); +Index: gcc/go/ChangeLog +=================================================================== +--- a/src/gcc/go/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/go/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,9 @@ ++2017-05-11 Ian Lance Taylor ++ ++ PR go/64238 ++ * go-gcc.cc (Gcc_backend::implicit_variable_reference): Set ++ DECL_EXTERNAL, clear TREE_STATIC. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +Index: gcc/go/gofrontend/types.h +=================================================================== +--- a/src/gcc/go/gofrontend/types.h (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/go/gofrontend/types.h (.../branches/gcc-7-branch) +@@ -590,6 +590,22 @@ + are_identical(const Type* lhs, const Type* rhs, bool errors_are_identical, + std::string* reason); + ++ // An argument to are_identical_cmp_tags, indicating whether or not ++ // to compare struct field tags. ++ enum Cmp_tags { ++ COMPARE_TAGS, ++ IGNORE_TAGS ++ }; ++ ++ // Return true if two types are identical. This is like the ++ // are_identical function, but also takes a CMP_TAGS argument ++ // indicating whether to compare struct tags. Otherwise the ++ // parameters are as for are_identical. ++ static bool ++ are_identical_cmp_tags(const Type* lhs, const Type* rhs, ++ Cmp_tags, bool errors_are_identical, ++ std::string* reason); ++ + // Return true if two types are compatible for use in a binary + // operation, other than a shift, comparison, or channel send. This + // is an equivalence relation. +@@ -1922,7 +1938,7 @@ + // Whether this type is the same as T. + bool + is_identical(const Function_type* t, bool ignore_receiver, +- bool errors_are_identical, std::string*) const; ++ Cmp_tags, bool errors_are_identical, std::string*) const; + + // Record that this is a varargs function. + void +@@ -2322,7 +2338,8 @@ + + // Whether this type is identical with T. + bool +- is_identical(const Struct_type* t, bool errors_are_identical) const; ++ is_identical(const Struct_type* t, Cmp_tags, ++ bool errors_are_identical) const; + + // Return whether NAME is a local field which is not exported. This + // is only used for better error reporting. +@@ -2521,7 +2538,8 @@ + + // Whether this type is identical with T. + bool +- is_identical(const Array_type* t, bool errors_are_identical) const; ++ is_identical(const Array_type* t, Cmp_tags, ++ bool errors_are_identical) const; + + // Return an expression for the pointer to the values in an array. + Expression* +@@ -2694,7 +2712,8 @@ + + // Whether this type is identical with T. + bool +- is_identical(const Map_type* t, bool errors_are_identical) const; ++ is_identical(const Map_type* t, Cmp_tags, ++ bool errors_are_identical) const; + + // Import a map type. + static Map_type* +@@ -2814,7 +2833,8 @@ + + // Whether this type is identical with T. + bool +- is_identical(const Channel_type* t, bool errors_are_identical) const; ++ is_identical(const Channel_type* t, Cmp_tags, ++ bool errors_are_identical) const; + + // Import a channel type. + static Channel_type* +@@ -2927,7 +2947,8 @@ + // Whether this type is identical with T. REASON is as in + // implements_interface. + bool +- is_identical(const Interface_type* t, bool errors_are_identical) const; ++ is_identical(const Interface_type* t, Cmp_tags, ++ bool errors_are_identical) const; + + // Whether we can assign T to this type. is_identical is known to + // be false. +Index: gcc/go/gofrontend/types.cc +=================================================================== +--- a/src/gcc/go/gofrontend/types.cc (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/go/gofrontend/types.cc (.../branches/gcc-7-branch) +@@ -317,6 +317,16 @@ + Type::are_identical(const Type* t1, const Type* t2, bool errors_are_identical, + std::string* reason) + { ++ return Type::are_identical_cmp_tags(t1, t2, COMPARE_TAGS, ++ errors_are_identical, reason); ++} ++ ++// Like are_identical, but with a CMP_TAGS parameter. ++ ++bool ++Type::are_identical_cmp_tags(const Type* t1, const Type* t2, Cmp_tags cmp_tags, ++ bool errors_are_identical, std::string* reason) ++{ + if (t1 == NULL || t2 == NULL) + { + // Something is wrong. +@@ -387,31 +397,33 @@ + case TYPE_FUNCTION: + return t1->function_type()->is_identical(t2->function_type(), + false, ++ cmp_tags, + errors_are_identical, + reason); + + case TYPE_POINTER: +- return Type::are_identical(t1->points_to(), t2->points_to(), +- errors_are_identical, reason); ++ return Type::are_identical_cmp_tags(t1->points_to(), t2->points_to(), ++ cmp_tags, errors_are_identical, ++ reason); + + case TYPE_STRUCT: +- return t1->struct_type()->is_identical(t2->struct_type(), ++ return t1->struct_type()->is_identical(t2->struct_type(), cmp_tags, + errors_are_identical); + + case TYPE_ARRAY: +- return t1->array_type()->is_identical(t2->array_type(), ++ return t1->array_type()->is_identical(t2->array_type(), cmp_tags, + errors_are_identical); + + case TYPE_MAP: +- return t1->map_type()->is_identical(t2->map_type(), ++ return t1->map_type()->is_identical(t2->map_type(), cmp_tags, + errors_are_identical); + + case TYPE_CHANNEL: +- return t1->channel_type()->is_identical(t2->channel_type(), ++ return t1->channel_type()->is_identical(t2->channel_type(), cmp_tags, + errors_are_identical); + + case TYPE_INTERFACE: +- return t1->interface_type()->is_identical(t2->interface_type(), ++ return t1->interface_type()->is_identical(t2->interface_type(), cmp_tags, + errors_are_identical); + + case TYPE_CALL_MULTIPLE_RESULT: +@@ -735,13 +747,15 @@ + return true; + + // The types are convertible if they have identical underlying +- // types. ++ // types, ignoring struct field tags. + if ((lhs->named_type() != NULL || rhs->named_type() != NULL) +- && Type::are_identical(lhs->base(), rhs->base(), true, reason)) ++ && Type::are_identical_cmp_tags(lhs->base(), rhs->base(), IGNORE_TAGS, ++ true, reason)) + return true; + + // The types are convertible if they are both unnamed pointer types +- // and their pointer base types have identical underlying types. ++ // and their pointer base types have identical underlying types, ++ // ignoring struct field tags. + if (lhs->named_type() == NULL + && rhs->named_type() == NULL + && lhs->points_to() != NULL +@@ -748,10 +762,11 @@ + && rhs->points_to() != NULL + && (lhs->points_to()->named_type() != NULL + || rhs->points_to()->named_type() != NULL) +- && Type::are_identical(lhs->points_to()->base(), +- rhs->points_to()->base(), +- true, +- reason)) ++ && Type::are_identical_cmp_tags(lhs->points_to()->base(), ++ rhs->points_to()->base(), ++ IGNORE_TAGS, ++ true, ++ reason)) + return true; + + // Integer and floating point types are convertible to each other. +@@ -3758,7 +3773,7 @@ + Function_type::is_valid_redeclaration(const Function_type* t, + std::string* reason) const + { +- if (!this->is_identical(t, false, true, reason)) ++ if (!this->is_identical(t, false, COMPARE_TAGS, true, reason)) + return false; + + // A redeclaration of a function is required to use the same names +@@ -3836,7 +3851,7 @@ + + bool + Function_type::is_identical(const Function_type* t, bool ignore_receiver, +- bool errors_are_identical, ++ Cmp_tags cmp_tags, bool errors_are_identical, + std::string* reason) const + { + if (!ignore_receiver) +@@ -3851,8 +3866,8 @@ + } + if (r1 != NULL) + { +- if (!Type::are_identical(r1->type(), r2->type(), errors_are_identical, +- reason)) ++ if (!Type::are_identical_cmp_tags(r1->type(), r2->type(), cmp_tags, ++ errors_are_identical, reason)) + { + if (reason != NULL && !reason->empty()) + *reason = "receiver: " + *reason; +@@ -3883,8 +3898,8 @@ + return false; + } + +- if (!Type::are_identical(p1->type(), p2->type(), +- errors_are_identical, NULL)) ++ if (!Type::are_identical_cmp_tags(p1->type(), p2->type(), cmp_tags, ++ errors_are_identical, NULL)) + { + if (reason != NULL) + *reason = _("different parameter types"); +@@ -3928,8 +3943,9 @@ + return false; + } + +- if (!Type::are_identical(res1->type(), res2->type(), +- errors_are_identical, NULL)) ++ if (!Type::are_identical_cmp_tags(res1->type(), res2->type(), ++ cmp_tags, errors_are_identical, ++ NULL)) + { + if (reason != NULL) + *reason = _("different result types"); +@@ -5103,7 +5119,7 @@ + // Whether this type is identical to T. + + bool +-Struct_type::is_identical(const Struct_type* t, ++Struct_type::is_identical(const Struct_type* t, Cmp_tags cmp_tags, + bool errors_are_identical) const + { + if (this->is_struct_incomparable_ != t->is_struct_incomparable_) +@@ -5122,21 +5138,24 @@ + if (pf1->field_name() != pf2->field_name()) + return false; + if (pf1->is_anonymous() != pf2->is_anonymous() +- || !Type::are_identical(pf1->type(), pf2->type(), +- errors_are_identical, NULL)) ++ || !Type::are_identical_cmp_tags(pf1->type(), pf2->type(), cmp_tags, ++ errors_are_identical, NULL)) + return false; +- if (!pf1->has_tag()) ++ if (cmp_tags == COMPARE_TAGS) + { +- if (pf2->has_tag()) +- return false; ++ if (!pf1->has_tag()) ++ { ++ if (pf2->has_tag()) ++ return false; ++ } ++ else ++ { ++ if (!pf2->has_tag()) ++ return false; ++ if (pf1->tag() != pf2->tag()) ++ return false; ++ } + } +- else +- { +- if (!pf2->has_tag()) +- return false; +- if (pf1->tag() != pf2->tag()) +- return false; +- } + } + if (pf2 != fields2->end()) + return false; +@@ -6363,10 +6382,11 @@ + // Whether two array types are identical. + + bool +-Array_type::is_identical(const Array_type* t, bool errors_are_identical) const ++Array_type::is_identical(const Array_type* t, Cmp_tags cmp_tags, ++ bool errors_are_identical) const + { +- if (!Type::are_identical(this->element_type(), t->element_type(), +- errors_are_identical, NULL)) ++ if (!Type::are_identical_cmp_tags(this->element_type(), t->element_type(), ++ cmp_tags, errors_are_identical, NULL)) + return false; + + if (this->is_array_incomparable_ != t->is_array_incomparable_) +@@ -7370,12 +7390,14 @@ + // Whether two map types are identical. + + bool +-Map_type::is_identical(const Map_type* t, bool errors_are_identical) const ++Map_type::is_identical(const Map_type* t, Cmp_tags cmp_tags, ++ bool errors_are_identical) const + { +- return (Type::are_identical(this->key_type(), t->key_type(), +- errors_are_identical, NULL) +- && Type::are_identical(this->val_type(), t->val_type(), +- errors_are_identical, NULL)); ++ return (Type::are_identical_cmp_tags(this->key_type(), t->key_type(), ++ cmp_tags, errors_are_identical, NULL) ++ && Type::are_identical_cmp_tags(this->val_type(), t->val_type(), ++ cmp_tags, errors_are_identical, ++ NULL)); + } + + // Hash code. +@@ -7909,11 +7931,11 @@ + // Whether this type is the same as T. + + bool +-Channel_type::is_identical(const Channel_type* t, ++Channel_type::is_identical(const Channel_type* t, Cmp_tags cmp_tags, + bool errors_are_identical) const + { +- if (!Type::are_identical(this->element_type(), t->element_type(), +- errors_are_identical, NULL)) ++ if (!Type::are_identical_cmp_tags(this->element_type(), t->element_type(), ++ cmp_tags, errors_are_identical, NULL)) + return false; + return (this->may_send_ == t->may_send_ + && this->may_receive_ == t->may_receive_); +@@ -8341,7 +8363,7 @@ + // Whether this type is identical with T. + + bool +-Interface_type::is_identical(const Interface_type* t, ++Interface_type::is_identical(const Interface_type* t, Cmp_tags cmp_tags, + bool errors_are_identical) const + { + // If methods have not been finalized, then we are asking whether +@@ -8372,8 +8394,8 @@ + if (p1 == this->all_methods_->end()) + break; + if (p1->name() != p2->name() +- || !Type::are_identical(p1->type(), p2->type(), +- errors_are_identical, NULL)) ++ || !Type::are_identical_cmp_tags(p1->type(), p2->type(), cmp_tags, ++ errors_are_identical, NULL)) + break; + } + +@@ -8571,7 +8593,8 @@ + Function_type* m_fn_type = m->type()->function_type(); + go_assert(p_fn_type != NULL && m_fn_type != NULL); + std::string subreason; +- if (!p_fn_type->is_identical(m_fn_type, true, true, &subreason)) ++ if (!p_fn_type->is_identical(m_fn_type, true, COMPARE_TAGS, true, ++ &subreason)) + { + if (reason != NULL) + { +Index: gcc/ada/s-tpopsp-rtems.adb +=================================================================== +--- a/src/gcc/ada/s-tpopsp-rtems.adb (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/ada/s-tpopsp-rtems.adb (.../branches/gcc-7-branch) +@@ -1,113 +0,0 @@ +------------------------------------------------------------------------------- +--- -- +--- GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS -- +--- -- +--- S Y S T E M . T A S K _ P R I M I T I V E S . O P E R A T I O N S . -- +--- S P E C I F I C -- +--- -- +--- B o d y -- +--- -- +--- $Revision: 1.2 $ +--- -- +--- Copyright (C) 1991-2003, Florida State University -- +--- Copyright (C) 2008-2012, Free Software Foundation, Inc. -- +--- -- +--- GNARL is free software; you can redistribute it and/or modify it under -- +--- terms of the GNU General Public License as published by the Free Soft- -- +--- ware Foundation; either version 3, or (at your option) any later ver- -- +--- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- +--- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- +--- or FITNESS FOR A PARTICULAR PURPOSE. -- +--- -- +--- As a special exception under Section 7 of GPL version 3, you are granted -- +--- additional permissions described in the GCC Runtime Library Exception, -- +--- version 3.1, as published by the Free Software Foundation. -- +--- -- +--- You should have received a copy of the GNU General Public License and -- +--- a copy of the GCC Runtime Library Exception along with this program; -- +--- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- +--- . -- +--- -- +--- GNARL was developed by the GNARL team at Florida State University. It is -- +--- now maintained by Ada Core Technologies Inc. in cooperation with Florida -- +--- State University (http://www.gnat.com). -- +--- -- +------------------------------------------------------------------------------- +- +--- This is a RTEMS version of this package which uses a special +--- variable for Ada self which is context switched implicitly by RTEMS. +--- +--- This is the same as the POSIX version except that an RTEMS variable +--- is used instead of a POSIX key. +- +-separate (System.Task_Primitives.Operations) +-package body Specific is +- +- -- The following gives the Ada run-time direct access to a variable +- -- context switched by RTEMS at the lowest level. +- +- ATCB_Key : System.Address; +- pragma Import (C, ATCB_Key, "rtems_ada_self"); +- +- ---------------- +- -- Initialize -- +- ---------------- +- +- procedure Initialize (Environment_Task : Task_Id) is +- pragma Warnings (Off, Environment_Task); +- +- begin +- ATCB_Key := To_Address (Environment_Task); +- end Initialize; +- +- ------------------- +- -- Is_Valid_Task -- +- ------------------- +- +- function Is_Valid_Task return Boolean is +- begin +- return ATCB_Key /= System.Null_Address; +- end Is_Valid_Task; +- +- --------- +- -- Set -- +- --------- +- +- procedure Set (Self_Id : Task_Id) is +- begin +- ATCB_Key := To_Address (Self_Id); +- end Set; +- +- ---------- +- -- Self -- +- ---------- +- +- -- To make Ada tasks and C threads interoperate better, we have added some +- -- functionality to Self. Suppose a C main program (with threads) calls an +- -- Ada procedure and the Ada procedure calls the tasking runtime system. +- -- Eventually, a call will be made to self. Since the call is not coming +- -- from an Ada task, there will be no corresponding ATCB. +- +- -- What we do in Self is to catch references that do not come from +- -- recognized Ada tasks, and create an ATCB for the calling thread. +- +- -- The new ATCB will be "detached" from the normal Ada task master +- -- hierarchy, much like the existing implicitly created signal-server +- -- tasks. +- +- function Self return Task_Id is +- Result : System.Address; +- +- begin +- Result := ATCB_Key; +- +- -- If the key value is Null, then it is a non-Ada task. +- +- if Result /= System.Null_Address then +- return To_Task_Id (Result); +- else +- return Register_Foreign_Thread; +- end if; +- end Self; +- +-end Specific; +Index: gcc/ada/system-linux-aarch64-ilp32.ads +=================================================================== +--- a/src/gcc/ada/system-linux-aarch64-ilp32.ads (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/ada/system-linux-aarch64-ilp32.ads (.../branches/gcc-7-branch) +@@ -1,157 +0,0 @@ +------------------------------------------------------------------------------- +--- -- +--- GNAT RUN-TIME COMPONENTS -- +--- -- +--- S Y S T E M -- +--- -- +--- S p e c -- +--- (GNU-Linux/ARM Version) -- +--- -- +--- Copyright (C) 1992-2017, Free Software Foundation, Inc. -- +--- -- +--- This specification is derived from the Ada Reference Manual for use with -- +--- GNAT. The copyright notice above, and the license provisions that follow -- +--- apply solely to the contents of the part following the private keyword. -- +--- -- +--- GNAT is free software; you can redistribute it and/or modify it under -- +--- terms of the GNU General Public License as published by the Free Soft- -- +--- ware Foundation; either version 3, or (at your option) any later ver- -- +--- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- +--- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- +--- or FITNESS FOR A PARTICULAR PURPOSE. -- +--- -- +--- As a special exception under Section 7 of GPL version 3, you are granted -- +--- additional permissions described in the GCC Runtime Library Exception, -- +--- version 3.1, as published by the Free Software Foundation. -- +--- -- +--- You should have received a copy of the GNU General Public License and -- +--- a copy of the GCC Runtime Library Exception along with this program; -- +--- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- +--- . -- +--- -- +--- 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). +- +- pragma No_Elaboration_Code_All; +- -- Allow the use of that restriction in units that WITH this unit +- +- 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.000_001; +- +- -- Storage-related Declarations +- +- type Address is private; +- pragma Preelaborable_Initialization (Address); +- Null_Address : constant Address; +- +- Storage_Unit : constant := 8; +- Word_Size : constant := 32; +- Memory_Size : constant := 2 ** Word_Size; +- +- -- 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 := +- Bit_Order'Val (Standard'Default_Bit_Order); +- pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning +- +- -- Priority-related Declarations (RM D.1) +- +- -- 0 .. 98 corresponds to the system priority range 1 .. 99. +- -- +- -- 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 other values are simply ignored. +- +- Max_Priority : constant Positive := 97; +- Max_Interrupt_Priority : constant Positive := 98; +- +- subtype Any_Priority is Integer range 0 .. 98; +- subtype Priority is Any_Priority range 0 .. 97; +- subtype Interrupt_Priority is Any_Priority range 98 .. 98; +- +- Default_Priority : constant Priority := 48; +- +-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_Aggregates : constant Boolean := True; +- Support_Atomic_Primitives : 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 := False; +- Suppress_Standard_Library : constant Boolean := False; +- Use_Ada_Main_Program_Name : constant Boolean := False; +- Frontend_Exceptions : constant Boolean := False; +- ZCX_By_Default : constant Boolean := True; +- +-end System; +Index: gcc/ada/s-interr-hwint.adb +=================================================================== +--- a/src/gcc/ada/s-interr-hwint.adb (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/ada/s-interr-hwint.adb (.../branches/gcc-7-branch) +@@ -0,0 +1,1110 @@ ++------------------------------------------------------------------------------ ++-- -- ++-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS -- ++-- -- ++-- S Y S T E M . I N T E R R U P T S -- ++-- -- ++-- B o d y -- ++-- -- ++-- Copyright (C) 1992-2014, Free Software Foundation, Inc. -- ++-- -- ++-- GNARL is free software; you can redistribute it and/or modify it under -- ++-- terms of the GNU General Public License as published by the Free Soft- -- ++-- ware Foundation; either version 3, or (at your option) any later ver- -- ++-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- ++-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- ++-- or FITNESS FOR A PARTICULAR PURPOSE. -- ++-- -- ++-- As a special exception under Section 7 of GPL version 3, you are granted -- ++-- additional permissions described in the GCC Runtime Library Exception, -- ++-- version 3.1, as published by the Free Software Foundation. -- ++-- -- ++-- You should have received a copy of the GNU General Public License and -- ++-- a copy of the GCC Runtime Library Exception along with this program; -- ++-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- ++-- . -- ++-- -- ++-- GNARL was developed by the GNARL team at Florida State University. -- ++-- Extensive contributions were provided by Ada Core Technologies, Inc. -- ++-- -- ++------------------------------------------------------------------------------ ++ ++-- Invariants: ++ ++-- All user-handlable signals are masked at all times in all tasks/threads ++-- except possibly for the Interrupt_Manager task. ++ ++-- When a user task wants to have the effect of masking/unmasking an signal, ++-- it must call Block_Interrupt/Unblock_Interrupt, which will have the effect ++-- of unmasking/masking the signal in the Interrupt_Manager task. These ++-- comments do not apply to vectored hardware interrupts, which may be masked ++-- or unmasked using routined interfaced to the relevant embedded RTOS system ++-- calls. ++ ++-- Once we associate a Signal_Server_Task with an signal, the task never goes ++-- away, and we never remove the association. On the other hand, it is more ++-- convenient to terminate an associated Interrupt_Server_Task for a vectored ++-- hardware interrupt (since we use a binary semaphore for synchronization ++-- with the umbrella handler). ++ ++-- There is no more than one signal per Signal_Server_Task and no more than ++-- one Signal_Server_Task per signal. The same relation holds for hardware ++-- interrupts and Interrupt_Server_Task's at any given time. That is, only ++-- one non-terminated Interrupt_Server_Task exists for a give interrupt at ++-- any time. ++ ++-- Within this package, the lock L is used to protect the various status ++-- tables. If there is a Server_Task associated with a signal or interrupt, ++-- we use the per-task lock of the Server_Task instead so that we protect the ++-- status between Interrupt_Manager and Server_Task. Protection among service ++-- requests are ensured via user calls to the Interrupt_Manager entries. ++ ++-- This is reasonably generic version of this package, supporting vectored ++-- hardware interrupts using non-RTOS specific adapter routines which should ++-- easily implemented on any RTOS capable of supporting GNAT. ++ ++with Ada.Unchecked_Conversion; ++with Ada.Task_Identification; ++ ++with Interfaces.C; use Interfaces.C; ++with System.OS_Interface; use System.OS_Interface; ++with System.Interrupt_Management; ++with System.Task_Primitives.Operations; ++with System.Storage_Elements; ++with System.Tasking.Utilities; ++ ++with System.Tasking.Rendezvous; ++pragma Elaborate_All (System.Tasking.Rendezvous); ++ ++package body System.Interrupts is ++ ++ use Tasking; ++ ++ package POP renames System.Task_Primitives.Operations; ++ ++ function To_Ada is new Ada.Unchecked_Conversion ++ (System.Tasking.Task_Id, Ada.Task_Identification.Task_Id); ++ ++ function To_System is new Ada.Unchecked_Conversion ++ (Ada.Task_Identification.Task_Id, Task_Id); ++ ++ ----------------- ++ -- Local Tasks -- ++ ----------------- ++ ++ -- WARNING: System.Tasking.Stages performs calls to this task with low- ++ -- level constructs. Do not change this spec without synchronizing it. ++ ++ task Interrupt_Manager is ++ entry Detach_Interrupt_Entries (T : Task_Id); ++ ++ entry Attach_Handler ++ (New_Handler : Parameterless_Handler; ++ Interrupt : Interrupt_ID; ++ Static : Boolean; ++ Restoration : Boolean := False); ++ ++ entry Exchange_Handler ++ (Old_Handler : out Parameterless_Handler; ++ New_Handler : Parameterless_Handler; ++ Interrupt : Interrupt_ID; ++ Static : Boolean); ++ ++ entry Detach_Handler ++ (Interrupt : Interrupt_ID; ++ Static : Boolean); ++ ++ entry Bind_Interrupt_To_Entry ++ (T : Task_Id; ++ E : Task_Entry_Index; ++ Interrupt : Interrupt_ID); ++ ++ pragma Interrupt_Priority (System.Interrupt_Priority'First); ++ end Interrupt_Manager; ++ ++ task type Interrupt_Server_Task ++ (Interrupt : Interrupt_ID; ++ Int_Sema : Binary_Semaphore_Id) ++ is ++ -- Server task for vectored hardware interrupt handling ++ ++ pragma Interrupt_Priority (System.Interrupt_Priority'First + 2); ++ end Interrupt_Server_Task; ++ ++ type Interrupt_Task_Access is access Interrupt_Server_Task; ++ ++ ------------------------------- ++ -- Local Types and Variables -- ++ ------------------------------- ++ ++ type Entry_Assoc is record ++ T : Task_Id; ++ E : Task_Entry_Index; ++ end record; ++ ++ type Handler_Assoc is record ++ H : Parameterless_Handler; ++ Static : Boolean; -- Indicates static binding; ++ end record; ++ ++ User_Handler : array (Interrupt_ID) of Handler_Assoc := ++ (others => (null, Static => False)); ++ pragma Volatile_Components (User_Handler); ++ -- Holds the protected procedure handler (if any) and its Static ++ -- information for each interrupt or signal. A handler is static iff it ++ -- is specified through the pragma Attach_Handler. ++ ++ User_Entry : array (Interrupt_ID) of Entry_Assoc := ++ (others => (T => Null_Task, E => Null_Task_Entry)); ++ pragma Volatile_Components (User_Entry); ++ -- Holds the task and entry index (if any) for each interrupt / signal ++ ++ -- Type and Head, Tail of the list containing Registered Interrupt ++ -- Handlers. These definitions are used to register the handlers ++ -- specified by the pragma Interrupt_Handler. ++ ++ type Registered_Handler; ++ type R_Link is access all Registered_Handler; ++ ++ type Registered_Handler is record ++ H : System.Address := System.Null_Address; ++ Next : R_Link := null; ++ end record; ++ ++ Registered_Handler_Head : R_Link := null; ++ Registered_Handler_Tail : R_Link := null; ++ ++ Server_ID : array (Interrupt_ID) of System.Tasking.Task_Id := ++ (others => System.Tasking.Null_Task); ++ pragma Atomic_Components (Server_ID); ++ -- Holds the Task_Id of the Server_Task for each interrupt / signal. ++ -- Task_Id is needed to accomplish locking per interrupt base. Also ++ -- is needed to determine whether to create a new Server_Task. ++ ++ Semaphore_ID_Map : array ++ (Interrupt_ID range 0 .. System.OS_Interface.Max_HW_Interrupt) of ++ Binary_Semaphore_Id := (others => 0); ++ -- Array of binary semaphores associated with vectored interrupts. Note ++ -- that the last bound should be Max_HW_Interrupt, but this will raise ++ -- Storage_Error if Num_HW_Interrupts is null so use extra 4 bytes instead. ++ ++ Interrupt_Access_Hold : Interrupt_Task_Access; ++ -- Variable for allocating an Interrupt_Server_Task ++ ++ Handler_Installed : array (HW_Interrupt) of Boolean := (others => False); ++ -- True if Notify_Interrupt was connected to the interrupt. Handlers can ++ -- be connected but disconnection is not possible on VxWorks. Therefore ++ -- we ensure Notify_Installed is connected at most once. ++ ++ ----------------------- ++ -- Local Subprograms -- ++ ----------------------- ++ ++ procedure Check_Reserved_Interrupt (Interrupt : Interrupt_ID); ++ -- Check if Id is a reserved interrupt, and if so raise Program_Error ++ -- with an appropriate message, otherwise return. ++ ++ procedure Finalize_Interrupt_Servers; ++ -- Unbind the handlers for hardware interrupt server tasks at program ++ -- termination. ++ ++ function Is_Registered (Handler : Parameterless_Handler) return Boolean; ++ -- See if Handler has been "pragma"ed using Interrupt_Handler. ++ -- Always consider a null handler as registered. ++ ++ procedure Notify_Interrupt (Param : System.Address); ++ pragma Convention (C, Notify_Interrupt); ++ -- Umbrella handler for vectored interrupts (not signals) ++ ++ procedure Install_Umbrella_Handler ++ (Interrupt : HW_Interrupt; ++ Handler : System.OS_Interface.Interrupt_Handler); ++ -- Install the runtime umbrella handler for a vectored hardware ++ -- interrupt ++ ++ procedure Unimplemented (Feature : String); ++ pragma No_Return (Unimplemented); ++ -- Used to mark a call to an unimplemented function. Raises Program_Error ++ -- with an appropriate message noting that Feature is unimplemented. ++ ++ -------------------- ++ -- Attach_Handler -- ++ -------------------- ++ ++ -- Calling this procedure with New_Handler = null and Static = True ++ -- means we want to detach the current handler regardless of the previous ++ -- handler's binding status (i.e. do not care if it is a dynamic or static ++ -- handler). ++ ++ -- This option is needed so that during the finalization of a PO, we can ++ -- detach handlers attached through pragma Attach_Handler. ++ ++ procedure Attach_Handler ++ (New_Handler : Parameterless_Handler; ++ Interrupt : Interrupt_ID; ++ Static : Boolean := False) is ++ begin ++ Check_Reserved_Interrupt (Interrupt); ++ Interrupt_Manager.Attach_Handler (New_Handler, Interrupt, Static); ++ end Attach_Handler; ++ ++ ----------------------------- ++ -- Bind_Interrupt_To_Entry -- ++ ----------------------------- ++ ++ -- This procedure raises a Program_Error if it tries to ++ -- bind an interrupt to which an Entry or a Procedure is ++ -- already bound. ++ ++ procedure Bind_Interrupt_To_Entry ++ (T : Task_Id; ++ E : Task_Entry_Index; ++ Int_Ref : System.Address) ++ is ++ Interrupt : constant Interrupt_ID := ++ Interrupt_ID (Storage_Elements.To_Integer (Int_Ref)); ++ begin ++ Check_Reserved_Interrupt (Interrupt); ++ Interrupt_Manager.Bind_Interrupt_To_Entry (T, E, Interrupt); ++ end Bind_Interrupt_To_Entry; ++ ++ --------------------- ++ -- Block_Interrupt -- ++ --------------------- ++ ++ procedure Block_Interrupt (Interrupt : Interrupt_ID) is ++ begin ++ Unimplemented ("Block_Interrupt"); ++ end Block_Interrupt; ++ ++ ------------------------------ ++ -- Check_Reserved_Interrupt -- ++ ------------------------------ ++ ++ procedure Check_Reserved_Interrupt (Interrupt : Interrupt_ID) is ++ begin ++ if Is_Reserved (Interrupt) then ++ raise Program_Error with ++ "interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved"; ++ else ++ return; ++ end if; ++ end Check_Reserved_Interrupt; ++ ++ --------------------- ++ -- Current_Handler -- ++ --------------------- ++ ++ function Current_Handler ++ (Interrupt : Interrupt_ID) return Parameterless_Handler ++ is ++ begin ++ Check_Reserved_Interrupt (Interrupt); ++ ++ -- ??? Since Parameterless_Handler is not Atomic, the current ++ -- implementation is wrong. We need a new service in Interrupt_Manager ++ -- to ensure atomicity. ++ ++ return User_Handler (Interrupt).H; ++ end Current_Handler; ++ ++ -------------------- ++ -- Detach_Handler -- ++ -------------------- ++ ++ -- Calling this procedure with Static = True means we want to Detach the ++ -- current handler regardless of the previous handler's binding status ++ -- (i.e. do not care if it is a dynamic or static handler). ++ ++ -- This option is needed so that during the finalization of a PO, we can ++ -- detach handlers attached through pragma Attach_Handler. ++ ++ procedure Detach_Handler ++ (Interrupt : Interrupt_ID; ++ Static : Boolean := False) ++ is ++ begin ++ Check_Reserved_Interrupt (Interrupt); ++ Interrupt_Manager.Detach_Handler (Interrupt, Static); ++ end Detach_Handler; ++ ++ ------------------------------ ++ -- Detach_Interrupt_Entries -- ++ ------------------------------ ++ ++ procedure Detach_Interrupt_Entries (T : Task_Id) is ++ begin ++ Interrupt_Manager.Detach_Interrupt_Entries (T); ++ end Detach_Interrupt_Entries; ++ ++ ---------------------- ++ -- Exchange_Handler -- ++ ---------------------- ++ ++ -- Calling this procedure with New_Handler = null and Static = True ++ -- means we want to detach the current handler regardless of the previous ++ -- handler's binding status (i.e. we do not care if it is a dynamic or ++ -- static handler). ++ ++ -- This option is needed so that during the finalization of a PO, we can ++ -- detach handlers attached through pragma Attach_Handler. ++ ++ procedure Exchange_Handler ++ (Old_Handler : out Parameterless_Handler; ++ New_Handler : Parameterless_Handler; ++ Interrupt : Interrupt_ID; ++ Static : Boolean := False) ++ is ++ begin ++ Check_Reserved_Interrupt (Interrupt); ++ Interrupt_Manager.Exchange_Handler ++ (Old_Handler, New_Handler, Interrupt, Static); ++ end Exchange_Handler; ++ ++ -------------- ++ -- Finalize -- ++ -------------- ++ ++ procedure Finalize (Object : in out Static_Interrupt_Protection) is ++ begin ++ -- ??? loop to be executed only when we're not doing library level ++ -- finalization, since in this case all interrupt / signal tasks are ++ -- gone. ++ ++ if not Interrupt_Manager'Terminated then ++ for N in reverse Object.Previous_Handlers'Range loop ++ Interrupt_Manager.Attach_Handler ++ (New_Handler => Object.Previous_Handlers (N).Handler, ++ Interrupt => Object.Previous_Handlers (N).Interrupt, ++ Static => Object.Previous_Handlers (N).Static, ++ Restoration => True); ++ end loop; ++ end if; ++ ++ Tasking.Protected_Objects.Entries.Finalize ++ (Tasking.Protected_Objects.Entries.Protection_Entries (Object)); ++ end Finalize; ++ ++ -------------------------------- ++ -- Finalize_Interrupt_Servers -- ++ -------------------------------- ++ ++ -- Restore default handlers for interrupt servers ++ ++ -- This is called by the Interrupt_Manager task when it receives the abort ++ -- signal during program finalization. ++ ++ procedure Finalize_Interrupt_Servers is ++ HW_Interrupts : constant Boolean := HW_Interrupt'Last >= 0; ++ begin ++ if HW_Interrupts then ++ for Int in HW_Interrupt loop ++ if Server_ID (Interrupt_ID (Int)) /= null ++ and then ++ not Ada.Task_Identification.Is_Terminated ++ (To_Ada (Server_ID (Interrupt_ID (Int)))) ++ then ++ Interrupt_Manager.Attach_Handler ++ (New_Handler => null, ++ Interrupt => Interrupt_ID (Int), ++ Static => True, ++ Restoration => True); ++ end if; ++ end loop; ++ end if; ++ end Finalize_Interrupt_Servers; ++ ++ ------------------------------------- ++ -- Has_Interrupt_Or_Attach_Handler -- ++ ------------------------------------- ++ ++ function Has_Interrupt_Or_Attach_Handler ++ (Object : access Dynamic_Interrupt_Protection) ++ return Boolean ++ is ++ pragma Unreferenced (Object); ++ begin ++ return True; ++ end Has_Interrupt_Or_Attach_Handler; ++ ++ function Has_Interrupt_Or_Attach_Handler ++ (Object : access Static_Interrupt_Protection) ++ return Boolean ++ is ++ pragma Unreferenced (Object); ++ begin ++ return True; ++ end Has_Interrupt_Or_Attach_Handler; ++ ++ ---------------------- ++ -- Ignore_Interrupt -- ++ ---------------------- ++ ++ procedure Ignore_Interrupt (Interrupt : Interrupt_ID) is ++ begin ++ Unimplemented ("Ignore_Interrupt"); ++ end Ignore_Interrupt; ++ ++ ---------------------- ++ -- Install_Handlers -- ++ ---------------------- ++ ++ procedure Install_Handlers ++ (Object : access Static_Interrupt_Protection; ++ New_Handlers : New_Handler_Array) ++ is ++ begin ++ for N in New_Handlers'Range loop ++ ++ -- We need a lock around this ??? ++ ++ Object.Previous_Handlers (N).Interrupt := New_Handlers (N).Interrupt; ++ Object.Previous_Handlers (N).Static := User_Handler ++ (New_Handlers (N).Interrupt).Static; ++ ++ -- We call Exchange_Handler and not directly Interrupt_Manager. ++ -- Exchange_Handler so we get the Is_Reserved check. ++ ++ Exchange_Handler ++ (Old_Handler => Object.Previous_Handlers (N).Handler, ++ New_Handler => New_Handlers (N).Handler, ++ Interrupt => New_Handlers (N).Interrupt, ++ Static => True); ++ end loop; ++ end Install_Handlers; ++ ++ --------------------------------- ++ -- Install_Restricted_Handlers -- ++ --------------------------------- ++ ++ procedure Install_Restricted_Handlers ++ (Prio : Any_Priority; ++ Handlers : New_Handler_Array) ++ is ++ pragma Unreferenced (Prio); ++ begin ++ for N in Handlers'Range loop ++ Attach_Handler (Handlers (N).Handler, Handlers (N).Interrupt, True); ++ end loop; ++ end Install_Restricted_Handlers; ++ ++ ------------------------------ ++ -- Install_Umbrella_Handler -- ++ ------------------------------ ++ ++ procedure Install_Umbrella_Handler ++ (Interrupt : HW_Interrupt; ++ Handler : System.OS_Interface.Interrupt_Handler) ++ is ++ Vec : constant Interrupt_Vector := ++ Interrupt_Number_To_Vector (int (Interrupt)); ++ ++ Status : int; ++ ++ begin ++ -- Only install umbrella handler when no Ada handler has already been ++ -- installed. Note that the interrupt number is passed as a parameter ++ -- when an interrupt occurs, so the umbrella handler has a different ++ -- wrapper generated by intConnect for each interrupt number. ++ ++ if not Handler_Installed (Interrupt) then ++ Status := ++ Interrupt_Connect (Vec, Handler, System.Address (Interrupt)); ++ pragma Assert (Status = 0); ++ ++ Handler_Installed (Interrupt) := True; ++ end if; ++ end Install_Umbrella_Handler; ++ ++ ---------------- ++ -- Is_Blocked -- ++ ---------------- ++ ++ function Is_Blocked (Interrupt : Interrupt_ID) return Boolean is ++ begin ++ Unimplemented ("Is_Blocked"); ++ return False; ++ end Is_Blocked; ++ ++ ----------------------- ++ -- Is_Entry_Attached -- ++ ----------------------- ++ ++ function Is_Entry_Attached (Interrupt : Interrupt_ID) return Boolean is ++ begin ++ Check_Reserved_Interrupt (Interrupt); ++ return User_Entry (Interrupt).T /= Null_Task; ++ end Is_Entry_Attached; ++ ++ ------------------------- ++ -- Is_Handler_Attached -- ++ ------------------------- ++ ++ function Is_Handler_Attached (Interrupt : Interrupt_ID) return Boolean is ++ begin ++ Check_Reserved_Interrupt (Interrupt); ++ return User_Handler (Interrupt).H /= null; ++ end Is_Handler_Attached; ++ ++ ---------------- ++ -- Is_Ignored -- ++ ---------------- ++ ++ function Is_Ignored (Interrupt : Interrupt_ID) return Boolean is ++ begin ++ Unimplemented ("Is_Ignored"); ++ return False; ++ end Is_Ignored; ++ ++ ------------------- ++ -- Is_Registered -- ++ ------------------- ++ ++ function Is_Registered (Handler : Parameterless_Handler) return Boolean is ++ type Fat_Ptr is record ++ Object_Addr : System.Address; ++ Handler_Addr : System.Address; ++ end record; ++ ++ function To_Fat_Ptr is new Ada.Unchecked_Conversion ++ (Parameterless_Handler, Fat_Ptr); ++ ++ Ptr : R_Link; ++ Fat : Fat_Ptr; ++ ++ begin ++ if Handler = null then ++ return True; ++ end if; ++ ++ Fat := To_Fat_Ptr (Handler); ++ ++ Ptr := Registered_Handler_Head; ++ while Ptr /= null loop ++ if Ptr.H = Fat.Handler_Addr then ++ return True; ++ end if; ++ ++ Ptr := Ptr.Next; ++ end loop; ++ ++ return False; ++ end Is_Registered; ++ ++ ----------------- ++ -- Is_Reserved -- ++ ----------------- ++ ++ function Is_Reserved (Interrupt : Interrupt_ID) return Boolean is ++ use System.Interrupt_Management; ++ begin ++ return Reserve (System.Interrupt_Management.Interrupt_ID (Interrupt)); ++ end Is_Reserved; ++ ++ ---------------------- ++ -- Notify_Interrupt -- ++ ---------------------- ++ ++ -- Umbrella handler for vectored hardware interrupts (as opposed to signals ++ -- and exceptions). As opposed to the signal implementation, this handler ++ -- is installed in the vector table when the first Ada handler is attached ++ -- to the interrupt. However because VxWorks don't support disconnecting ++ -- handlers, this subprogram always test whether or not an Ada handler is ++ -- effectively attached. ++ ++ -- Otherwise, the handler that existed prior to program startup is in the ++ -- vector table. This ensures that handlers installed by the BSP are active ++ -- unless explicitly replaced in the program text. ++ ++ -- Each Interrupt_Server_Task has an associated binary semaphore on which ++ -- it pends once it's been started. This routine determines The appropriate ++ -- semaphore and issues a semGive call, waking the server task. When ++ -- a handler is unbound, System.Interrupts.Unbind_Handler issues a ++ -- Binary_Semaphore_Flush, and the server task deletes its semaphore ++ -- and terminates. ++ ++ procedure Notify_Interrupt (Param : System.Address) is ++ Interrupt : constant Interrupt_ID := Interrupt_ID (Param); ++ Id : constant Binary_Semaphore_Id := Semaphore_ID_Map (Interrupt); ++ Status : int; ++ begin ++ if Id /= 0 then ++ Status := Binary_Semaphore_Release (Id); ++ pragma Assert (Status = 0); ++ end if; ++ end Notify_Interrupt; ++ ++ --------------- ++ -- Reference -- ++ --------------- ++ ++ function Reference (Interrupt : Interrupt_ID) return System.Address is ++ begin ++ Check_Reserved_Interrupt (Interrupt); ++ return Storage_Elements.To_Address ++ (Storage_Elements.Integer_Address (Interrupt)); ++ end Reference; ++ ++ -------------------------------- ++ -- Register_Interrupt_Handler -- ++ -------------------------------- ++ ++ procedure Register_Interrupt_Handler (Handler_Addr : System.Address) is ++ New_Node_Ptr : R_Link; ++ ++ begin ++ -- This routine registers a handler as usable for dynamic interrupt ++ -- handler association. Routines attaching and detaching handlers ++ -- dynamically should determine whether the handler is registered. ++ -- Program_Error should be raised if it is not registered. ++ ++ -- Pragma Interrupt_Handler can only appear in a library level PO ++ -- definition and instantiation. Therefore, we do not need to implement ++ -- an unregister operation. Nor do we need to protect the queue ++ -- structure with a lock. ++ ++ pragma Assert (Handler_Addr /= System.Null_Address); ++ ++ New_Node_Ptr := new Registered_Handler; ++ New_Node_Ptr.H := Handler_Addr; ++ ++ if Registered_Handler_Head = null then ++ Registered_Handler_Head := New_Node_Ptr; ++ Registered_Handler_Tail := New_Node_Ptr; ++ else ++ Registered_Handler_Tail.Next := New_Node_Ptr; ++ Registered_Handler_Tail := New_Node_Ptr; ++ end if; ++ end Register_Interrupt_Handler; ++ ++ ----------------------- ++ -- Unblock_Interrupt -- ++ ----------------------- ++ ++ procedure Unblock_Interrupt (Interrupt : Interrupt_ID) is ++ begin ++ Unimplemented ("Unblock_Interrupt"); ++ end Unblock_Interrupt; ++ ++ ------------------ ++ -- Unblocked_By -- ++ ------------------ ++ ++ function Unblocked_By ++ (Interrupt : Interrupt_ID) return System.Tasking.Task_Id ++ is ++ begin ++ Unimplemented ("Unblocked_By"); ++ return Null_Task; ++ end Unblocked_By; ++ ++ ------------------------ ++ -- Unignore_Interrupt -- ++ ------------------------ ++ ++ procedure Unignore_Interrupt (Interrupt : Interrupt_ID) is ++ begin ++ Unimplemented ("Unignore_Interrupt"); ++ end Unignore_Interrupt; ++ ++ ------------------- ++ -- Unimplemented -- ++ ------------------- ++ ++ procedure Unimplemented (Feature : String) is ++ begin ++ raise Program_Error with Feature & " not implemented on VxWorks"; ++ end Unimplemented; ++ ++ ----------------------- ++ -- Interrupt_Manager -- ++ ----------------------- ++ ++ task body Interrupt_Manager is ++ -- By making this task independent of any master, when the process goes ++ -- away, the Interrupt_Manager will terminate gracefully. ++ ++ Ignore : constant Boolean := System.Tasking.Utilities.Make_Independent; ++ pragma Unreferenced (Ignore); ++ ++ -------------------- ++ -- Local Routines -- ++ -------------------- ++ ++ procedure Bind_Handler (Interrupt : Interrupt_ID); ++ -- This procedure does not do anything if a signal is blocked. ++ -- Otherwise, we have to interrupt Server_Task for status change ++ -- through a wakeup signal. ++ ++ procedure Unbind_Handler (Interrupt : Interrupt_ID); ++ -- This procedure does not do anything if a signal is blocked. ++ -- Otherwise, we have to interrupt Server_Task for status change ++ -- through an abort signal. ++ ++ procedure Unprotected_Exchange_Handler ++ (Old_Handler : out Parameterless_Handler; ++ New_Handler : Parameterless_Handler; ++ Interrupt : Interrupt_ID; ++ Static : Boolean; ++ Restoration : Boolean := False); ++ ++ procedure Unprotected_Detach_Handler ++ (Interrupt : Interrupt_ID; ++ Static : Boolean); ++ ++ ------------------ ++ -- Bind_Handler -- ++ ------------------ ++ ++ procedure Bind_Handler (Interrupt : Interrupt_ID) is ++ begin ++ Install_Umbrella_Handler ++ (HW_Interrupt (Interrupt), Notify_Interrupt'Access); ++ end Bind_Handler; ++ ++ -------------------- ++ -- Unbind_Handler -- ++ -------------------- ++ ++ procedure Unbind_Handler (Interrupt : Interrupt_ID) is ++ Status : int; ++ ++ begin ++ -- Flush server task off semaphore, allowing it to terminate ++ ++ Status := Binary_Semaphore_Flush (Semaphore_ID_Map (Interrupt)); ++ pragma Assert (Status = 0); ++ end Unbind_Handler; ++ ++ -------------------------------- ++ -- Unprotected_Detach_Handler -- ++ -------------------------------- ++ ++ procedure Unprotected_Detach_Handler ++ (Interrupt : Interrupt_ID; ++ Static : Boolean) ++ is ++ Old_Handler : Parameterless_Handler; ++ begin ++ if User_Entry (Interrupt).T /= Null_Task then ++ ++ -- If an interrupt entry is installed raise Program_Error ++ -- (propagate it to the caller). ++ ++ raise Program_Error with ++ "an interrupt entry is already installed"; ++ end if; ++ ++ -- Note : Static = True will pass the following check. This is the ++ -- case when we want to detach a handler regardless of the static ++ -- status of the Current_Handler. ++ ++ if not Static and then User_Handler (Interrupt).Static then ++ ++ -- Trying to detach a static Interrupt Handler, raise ++ -- Program_Error. ++ ++ raise Program_Error with ++ "trying to detach a static Interrupt Handler"; ++ end if; ++ ++ Old_Handler := User_Handler (Interrupt).H; ++ ++ -- The new handler ++ ++ User_Handler (Interrupt).H := null; ++ User_Handler (Interrupt).Static := False; ++ ++ if Old_Handler /= null then ++ Unbind_Handler (Interrupt); ++ end if; ++ end Unprotected_Detach_Handler; ++ ++ ---------------------------------- ++ -- Unprotected_Exchange_Handler -- ++ ---------------------------------- ++ ++ procedure Unprotected_Exchange_Handler ++ (Old_Handler : out Parameterless_Handler; ++ New_Handler : Parameterless_Handler; ++ Interrupt : Interrupt_ID; ++ Static : Boolean; ++ Restoration : Boolean := False) ++ is ++ begin ++ if User_Entry (Interrupt).T /= Null_Task then ++ ++ -- If an interrupt entry is already installed, raise ++ -- Program_Error (propagate it to the caller). ++ ++ raise Program_Error with "an interrupt is already installed"; ++ end if; ++ ++ -- Note : A null handler with Static = True will pass the following ++ -- check. This is the case when we want to detach a handler ++ -- regardless of the Static status of Current_Handler. ++ ++ -- We don't check anything if Restoration is True, since we may be ++ -- detaching a static handler to restore a dynamic one. ++ ++ if not Restoration and then not Static ++ and then (User_Handler (Interrupt).Static ++ ++ -- Trying to overwrite a static Interrupt Handler with a dynamic ++ -- Handler ++ ++ -- The new handler is not specified as an Interrupt Handler by a ++ -- pragma. ++ ++ or else not Is_Registered (New_Handler)) ++ then ++ raise Program_Error with ++ "trying to overwrite a static interrupt handler with a " ++ & "dynamic handler"; ++ end if; ++ ++ -- Save the old handler ++ ++ Old_Handler := User_Handler (Interrupt).H; ++ ++ -- The new handler ++ ++ User_Handler (Interrupt).H := New_Handler; ++ ++ if New_Handler = null then ++ ++ -- The null handler means we are detaching the handler ++ ++ User_Handler (Interrupt).Static := False; ++ ++ else ++ User_Handler (Interrupt).Static := Static; ++ end if; ++ ++ -- Invoke a corresponding Server_Task if not yet created. Place ++ -- Task_Id info in Server_ID array. ++ ++ if New_Handler /= null ++ and then ++ (Server_ID (Interrupt) = Null_Task ++ or else ++ Ada.Task_Identification.Is_Terminated ++ (To_Ada (Server_ID (Interrupt)))) ++ then ++ Interrupt_Access_Hold := ++ new Interrupt_Server_Task (Interrupt, Binary_Semaphore_Create); ++ Server_ID (Interrupt) := ++ To_System (Interrupt_Access_Hold.all'Identity); ++ end if; ++ ++ if (New_Handler = null) and then Old_Handler /= null then ++ ++ -- Restore default handler ++ ++ Unbind_Handler (Interrupt); ++ ++ elsif Old_Handler = null then ++ ++ -- Save default handler ++ ++ Bind_Handler (Interrupt); ++ end if; ++ end Unprotected_Exchange_Handler; ++ ++ -- Start of processing for Interrupt_Manager ++ ++ begin ++ loop ++ -- A block is needed to absorb Program_Error exception ++ ++ declare ++ Old_Handler : Parameterless_Handler; ++ ++ begin ++ select ++ accept Attach_Handler ++ (New_Handler : Parameterless_Handler; ++ Interrupt : Interrupt_ID; ++ Static : Boolean; ++ Restoration : Boolean := False) ++ do ++ Unprotected_Exchange_Handler ++ (Old_Handler, New_Handler, Interrupt, Static, Restoration); ++ end Attach_Handler; ++ ++ or ++ accept Exchange_Handler ++ (Old_Handler : out Parameterless_Handler; ++ New_Handler : Parameterless_Handler; ++ Interrupt : Interrupt_ID; ++ Static : Boolean) ++ do ++ Unprotected_Exchange_Handler ++ (Old_Handler, New_Handler, Interrupt, Static); ++ end Exchange_Handler; ++ ++ or ++ accept Detach_Handler ++ (Interrupt : Interrupt_ID; ++ Static : Boolean) ++ do ++ Unprotected_Detach_Handler (Interrupt, Static); ++ end Detach_Handler; ++ ++ or ++ accept Bind_Interrupt_To_Entry ++ (T : Task_Id; ++ E : Task_Entry_Index; ++ Interrupt : Interrupt_ID) ++ do ++ -- If there is a binding already (either a procedure or an ++ -- entry), raise Program_Error (propagate it to the caller). ++ ++ if User_Handler (Interrupt).H /= null ++ or else User_Entry (Interrupt).T /= Null_Task ++ then ++ raise Program_Error with ++ "a binding for this interrupt is already present"; ++ end if; ++ ++ User_Entry (Interrupt) := Entry_Assoc'(T => T, E => E); ++ ++ -- Indicate the attachment of interrupt entry in the ATCB. ++ -- This is needed so when an interrupt entry task terminates ++ -- the binding can be cleaned. The call to unbinding must be ++ -- make by the task before it terminates. ++ ++ T.Interrupt_Entry := True; ++ ++ -- Invoke a corresponding Server_Task if not yet created. ++ -- Place Task_Id info in Server_ID array. ++ ++ if Server_ID (Interrupt) = Null_Task ++ or else ++ Ada.Task_Identification.Is_Terminated ++ (To_Ada (Server_ID (Interrupt))) ++ then ++ Interrupt_Access_Hold := new Interrupt_Server_Task ++ (Interrupt, Binary_Semaphore_Create); ++ Server_ID (Interrupt) := ++ To_System (Interrupt_Access_Hold.all'Identity); ++ end if; ++ ++ Bind_Handler (Interrupt); ++ end Bind_Interrupt_To_Entry; ++ ++ or ++ accept Detach_Interrupt_Entries (T : Task_Id) do ++ for Int in Interrupt_ID'Range loop ++ if not Is_Reserved (Int) then ++ if User_Entry (Int).T = T then ++ User_Entry (Int) := ++ Entry_Assoc' ++ (T => Null_Task, E => Null_Task_Entry); ++ Unbind_Handler (Int); ++ end if; ++ end if; ++ end loop; ++ ++ -- Indicate in ATCB that no interrupt entries are attached ++ ++ T.Interrupt_Entry := False; ++ end Detach_Interrupt_Entries; ++ end select; ++ ++ exception ++ -- If there is a Program_Error we just want to propagate it to ++ -- the caller and do not want to stop this task. ++ ++ when Program_Error => ++ null; ++ ++ when others => ++ pragma Assert (False); ++ null; ++ end; ++ end loop; ++ ++ exception ++ when Standard'Abort_Signal => ++ ++ -- Flush interrupt server semaphores, so they can terminate ++ ++ Finalize_Interrupt_Servers; ++ raise; ++ end Interrupt_Manager; ++ ++ --------------------------- ++ -- Interrupt_Server_Task -- ++ --------------------------- ++ ++ -- Server task for vectored hardware interrupt handling ++ ++ task body Interrupt_Server_Task is ++ Ignore : constant Boolean := System.Tasking.Utilities.Make_Independent; ++ ++ Self_Id : constant Task_Id := Self; ++ Tmp_Handler : Parameterless_Handler; ++ Tmp_ID : Task_Id; ++ Tmp_Entry_Index : Task_Entry_Index; ++ Status : int; ++ ++ begin ++ Semaphore_ID_Map (Interrupt) := Int_Sema; ++ ++ loop ++ -- Pend on semaphore that will be triggered by the umbrella handler ++ -- when the associated interrupt comes in. ++ ++ Status := Binary_Semaphore_Obtain (Int_Sema); ++ pragma Assert (Status = 0); ++ ++ if User_Handler (Interrupt).H /= null then ++ ++ -- Protected procedure handler ++ ++ Tmp_Handler := User_Handler (Interrupt).H; ++ Tmp_Handler.all; ++ ++ elsif User_Entry (Interrupt).T /= Null_Task then ++ ++ -- Interrupt entry handler ++ ++ Tmp_ID := User_Entry (Interrupt).T; ++ Tmp_Entry_Index := User_Entry (Interrupt).E; ++ System.Tasking.Rendezvous.Call_Simple ++ (Tmp_ID, Tmp_Entry_Index, System.Null_Address); ++ ++ else ++ -- Semaphore has been flushed by an unbind operation in the ++ -- Interrupt_Manager. Terminate the server task. ++ ++ -- Wait for the Interrupt_Manager to complete its work ++ ++ POP.Write_Lock (Self_Id); ++ ++ -- Unassociate the interrupt handler ++ ++ Semaphore_ID_Map (Interrupt) := 0; ++ ++ -- Delete the associated semaphore ++ ++ Status := Binary_Semaphore_Delete (Int_Sema); ++ ++ pragma Assert (Status = 0); ++ ++ -- Set status for the Interrupt_Manager ++ ++ Server_ID (Interrupt) := Null_Task; ++ POP.Unlock (Self_Id); ++ ++ exit; ++ end if; ++ end loop; ++ end Interrupt_Server_Task; ++ ++begin ++ -- Get Interrupt_Manager's ID so that Abort_Interrupt can be sent ++ ++ Interrupt_Manager_ID := To_System (Interrupt_Manager'Identity); ++end System.Interrupts; + +Property changes on: gcc/ada/s-interr-hwint.adb +___________________________________________________________________ +Added: svn:mergeinfo +## -0,0 +0,1 ## + Merged /trunk/gcc/ada/s-interr-hwint.adb:r239173,239656,239797,243528,243962 +Index: gcc/ada/ChangeLog +=================================================================== +--- a/src/gcc/ada/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/ada/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,69 @@ ++2017-06-15 Nicolas Boulenguez ++ ++ PR ada/81105 ++ * gcc-interface/Makefile.in (x86 kfreebsd): Adjust system.ads setting. ++ (i[3456]86-pc-gnu): Likewise. ++ (x86_64 kfreebsd): Likewise. ++ ++2017-06-12 Eric Botcazou ++ ++ PR ada/81070 ++ * s-interr-hwint.adb: Reinstate. ++ * gcc-interface/Makefile.in (RTEMS): Use it again. ++ ++2017-06-12 Sebastian Huber ++ ++ Backport from mainline ++ 2017-06-07 Sebastian Huber ++ ++ * Makefile.in (rtems): Use TLS implementation for s-tpopsp.adb. ++ * s-tpopsp-rtems.adb: Delete. ++ ++2017-05-22 Eric Botcazou ++ ++ * gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing ++ for Itypes that are E_Access_Subtype. ++ : Use the DECL of the base type directly. ++ ++2017-05-17 Eric Botcazou ++ ++ PR ada/80784 ++ Backport from mainline ++ ++ 2017-05-02 Ed Schonberg ++ ++ * exp_ch3.adb (Freeze_Type): Do not generate an invariant ++ procedure body for a local (sub)type declaration within a ++ predicate function. Invariant checks do not apply to these, and ++ the expansion of the procedure will happen in the wrong scope, ++ leading to misplaced freeze nodes. ++ ++2017-05-12 Eric Botcazou ++ ++ * system-linux-arm.ads (Memory_Size): Use Long_Integer'Size ++ instead of Word_Size. ++ ++ Revert ++ 2017-03-28 Andreas Schwab ++ ++ PR ada/80117 ++ * system-linux-aarch64-ilp32.ads: New file. ++ * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename ++ from LIBGNAT_TARGET_PAIRS. ++ (LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define. ++ (LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and ++ LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64 ++ or -mabi=ilp32, resp. ++ ++2017-05-10 H.J. Lu ++ ++ Back port from mainline ++ 2017-05-10 H.J. Lu ++ ++ PR ada/80626 ++ * system-linux-x86.ads (Memory_Size): Use Long_Integer'Size ++ instead of Word_Size. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +Index: gcc/ada/system-linux-x86.ads +=================================================================== +--- a/src/gcc/ada/system-linux-x86.ads (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/ada/system-linux-x86.ads (.../branches/gcc-7-branch) +@@ -70,7 +70,7 @@ + + Storage_Unit : constant := 8; + Word_Size : constant := Standard'Word_Size; +- Memory_Size : constant := 2 ** Word_Size; ++ Memory_Size : constant := 2 ** Long_Integer'Size; + + -- Address comparison + +Index: gcc/ada/gcc-interface/Makefile.in +=================================================================== +--- a/src/gcc/ada/gcc-interface/Makefile.in (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/ada/gcc-interface/Makefile.in (.../branches/gcc-7-branch) +@@ -1424,7 +1424,7 @@ + s-tpopsp.adb= 0); ++ machine_mode mode = GET_MODE (SET_DEST (set)); ++ dst_nregs = hard_regno_nregs[dst_hard_regno][mode]; ++ + for (reg = cand_id->regs; reg != NULL; reg = reg->next) + if (reg->type != OP_IN && reg->regno != ignore_regno) + { +@@ -1146,6 +1153,10 @@ + break; + if (i < nregs) + break; ++ /* Ensure the clobber also doesn't overlap dst_regno. */ ++ if (hard_regno + nregs > dst_hard_regno ++ && hard_regno < dst_hard_regno + dst_nregs) ++ break; + } + + if (reg == NULL) +@@ -1153,9 +1164,14 @@ + for (reg = static_cand_id->hard_regs; + reg != NULL; + reg = reg->next) +- if (reg->type != OP_IN +- && TEST_HARD_REG_BIT (live_hard_regs, reg->regno)) +- break; ++ if (reg->type != OP_IN) ++ { ++ if (TEST_HARD_REG_BIT (live_hard_regs, reg->regno)) ++ break; ++ if (reg->regno >= dst_hard_regno ++ && reg->regno < dst_hard_regno + dst_nregs) ++ break; ++ } + } + + if (reg == NULL) +Index: gcc/fortran/openmp.c +=================================================================== +--- a/src/gcc/fortran/openmp.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/fortran/openmp.c (.../branches/gcc-7-branch) +@@ -4374,7 +4374,7 @@ + else + resolve_oacc_data_clauses (n->sym, n->where, name); + } +- else if (list != OMP_CLAUSE_DEPEND ++ else if (list != OMP_LIST_DEPEND + && n->sym->as + && n->sym->as->type == AS_ASSUMED_SIZE) + gfc_error ("Assumed size array %qs in %s clause at %L", +Index: gcc/fortran/trans-expr.c +=================================================================== +--- a/src/gcc/fortran/trans-expr.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/fortran/trans-expr.c (.../branches/gcc-7-branch) +@@ -5454,6 +5454,16 @@ + if (fsym && fsym->attr.allocatable + && fsym->attr.intent == INTENT_OUT) + { ++ if (fsym->ts.type == BT_DERIVED ++ && fsym->ts.u.derived->attr.alloc_comp) ++ { ++ // deallocate the components first ++ tmp = gfc_deallocate_alloc_comp (fsym->ts.u.derived, ++ parmse.expr, e->rank); ++ if (tmp != NULL_TREE) ++ gfc_add_expr_to_block (&se->pre, tmp); ++ } ++ + tmp = build_fold_indirect_ref_loc (input_location, + parmse.expr); + if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (tmp))) +@@ -6122,7 +6132,7 @@ + after use. This necessitates the creation of a temporary to + hold the result to prevent duplicate calls. */ + if (!byref && sym->ts.type != BT_CHARACTER +- && sym->attr.allocatable && !sym->attr.dimension) ++ && sym->attr.allocatable && !sym->attr.dimension && !comp) + { + tmp = gfc_create_var (TREE_TYPE (se->expr), NULL); + gfc_add_modify (&se->pre, tmp, se->expr); +Index: gcc/fortran/ChangeLog +=================================================================== +--- a/src/gcc/fortran/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/fortran/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,85 @@ ++2017-06-09 Janus Weil ++ ++ Backport from trunk ++ PR fortran/70601 ++ * trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable ++ function results. ++ ++2017-06-05 Janus Weil ++ ++ Backport from trunk ++ PR fortran/80766 ++ * resolve.c (resolve_fl_derived): Make sure that vtype symbols are ++ properly resolved. ++ ++2017-06-02 Thomas Koenig ++ ++ PR fortran/80904 ++ * frontend-passes.c (matmul_lhs_realloc): Correct ++ allocation size for case A1B2. ++ ++2017-06-02 Jakub Jelinek ++ ++ PR fortran/80918 ++ * openmp.c (resolve_omp_clauses): Fix a typo. ++ ++2017-05-23 Jerry DeLisle ++ ++ Backport from trunk ++ PR fortran/80741 ++ * trans-io.c (transfer_namelist_element): Change check from ++ NULL_TREE to null_pointer_node. ++ ++2017-05-23 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/80333 ++ * trans-io.c (nml_get_addr_expr): If we are dealing with class ++ type data set tmp tree to get that address. ++ (transfer_namelist_element): Set the array spec to point to the ++ the class data. ++ ++2017-05-17 Jerry DeLisle ++ ++ Backport from trunk ++ PR fortran/78659 ++ * io.c (dtio_procs_present): Add new function to check for DTIO ++ procedures relative to I/O statement READ or WRITE. ++ (gfc_resolve_dt): Add namelist checks using the new function. ++ * resolve.c (dtio_procs_present): Remove function and related ++ namelist checks. (resolve_fl_namelist): Add check specific to ++ Fortran 95 restriction on namelist objects. ++ ++2017-05-15 Steven G. Kargl ++ ++ Backport from trunk ++ PR fortran/80752 ++ * expr.c (gfc_generate_initializer): If type conversion fails, ++ check for error and return NULL. ++ ++2017-05-05 Janus Weil ++ ++ Backport from trunk ++ PR fortran/80121 ++ * trans-expr.c (gfc_conv_procedure_call): Deallocate the components ++ of allocatable intent(out) arguments. ++ ++2017-05-05 Janus Weil ++ ++ Backport from trunk ++ PR fortran/80392 ++ * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when ++ building a derived type that includes a procedure pointer component ++ with a polymorphic result. ++ ++2017-05-04 Jerry DeLisle ++ ++ Backport from trunk. ++ PR fortran/80484 ++ * io.c (format_lex): Check for '/' and set token to FMT_SLASH. ++ (check_format): Move FMT_DT checking code to data_desc section. ++ * module.c (gfc_match_use): Include the case of INTERFACE_DTIO. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +Index: gcc/fortran/expr.c +=================================================================== +--- a/src/gcc/fortran/expr.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/fortran/expr.c (.../branches/gcc-7-branch) +@@ -4395,7 +4395,12 @@ + if ((comp->ts.type != tmp->ts.type + || comp->ts.kind != tmp->ts.kind) + && !comp->attr.pointer && !comp->attr.proc_pointer) +- gfc_convert_type_warn (ctor->expr, &comp->ts, 2, false); ++ { ++ bool val; ++ val = gfc_convert_type_warn (ctor->expr, &comp->ts, 1, false); ++ if (val == false) ++ return NULL; ++ } + } + + if (comp->attr.allocatable +Index: gcc/fortran/module.c +=================================================================== +--- a/src/gcc/fortran/module.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/fortran/module.c (.../branches/gcc-7-branch) +@@ -631,6 +631,7 @@ + + case INTERFACE_USER_OP: + case INTERFACE_GENERIC: ++ case INTERFACE_DTIO: + m = gfc_match (" =>"); + + if (type == INTERFACE_USER_OP && m == MATCH_YES +Index: gcc/fortran/trans-types.c +=================================================================== +--- a/src/gcc/fortran/trans-types.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/fortran/trans-types.c (.../branches/gcc-7-branch) +@@ -2617,9 +2617,10 @@ + the same as derived, by forcing the procedure pointer component to + be built as if the explicit interface does not exist. */ + if (c->attr.proc_pointer +- && ((c->ts.type != BT_DERIVED && c->ts.type != BT_CLASS) +- || (c->ts.u.derived +- && !gfc_compare_derived_types (derived, c->ts.u.derived)))) ++ && (c->ts.type != BT_DERIVED || (c->ts.u.derived ++ && !gfc_compare_derived_types (derived, c->ts.u.derived))) ++ && (c->ts.type != BT_CLASS || (CLASS_DATA (c)->ts.u.derived ++ && !gfc_compare_derived_types (derived, CLASS_DATA (c)->ts.u.derived)))) + field_type = gfc_get_ppc_type (c); + else if (c->attr.proc_pointer && derived->backend_decl) + { +Index: gcc/fortran/io.c +=================================================================== +--- a/src/gcc/fortran/io.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/fortran/io.c (.../branches/gcc-7-branch) +@@ -491,6 +491,11 @@ + token = FMT_END; + break; + } ++ if (c == '/') ++ { ++ token = FMT_SLASH; ++ break; ++ } + if (c == delim) + continue; + unget_char (); +@@ -498,6 +503,11 @@ + } + } + } ++ else if (c == '/') ++ { ++ token = FMT_SLASH; ++ break; ++ } + else + unget_char (); + } +@@ -687,54 +697,6 @@ + return false; + goto between_desc; + +- case FMT_DT: +- t = format_lex (); +- if (t == FMT_ERROR) +- goto fail; +- switch (t) +- { +- case FMT_RPAREN: +- level--; +- if (level < 0) +- goto finished; +- goto between_desc; +- +- case FMT_COMMA: +- goto format_item; +- +- case FMT_LPAREN: +- +- dtio_vlist: +- t = format_lex (); +- if (t == FMT_ERROR) +- goto fail; +- +- if (t != FMT_POSINT) +- { +- error = posint_required; +- goto syntax; +- } +- +- t = format_lex (); +- if (t == FMT_ERROR) +- goto fail; +- +- if (t == FMT_COMMA) +- goto dtio_vlist; +- if (t != FMT_RPAREN) +- { +- error = _("Right parenthesis expected at %C"); +- goto syntax; +- } +- goto between_desc; +- +- default: +- error = unexpected_element; +- goto syntax; +- } +- +- goto format_item; +- + case FMT_SIGN: + case FMT_BLANK: + case FMT_DP: +@@ -783,6 +745,7 @@ + case FMT_A: + case FMT_D: + case FMT_H: ++ case FMT_DT: + goto data_desc; + + case FMT_END: +@@ -1004,6 +967,53 @@ + + break; + ++ case FMT_DT: ++ t = format_lex (); ++ if (t == FMT_ERROR) ++ goto fail; ++ switch (t) ++ { ++ case FMT_RPAREN: ++ level--; ++ if (level < 0) ++ goto finished; ++ goto between_desc; ++ ++ case FMT_COMMA: ++ goto format_item; ++ ++ case FMT_LPAREN: ++ ++ dtio_vlist: ++ t = format_lex (); ++ if (t == FMT_ERROR) ++ goto fail; ++ ++ if (t != FMT_POSINT) ++ { ++ error = posint_required; ++ goto syntax; ++ } ++ ++ t = format_lex (); ++ if (t == FMT_ERROR) ++ goto fail; ++ ++ if (t == FMT_COMMA) ++ goto dtio_vlist; ++ if (t != FMT_RPAREN) ++ { ++ error = _("Right parenthesis expected at %C"); ++ goto syntax; ++ } ++ goto between_desc; ++ ++ default: ++ error = unexpected_element; ++ goto syntax; ++ } ++ break; ++ + case FMT_F: + t = format_lex (); + if (t == FMT_ERROR) +@@ -2956,7 +2966,31 @@ + return MATCH_ERROR; + } + ++/* Check for formatted read and write DTIO procedures. */ + ++static bool ++dtio_procs_present (gfc_symbol *sym, io_kind k) ++{ ++ gfc_symbol *derived; ++ ++ if (sym && sym->ts.u.derived) ++ { ++ if (sym->ts.type == BT_CLASS && CLASS_DATA (sym)) ++ derived = CLASS_DATA (sym)->ts.u.derived; ++ else if (sym->ts.type == BT_DERIVED) ++ derived = sym->ts.u.derived; ++ else ++ return false; ++ if ((k == M_WRITE || k == M_PRINT) && ++ (gfc_find_specific_dtio_proc (derived, true, true) != NULL)) ++ return true; ++ if ((k == M_READ) && ++ (gfc_find_specific_dtio_proc (derived, false, true) != NULL)) ++ return true; ++ } ++ return false; ++} ++ + /* Traverse a namelist that is part of a READ statement to make sure + that none of the variables in the namelist are INTENT(IN). Returns + nonzero if we find such a variable. */ +@@ -3234,7 +3268,7 @@ + + /* If we are reading and have a namelist, check that all namelist symbols + can appear in a variable definition context. */ +- if (k == M_READ && dt->namelist) ++ if (dt->namelist) + { + gfc_namelist* n; + for (n = dt->namelist->namelist; n; n = n->next) +@@ -3242,18 +3276,51 @@ + gfc_expr* e; + bool t; + +- e = gfc_get_variable_expr (gfc_find_sym_in_symtree (n->sym)); +- t = gfc_check_vardef_context (e, false, false, false, NULL); +- gfc_free_expr (e); ++ if (k == M_READ) ++ { ++ e = gfc_get_variable_expr (gfc_find_sym_in_symtree (n->sym)); ++ t = gfc_check_vardef_context (e, false, false, false, NULL); ++ gfc_free_expr (e); ++ ++ if (!t) ++ { ++ gfc_error ("NAMELIST %qs in READ statement at %L contains" ++ " the symbol %qs which may not appear in a" ++ " variable definition context", ++ dt->namelist->name, loc, n->sym->name); ++ return false; ++ } ++ } + +- if (!t) ++ t = dtio_procs_present (n->sym, k); ++ ++ if (n->sym->ts.type == BT_CLASS && !t) + { +- gfc_error ("NAMELIST %qs in READ statement at %L contains" +- " the symbol %qs which may not appear in a" +- " variable definition context", +- dt->namelist->name, loc, n->sym->name); +- return false; ++ gfc_error ("NAMELIST object %qs in namelist %qs at %L is " ++ "polymorphic and requires a defined input/output " ++ "procedure", n->sym->name, dt->namelist->name, loc); ++ return 1; + } ++ ++ if ((n->sym->ts.type == BT_DERIVED) ++ && (n->sym->ts.u.derived->attr.alloc_comp ++ || n->sym->ts.u.derived->attr.pointer_comp)) ++ { ++ if (!gfc_notify_std (GFC_STD_F2003, "NAMELIST object %qs in " ++ "namelist %qs at %L with ALLOCATABLE " ++ "or POINTER components", n->sym->name, ++ dt->namelist->name, loc)) ++ return 1; ++ ++ if (!t) ++ { ++ gfc_error ("NAMELIST object %qs in namelist %qs at %L has " ++ "ALLOCATABLE or POINTER components and thus requires " ++ "a defined input/output procedure", n->sym->name, ++ dt->namelist->name, loc); ++ return 1; ++ } ++ } + } + } + +Index: gcc/fortran/frontend-passes.c +=================================================================== +--- a/src/gcc/fortran/frontend-passes.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/fortran/frontend-passes.c (.../branches/gcc-7-branch) +@@ -2362,7 +2362,7 @@ + break; + + case A1B2: +- ar->start[0] = get_array_inq_function (GFC_ISYM_SIZE, b, 1); ++ ar->start[0] = get_array_inq_function (GFC_ISYM_SIZE, b, 2); + cond = build_logical_expr (INTRINSIC_NE, + get_array_inq_function (GFC_ISYM_SIZE, c, 1), + get_array_inq_function (GFC_ISYM_SIZE, b, 2)); +Index: gcc/fortran/resolve.c +=================================================================== +--- a/src/gcc/fortran/resolve.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/fortran/resolve.c (.../branches/gcc-7-branch) +@@ -13835,6 +13835,8 @@ + gfc_symbol *vtab = gfc_find_derived_vtab (data->ts.u.derived); + gcc_assert (vtab); + vptr->ts.u.derived = vtab->ts.u.derived; ++ if (!resolve_fl_derived0 (vptr->ts.u.derived)) ++ return false; + } + } + +@@ -13849,31 +13851,11 @@ + } + + +-/* Check for formatted read and write DTIO procedures. */ +- + static bool +-dtio_procs_present (gfc_symbol *sym) +-{ +- gfc_symbol *derived; +- +- if (sym->ts.type == BT_CLASS) +- derived = CLASS_DATA (sym)->ts.u.derived; +- else if (sym->ts.type == BT_DERIVED) +- derived = sym->ts.u.derived; +- else +- return false; +- +- return gfc_find_specific_dtio_proc (derived, true, true) != NULL +- && gfc_find_specific_dtio_proc (derived, false, true) != NULL; +-} +- +- +-static bool + resolve_fl_namelist (gfc_symbol *sym) + { + gfc_namelist *nl; + gfc_symbol *nlsym; +- bool dtio; + + for (nl = sym->namelist; nl; nl = nl->next) + { +@@ -13907,27 +13889,6 @@ + sym->name, &sym->declared_at)) + return false; + +- dtio = dtio_procs_present (nl->sym); +- +- if (nl->sym->ts.type == BT_CLASS && !dtio) +- { +- gfc_error ("NAMELIST object %qs in namelist %qs at %L is " +- "polymorphic and requires a defined input/output " +- "procedure", nl->sym->name, sym->name, &sym->declared_at); +- return false; +- } +- +- if (nl->sym->ts.type == BT_DERIVED +- && (nl->sym->ts.u.derived->attr.alloc_comp +- || nl->sym->ts.u.derived->attr.pointer_comp)) +- { +- if (!gfc_notify_std (GFC_STD_F2003, "NAMELIST object %qs in " +- "namelist %qs at %L with ALLOCATABLE " +- "or POINTER components", nl->sym->name, +- sym->name, &sym->declared_at)) +- return false; +- return true; +- } + } + + /* Reject PRIVATE objects in a PUBLIC namelist. */ +@@ -13945,10 +13906,17 @@ + return false; + } + +- /* If the derived type has specific DTIO procedures for both read and +- write then namelist objects with private components are OK. */ +- if (dtio_procs_present (nl->sym)) +- continue; ++ if (nl->sym->ts.type == BT_DERIVED ++ && (nl->sym->ts.u.derived->attr.alloc_comp ++ || nl->sym->ts.u.derived->attr.pointer_comp)) ++ { ++ if (!gfc_notify_std (GFC_STD_F2003, "NAMELIST object %qs in " ++ "namelist %qs at %L with ALLOCATABLE " ++ "or POINTER components", nl->sym->name, ++ sym->name, &sym->declared_at)) ++ return false; ++ return true; ++ } + + /* Types with private components that came here by USE-association. */ + if (nl->sym->ts.type == BT_DERIVED +Index: gcc/fortran/trans-io.c +=================================================================== +--- a/src/gcc/fortran/trans-io.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/fortran/trans-io.c (.../branches/gcc-7-branch) +@@ -1613,6 +1613,10 @@ + tmp = fold_build3_loc (input_location, COMPONENT_REF, TREE_TYPE (tmp), + base_addr, tmp, NULL_TREE); + ++ if (GFC_CLASS_TYPE_P (TREE_TYPE (tmp)) ++ && GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (gfc_class_data_get (tmp)))) ++ tmp = gfc_class_data_get (tmp); ++ + if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (tmp))) + tmp = gfc_conv_array_data (tmp); + else +@@ -1670,9 +1674,13 @@ + + /* Build ts, as and data address using symbol or component. */ + +- ts = (sym) ? &sym->ts : &c->ts; +- as = (sym) ? sym->as : c->as; ++ ts = sym ? &sym->ts : &c->ts; + ++ if (ts->type != BT_CLASS) ++ as = sym ? sym->as : c->as; ++ else ++ as = sym ? CLASS_DATA (sym)->as : CLASS_DATA (c)->as; ++ + addr_expr = nml_get_addr_expr (sym, c, base_addr); + + if (as) +@@ -1680,9 +1688,12 @@ + + if (rank) + { +- decl = (sym) ? sym->backend_decl : c->backend_decl; ++ decl = sym ? sym->backend_decl : c->backend_decl; + if (sym && sym->attr.dummy) + decl = build_fold_indirect_ref_loc (input_location, decl); ++ ++ if (ts->type == BT_CLASS) ++ decl = gfc_class_data_get (decl); + dt = TREE_TYPE (decl); + dtype = gfc_get_dtype (dt); + } +@@ -1756,7 +1767,7 @@ + else + tmp = build_int_cst (gfc_charlen_type_node, 0); + +- if (dtio_proc == NULL_TREE) ++ if (dtio_proc == null_pointer_node) + tmp = build_call_expr_loc (input_location, + iocall[IOCALL_SET_NML_VAL], 6, + dt_parm_addr, addr_expr, string, +Index: gcc/alias.c +=================================================================== +--- a/src/gcc/alias.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/alias.c (.../branches/gcc-7-branch) +@@ -2046,6 +2046,18 @@ + if (base1 == base2) + return 1; + ++ /* If we have two register decls with register specification we ++ cannot decide unless their assembler name is the same. */ ++ if (DECL_REGISTER (base1) ++ && DECL_REGISTER (base2) ++ && DECL_ASSEMBLER_NAME_SET_P (base1) ++ && DECL_ASSEMBLER_NAME_SET_P (base2)) ++ { ++ if (DECL_ASSEMBLER_NAME (base1) == DECL_ASSEMBLER_NAME (base2)) ++ return 1; ++ return -1; ++ } ++ + /* Declarations of non-automatic variables may have aliases. All other + decls are unique. */ + if (!decl_in_symtab_p (base1) +Index: gcc/tree-vect-data-refs.c +=================================================================== +--- a/src/gcc/tree-vect-data-refs.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/tree-vect-data-refs.c (.../branches/gcc-7-branch) +@@ -3957,6 +3957,27 @@ + datarefs[i] = dr; + } + ++ if (TREE_CODE (DR_BASE_ADDRESS (dr)) == ADDR_EXPR ++ && VAR_P (TREE_OPERAND (DR_BASE_ADDRESS (dr), 0)) ++ && DECL_NONALIASED (TREE_OPERAND (DR_BASE_ADDRESS (dr), 0))) ++ { ++ if (dump_enabled_p ()) ++ { ++ dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, ++ "not vectorized: base object not addressable " ++ "for stmt: "); ++ dump_gimple_stmt (MSG_MISSED_OPTIMIZATION, TDF_SLIM, stmt, 0); ++ } ++ if (is_a (vinfo)) ++ { ++ /* In BB vectorization the ref can still participate ++ in dependence analysis, we just can't vectorize it. */ ++ STMT_VINFO_VECTORIZABLE (stmt_info) = false; ++ continue; ++ } ++ return false; ++ } ++ + /* Set vectype for STMT. */ + scalar_type = TREE_TYPE (DR_REF (dr)); + STMT_VINFO_VECTYPE (stmt_info) +Index: gcc/gimplify.c +=================================================================== +--- a/src/gcc/gimplify.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/gimplify.c (.../branches/gcc-7-branch) +@@ -6669,7 +6669,7 @@ + of PRIVATE. The sharing would take place via the pointer variable + which we remapped above. */ + if (flags & GOVD_SHARED) +- flags = GOVD_PRIVATE | GOVD_DEBUG_PRIVATE ++ flags = GOVD_SHARED | GOVD_DEBUG_PRIVATE + | (flags & (GOVD_SEEN | GOVD_EXPLICIT)); + + /* We're going to make use of the TYPE_SIZE_UNIT at least in the +@@ -8576,7 +8576,7 @@ + return 0; + if (flags & GOVD_DEBUG_PRIVATE) + { +- gcc_assert ((flags & GOVD_DATA_SHARE_CLASS) == GOVD_PRIVATE); ++ gcc_assert ((flags & GOVD_DATA_SHARE_CLASS) == GOVD_SHARED); + private_debug = true; + } + else if (flags & GOVD_MAP) +@@ -8819,7 +8819,7 @@ + { + gcc_assert ((n->value & GOVD_DEBUG_PRIVATE) == 0 + || ((n->value & GOVD_DATA_SHARE_CLASS) +- == GOVD_PRIVATE)); ++ == GOVD_SHARED)); + OMP_CLAUSE_SET_CODE (c, OMP_CLAUSE_PRIVATE); + OMP_CLAUSE_PRIVATE_DEBUG (c) = 1; + } +Index: gcc/loop-doloop.c +=================================================================== +--- a/src/gcc/loop-doloop.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/loop-doloop.c (.../branches/gcc-7-branch) +@@ -367,6 +367,7 @@ + } + + seq = get_insns (); ++ unshare_all_rtl_in_chain (seq); + end_sequence (); + + /* There always is at least the jump insn in the sequence. */ +Index: gcc/tree-cfgcleanup.c +=================================================================== +--- a/src/gcc/tree-cfgcleanup.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/tree-cfgcleanup.c (.../branches/gcc-7-branch) +@@ -739,6 +739,11 @@ + return retval; + } + ++static bool ++mfb_keep_latches (edge e) ++{ ++ return ! dominated_by_p (CDI_DOMINATORS, e->src, e->dest); ++} + + /* Remove unreachable blocks and other miscellaneous clean up work. + Return true if the flowgraph was modified, false otherwise. */ +@@ -766,6 +771,64 @@ + changed = false; + } + ++ /* Ensure that we have single entries into loop headers. Otherwise ++ if one of the entries is becoming a latch due to CFG cleanup ++ (from formerly being part of an irreducible region) then we mess ++ up loop fixup and associate the old loop with a different region ++ which makes niter upper bounds invalid. See for example PR80549. ++ This needs to be done before we remove trivially dead edges as ++ we need to capture the dominance state before the pending transform. */ ++ if (current_loops) ++ { ++ loop_p loop; ++ unsigned i; ++ FOR_EACH_VEC_ELT (*get_loops (cfun), i, loop) ++ if (loop && loop->header) ++ { ++ basic_block bb = loop->header; ++ edge_iterator ei; ++ edge e; ++ bool found_latch = false; ++ bool any_abnormal = false; ++ unsigned n = 0; ++ /* We are only interested in preserving existing loops, but ++ we need to check whether they are still real and of course ++ if we need to add a preheader at all. */ ++ FOR_EACH_EDGE (e, ei, bb->preds) ++ { ++ if (e->flags & EDGE_ABNORMAL) ++ { ++ any_abnormal = true; ++ break; ++ } ++ if (dominated_by_p (CDI_DOMINATORS, e->src, bb)) ++ { ++ found_latch = true; ++ continue; ++ } ++ n++; ++ } ++ /* If we have more than one entry to the loop header ++ create a forwarder. */ ++ if (found_latch && ! any_abnormal && n > 1) ++ { ++ edge fallthru = make_forwarder_block (bb, mfb_keep_latches, ++ NULL); ++ loop->header = fallthru->dest; ++ if (! loops_state_satisfies_p (LOOPS_NEED_FIXUP)) ++ { ++ /* The loop updating from the CFG hook is incomplete ++ when we have multiple latches, fixup manually. */ ++ remove_bb_from_loops (fallthru->src); ++ loop_p cloop = loop; ++ FOR_EACH_EDGE (e, ei, fallthru->src->preds) ++ cloop = find_common_loop (cloop, e->src->loop_father); ++ add_bb_to_loop (fallthru->src, cloop); ++ } ++ } ++ } ++ } ++ + changed |= cleanup_tree_cfg_1 (); + + gcc_assert (dom_info_available_p (CDI_DOMINATORS)); +Index: gcc/tree-sra.c +=================================================================== +--- a/src/gcc/tree-sra.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/tree-sra.c (.../branches/gcc-7-branch) +@@ -949,10 +949,12 @@ + + /* Return true iff TYPE is scalarizable - i.e. a RECORD_TYPE or fixed-length + ARRAY_TYPE with fields that are either of gimple register types (excluding +- bit-fields) or (recursively) scalarizable types. */ ++ bit-fields) or (recursively) scalarizable types. CONST_DECL must be true if ++ we are considering a decl from constant pool. If it is false, char arrays ++ will be refused. */ + + static bool +-scalarizable_type_p (tree type) ++scalarizable_type_p (tree type, bool const_decl) + { + gcc_assert (!is_gimple_reg_type (type)); + if (type_contains_placeholder_p (type)) +@@ -970,7 +972,7 @@ + return false; + + if (!is_gimple_reg_type (ft) +- && !scalarizable_type_p (ft)) ++ && !scalarizable_type_p (ft, const_decl)) + return false; + } + +@@ -978,10 +980,16 @@ + + case ARRAY_TYPE: + { ++ HOST_WIDE_INT min_elem_size; ++ if (const_decl) ++ min_elem_size = 0; ++ else ++ min_elem_size = BITS_PER_UNIT; ++ + if (TYPE_DOMAIN (type) == NULL_TREE + || !tree_fits_shwi_p (TYPE_SIZE (type)) + || !tree_fits_shwi_p (TYPE_SIZE (TREE_TYPE (type))) +- || (tree_to_shwi (TYPE_SIZE (TREE_TYPE (type))) <= 0) ++ || (tree_to_shwi (TYPE_SIZE (TREE_TYPE (type))) <= min_elem_size) + || !tree_fits_shwi_p (TYPE_MIN_VALUE (TYPE_DOMAIN (type)))) + return false; + if (tree_to_shwi (TYPE_SIZE (type)) == 0 +@@ -995,7 +1003,7 @@ + + tree elem = TREE_TYPE (type); + if (!is_gimple_reg_type (elem) +- && !scalarizable_type_p (elem)) ++ && !scalarizable_type_p (elem, const_decl)) + return false; + return true; + } +@@ -2660,7 +2668,8 @@ + { + tree var = candidate (i); + +- if (VAR_P (var) && scalarizable_type_p (TREE_TYPE (var))) ++ if (VAR_P (var) && scalarizable_type_p (TREE_TYPE (var), ++ constant_decl_p (var))) + { + if (tree_to_uhwi (TYPE_SIZE (TREE_TYPE (var))) + <= max_scalarization_size) +@@ -2667,6 +2676,8 @@ + { + create_total_scalarization_access (var); + completely_scalarize (var, TREE_TYPE (var), 0, var); ++ statistics_counter_event (cfun, ++ "Totally-scalarized aggregates", 1); + if (dump_file && (dump_flags & TDF_DETAILS)) + { + fprintf (dump_file, "Will attempt to totally scalarize "); +Index: gcc/po/es.po +=================================================================== +--- a/src/gcc/po/es.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/es.po (.../branches/gcc-7-branch) +@@ -17,6 +17,7 @@ + # dereference - desreferencia + # hardware - hardware + # hotness - calentura ++# immediate - inmediato + # insns - instrucciones #: config/frv/frv.opt:126 + # instruction - instrucción + # iv optimization - optimización iv +@@ -35,10 +36,10 @@ + # + msgid "" + msgstr "" +-"Project-Id-Version: gcc 7.1-b20170226\n" ++"Project-Id-Version: gcc 7.1.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" +-"PO-Revision-Date: 2017-04-16 10:33+0200\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" ++"PO-Revision-Date: 2017-05-29 00:00+0200\n" + "Last-Translator: Antonio Ceballos \n" + "Language-Team: Spanish \n" + "Language: es\n" +@@ -794,15 +795,12 @@ + "\n" + + #: gcov.c:656 +-#, fuzzy, c-format +-#| msgid "" +-#| "Usage: gcov [OPTION]... SOURCE|OBJ...\n" +-#| "\n" ++#, c-format + msgid "" + "Usage: gcov [OPTION...] SOURCE|OBJ...\n" + "\n" + msgstr "" +-"Modo de empleo: gcov [OPCIÓN]... FUENTE|OBJ...\n" ++"Modo de empleo: gcov [OPCIÓN...] FUENTE|OBJ...\n" + "\n" + + #: gcov.c:657 +@@ -1996,10 +1994,9 @@ + msgstr "Límite en el número de revisiones de tiempo de ejecución insertadas por las versiones de bucle del vectorizador para revisión de alias." + + #: params.def:568 +-#, fuzzy, no-c-format +-#| msgid "Max number of loop peels to enhancement alignment of data references in a loop." ++#, no-c-format + msgid "Maximum number of loop peels to enhance alignment of data references in a loop." +-msgstr "Número máximo de pelados de bucle para alineación de mejora de las referencias de datos en un bucle." ++msgstr "Número máximo de pelados de bucle para mejorar alineación de las referencias de datos en un bucle." + + #: params.def:573 + #, no-c-format +@@ -2398,16 +2395,14 @@ + msgstr "Cantidad máxima de bbs similares con las cuales comparar un bb." + + #: params.def:1104 +-#, fuzzy, no-c-format +-#| msgid "Allow the store merging pass to introduce unaligned stores if it is legal to do so" ++#, no-c-format + msgid "Allow the store merging pass to introduce unaligned stores if it is legal to do so." +-msgstr "Permitir que el paso de mezcla de almacenamientos introduzca almacenamientos desalineados si es legal hacerlo" ++msgstr "Permitir que el paso de mezcla de almacenamientos introduzca almacenamientos desalineados si es legal hacerlo." + + #: params.def:1110 +-#, fuzzy, no-c-format +-#| msgid "Maximum number of constant stores to merge in the store merging pass" ++#, no-c-format + msgid "Maximum number of constant stores to merge in the store merging pass." +-msgstr "Número máximo de almacenamientos constantes que hay que mezclar en el paso de mezcla de almacenamientos" ++msgstr "Número máximo de almacenamientos constantes que hay que mezclar en el paso de mezcla de almacenamientos." + + #: params.def:1116 + #, no-c-format +@@ -2837,42 +2832,42 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "No se admite el operando para el código '%c'" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "operando no válido para '%%%c'" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "coma flotante incompatible / operando de registro de vector para '%%%c'" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "falta un operando" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, c-format + msgid "invalid constant" + msgstr "constante no válida" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, c-format + msgid "invalid operand" + msgstr "operando no válido" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "prefijo de operando no válido '%%%c'" +@@ -3030,29 +3025,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "UNSPEC no válido como operando: %d" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "operando de desplazamiento no válido" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "instrucción de predicado Thumb" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "instrucción de predicado en una secuencia condicional" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3060,13 +3055,13 @@ + msgid "invalid operand for code '%c'" + msgstr "operando no válido para el código '%c'" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "la instrucción nunca se ejecuta" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "código de formato Maverick obsoleto '%c'" +@@ -3139,34 +3134,24 @@ + msgstr "conversión de coma fija no admitida" + + #: config/avr/avr.c:9803 +-#, fuzzy +-#| msgid "Loop variable" + msgid "variable" +-msgstr "Variable de ciclo" ++msgstr "variable" + + #: config/avr/avr.c:9808 +-#, fuzzy +-#| msgid "a parameter" + msgid "function parameter" +-msgstr "un parámetro" ++msgstr "parámetro de función" + + #: config/avr/avr.c:9813 +-#, fuzzy +-#| msgid "structure" + msgid "structure field" +-msgstr "estructura" ++msgstr "campo de estructura" + + #: config/avr/avr.c:9819 +-#, fuzzy +-#| msgid "creating array of functions" + msgid "return type of function" +-msgstr "se crea la matriz de funciones" ++msgstr "tipo de retorno de función" + + #: config/avr/avr.c:9824 +-#, fuzzy +-#| msgid "null pointer" + msgid "pointer" +-msgstr "puntero nulo" ++msgstr "puntero" + + #: config/avr/driver-avr.c:48 + #, c-format +@@ -3476,10 +3461,9 @@ + msgstr "el operando no es un entero, código de operando 'R' no válido" + + #: config/i386/i386.c:18261 +-#, fuzzy, c-format +-#| msgid "operand is not a specific integer, invalid operand code 'r'" ++#, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" +-msgstr "el operando no es un entero concreto, código de operando 'r' no válido" ++msgstr "el operando no es un entero concreto, código de operando 'R' no válido" + + #: config/i386/i386.c:18357 + #, c-format +@@ -3885,98 +3869,98 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "emit_fusion_p9_store no MEM" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "las referencias a memoria simbólica sólo se admiten en z10 o posterior" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "no se puede descomponer la dirección" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "operador de comparación no válido para el modificador de salida 'E'" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "referencia no válida para el modificador de salida 'J'" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "dirección no válida para el modificador de salida 'O'" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "dirección no válida para el modificador de salida 'R'" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "se esperaba una referencia de memoria para el modificador de salida 'S'" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "dirección no válida para el modificador de saida 'S'" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "se esperaba un registro o expresión de memoria para el modificador de salida 'N'" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "se esperaba un registro o expresión de memoria para el modificador de salida 'M'" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "constante no válida para el modificador de salida '%c'" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "constante no válida - pruebe usar un modificador de salida" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "vector constante no válido para el modificador de salida '%c'" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "expresión no válida - pruebe usar un modificador de salida" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "expresión no válida para el modificador de salida '%c'" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + msgid "vector argument passed to unprototyped function" + msgstr "se pasó un argumento vector a una función sin prototipo" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + msgid "types differ in signedness" + msgstr "los tipos difieren en el signo" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "el operador binario no admite dos operadores bool vector" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "el operador binario no admite operador bool vector" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "el operador binario no admite que se mezclen operandos bool vector y vector de coma flotante" + +@@ -6204,10 +6188,8 @@ + msgstr "Advierte de 'new' de tipos con alineamiento extendido sin -faligned-new." + + #: c-family/c.opt:296 +-#, fuzzy +-#| msgid "-Waligned-new=all Warn even if 'new' uses a class member allocation function." + msgid "-Waligned-new=[none|global|all]\tWarn even if 'new' uses a class member allocation function." +-msgstr "-Waligned-new=all Avisa aunque 'new' use una función de reserva miembro de clase." ++msgstr "-Waligned-new=[none|global|all]\tAvisa aunque 'new' use una función de reserva miembro de clase." + + #: c-family/c.opt:300 ada/gcc-interface/lang.opt:57 + msgid "Enable most warning messages." +@@ -6226,10 +6208,8 @@ + msgstr "-Walloc-zero Advierte de llamadas a funciones de reserva que especifican cero bytes." + + #: c-family/c.opt:317 +-#, fuzzy +-#| msgid "-Walloca-larger-than= Warn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than bytes." + msgid "-Walloca-larger-than=\tWarn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than bytes." +-msgstr "-Walloca-larger-than= Advierte de usos no acotados de alloca y de usos acotados cuyo límite pueda ser más grande que bytes." ++msgstr "-Walloca-larger-than=\tAdvierte de usos no acotados de alloca y de usos acotados cuyo límite pueda ser más grande que bytes." + + #: c-family/c.opt:331 + msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector." +@@ -6380,10 +6360,8 @@ + msgstr "Avisa sobre un cuerpo vacío en una declaración if o else." + + #: c-family/c.opt:489 +-#, fuzzy +-#| msgid "Warn about stray tokens after #elif and #endif." + msgid "Warn about stray tokens after #else and #endif." +-msgstr "Avisa sobre elementos sobrantes después de #elif y #endif." ++msgstr "Avisa sobre elementos sobrantes después de #else y #endif." + + #: c-family/c.opt:493 + msgid "Warn about comparison of different enum types." +@@ -6898,10 +6876,8 @@ + msgstr "Avisa si se usa una matriz de longitud variable." + + #: c-family/c.opt:1104 +-#, fuzzy +-#| msgid "-Walloca-larger-than= Warn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than bytes." + msgid "-Wvla-larger-than=\tWarn on unbounded uses of variable-length arrays, and on bounded uses of variable-length arrays whose bound can be larger than bytes." +-msgstr "-Walloca-larger-than= Advierte de usos no acotados de alloca y de usos acotados cuyo límite pueda ser más grande que bytes." ++msgstr "-Wvla-larger-than=\tAdvierte de usos no acotados de arrays de longitud variable y de usos acotados de arrays de longitud variable cuyo límite pueda ser más grande que bytes." + + #: c-family/c.opt:1110 + msgid "Warn when a register variable is declared volatile." +@@ -8953,10 +8929,8 @@ + msgstr "Las ramificaciones son así de caras (1-5, unidades arbitrarias)." + + #: config/i386/i386.opt:275 +-#, fuzzy +-#| msgid "Data greater than given threshold will go into .ldata section in x86-64 medium model." + msgid "-mlarge-data-threshold=\tData greater than given threshold will go into .ldata section in x86-64 medium model." +-msgstr "Los datos más grandes que el límite dado irán a la sección .ldata en el modeolo medium del x86-64." ++msgstr "-mlarge-data-threshold=\tLos datos más grandes que el límite dado irán a la sección .ldata en el modeolo medium del x86-64." + + #: config/i386/i386.opt:279 + msgid "Use given x86-64 code model." +@@ -12753,17 +12727,15 @@ + + #: config/mips/mips.opt:393 + msgid "Use lwxc1/swxc1/ldxc1/sdxc1 instructions where applicable." +-msgstr "" ++msgstr "Usa instrucciones lwxc1/swxc1/ldxc1/sdxc1 donde sean aplicables." + + #: config/mips/mips.opt:397 + msgid "Use 4-operand madd.s/madd.d and related instructions where applicable." +-msgstr "" ++msgstr "Usa operandos cuaternarios madd.s/madd.d e instrucciones relacionadas donde sean aplicables." + + #: config/mips/mips.opt:409 +-#, fuzzy +-#| msgid "Use Virtualization Application Specific instructions." + msgid "Use Virtualization (VZ) instructions." +-msgstr "Usa instrucciones específicas de aplicación de virtualización." ++msgstr "Usa instrucciones virtualización (VZ)." + + #: config/mips/mips.opt:413 + msgid "Use eXtended Physical Address (XPA) instructions." +@@ -13346,10 +13318,8 @@ + msgstr "Avisa cuando no se está usando la protección contra destrucción de la pila por alguna razón." + + #: common.opt:693 +-#, fuzzy +-#| msgid "Warn if stack usage might be larger than specified amount." + msgid "-Wstack-usage=\tWarn if stack usage might be larger than specified amount." +-msgstr "Avisa si el uso de pila puede ser mayor que el monto especificado." ++msgstr "-Wstack-usage=\tAvisa si el uso de pila puede ser mayor que el monto especificado." + + #: common.opt:697 common.opt:701 + msgid "Warn about code which might break strict aliasing rules." +@@ -13810,10 +13780,8 @@ + msgstr "Realiza el paso de la propagación hacia adelante en RTL." + + #: common.opt:1379 +-#, fuzzy +-#| msgid "-ffp-contract=[off|on|fast] Perform floating-point expression contraction." + msgid "-ffp-contract=[off|on|fast]\tPerform floating-point expression contraction." +-msgstr "-ffp-contract=[off|on|fast] Realiza contracción de expresión de coma flotante." ++msgstr "-ffp-contract=[off|on|fast]\tRealiza contracción de expresión de coma flotante." + + #: common.opt:1382 + #, c-format +@@ -13914,10 +13882,8 @@ + msgstr "Realiza la conversión de saltos condicionales a ejecución condicional." + + #: common.opt:1531 +-#, fuzzy +-#| msgid "-fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables." + msgid "-fstack-reuse=[all|named_vars|none]\tSet stack reuse level for local variables." +-msgstr "-fstack-reuse=[all|named_vars|none] Establece el nivel de reúso de la pila para variables locales." ++msgstr "-fstack-reuse=[all|named_vars|none]\tEstablece el nivel de reúso de la pila para variables locales." + + #: common.opt:1534 + #, c-format +@@ -14017,10 +13983,8 @@ + msgstr "Realiza la Propagación de Rango Valor IPA." + + #: common.opt:1664 +-#, fuzzy +-#| msgid "-fira-algorithm=[CB|priority] Set the used IRA algorithm." + msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm." +-msgstr "-fira-algorithm=[CB|priority] Establece el algoritmo IRA a usar." ++msgstr "-fira-algorithm=[CB|priority]\tEstablece el algoritmo IRA a usar." + + #: common.opt:1667 + #, c-format +@@ -14028,10 +13992,8 @@ + msgstr "algoritmo IRA %qs desconocido" + + #: common.opt:1677 +-#, fuzzy +-#| msgid "-fira-region=[one|all|mixed] Set regions for IRA." + msgid "-fira-region=[one|all|mixed]\tSet regions for IRA." +-msgstr "-fira-region=[one|all|mixed] Establece las regiones para IRA." ++msgstr "-fira-region=[one|all|mixed]\tEstablece las regiones para IRA." + + #: common.opt:1680 + #, c-format +@@ -14367,10 +14329,8 @@ + msgstr "Reordena los bloques básicos para mejorar la ubicación del código." + + #: common.opt:2076 +-#, fuzzy +-#| msgid "-freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm." + msgid "-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering algorithm." +-msgstr "-freorder-blocks-algorithm=[simple|stc] Establece el algoritmo de ordenación de bloque básico usado." ++msgstr "-freorder-blocks-algorithm=[simple|stc]\tEstablece el algoritmo de ordenación de bloque básico usado." + + #: common.opt:2079 + #, c-format +@@ -14739,10 +14699,8 @@ + msgstr "Activa las optimizaciones de bucles a nivel de árbol." + + #: common.opt:2526 +-#, fuzzy +-#| msgid "Enable automatic parallelization of loops." + msgid "-ftree-parallelize-loops=\tEnable automatic parallelization of loops." +-msgstr "Activa la paralelización automática de bucles." ++msgstr "-ftree-parallelize-loops=\tActiva la paralelización automática de bucles." + + #: common.opt:2530 + msgid "Enable hoisting loads from conditional pointers." +@@ -14870,13 +14828,11 @@ + + #: common.opt:2693 + msgid "Specifies the cost model for vectorization. -fvect-cost-model=[unlimited|dynamic|cheap]\tSpecifies the cost model for vectorization." +-msgstr "" ++msgstr "Especifica el modelo de coste para vectorización. -fvect-cost-model=[unlimited|dynamic|cheap]\tEspecifica el modelo de coste para vectorización." + + #: common.opt:2698 +-#, fuzzy +-#| msgid "Specifies the vectorization cost model for code marked with a simd directive." + msgid "-fsimd-cost-model=[unlimited|dynamic|cheap]\tSpecifies the vectorization cost model for code marked with a simd directive." +-msgstr "Especifica el modelo de coste de la vectorización para código marcado con directiva simd." ++msgstr "-fsimd-cost-model=[unlimited|dynamic|cheap]\tEspecifica el modelo de coste de la vectorización para código marcado con directiva simd." + + #: common.opt:2701 + #, c-format +@@ -15569,10 +15525,9 @@ + msgstr "se descartan los atributos de tipo después de que el tipo ya se definió" + + #: auto-profile.c:347 +-#, fuzzy, gcc-internal-format +-#| msgid "Offset exceeds 16 bytes." ++#, gcc-internal-format + msgid "offset exceeds 16 bytes" +-msgstr "El desplazamiento excede 16 bytes." ++msgstr "el desplazamiento excede 16 bytes" + + #: auto-profile.c:854 + #, gcc-internal-format +@@ -15580,40 +15535,34 @@ + msgstr "No se esperaba TAG." + + #: auto-profile.c:920 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Cannot open profile file %s." ++#, gcc-internal-format, gfc-internal-format + msgid "cannot open profile file %s" +-msgstr "No se puede abrir el fichero de perfil %s." ++msgstr "no se puede abrir el fichero de perfil %s" + + #: auto-profile.c:926 +-#, fuzzy, gcc-internal-format +-#| msgid "AutoFDO profile magic number does not match." ++#, gcc-internal-format + msgid "AutoFDO profile magic number does not match" +-msgstr "El número mágico de perfil AutoFDO no cuadra." ++msgstr "El número mágico de perfil AutoFDO no cuadra" + + #: auto-profile.c:934 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "AutoFDO profile version %u does match %u." ++#, gcc-internal-format, gfc-internal-format + msgid "AutoFDO profile version %u does match %u" +-msgstr "La versión %u de perfil AutoFDO no cuadra con %u." ++msgstr "La versión %u de perfil AutoFDO no cuadra con %u" + + #: auto-profile.c:946 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Cannot read string table from %s." ++#, gcc-internal-format, gfc-internal-format + msgid "cannot read string table from %s" +-msgstr "No se puede leer la tabla de cadenas de %s." ++msgstr "no se puede leer la tabla de cadenas de %s" + + #: auto-profile.c:954 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Cannot read function profile from %s." ++#, gcc-internal-format, gfc-internal-format + msgid "cannot read function profile from %s" +-msgstr "No se puede leer el perfil de función de %s." ++msgstr "no se puede leer el perfil de función de %s" + + #: auto-profile.c:964 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Cannot read working set from %s." ++#, gcc-internal-format, gfc-internal-format + msgid "cannot read working set from %s" +-msgstr "No se puede leer el conjunto de trabajo de %s." ++msgstr "no se puede leer el conjunto de trabajo de %s" + + #: bt-load.c:1564 + #, gcc-internal-format +@@ -17367,7 +17316,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "se asume que el desbordamiento con signo no sucede cuando se combinan constantes alrededor de una comparación" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "fold check: el árbol original cambió por un pliegue" +@@ -17903,8 +17852,8 @@ + msgid "null pointer dereference" + msgstr "desreferencia a puntero nulo" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -17918,297 +17867,297 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "argumento %qD no nulo comparado con NULL" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "la salida %qE podría truncarse antes del último carácter de formato" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "la salida %qE podría truncarse antes del último carácter de formato" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "%qE podría escribir un nul al final del destino" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "%qE se escribe un nul al final del destino" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "salida de la directiva %<%.*s%> podría truncarse escribiendo %wu byte en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo %wu byte en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "directiva %<%.*s%> escribiendo %wu byte en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "la salida de la directiva %<%.*s%> podría truncarse al escribir %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "directiva %<%.*s%> escribiendo %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "la salida de la directiva %<%.*s%> podría truncarse al escribir hasta %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo hasta %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "directiva %<%.*s%> escribiendo hasta %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "la salida de la directiva %<%.*s%> podría truncarse escribiendo probablemente %wu o más bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo probablemente %wu o más bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "directiva %<%.*s%> escribiendo probablemente %wu o más bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "la salida de la directiva %<%.*s%> podría truncarse escribiendo entre %wu y %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo entre %wu y %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "directiva %<%.*s%> escribiendo entre %wu y %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "la salida de la directiva %<%.*s%> podría truncarse escribiendo %wu o más bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo %wu o más bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "directiva %<%.*s%> escribiendo %wu o más bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "la salida de la directiva %<%.*s%> podría truncarse al escribir %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "directiva %<%.*s%> escribiendo %wu byte en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "la salida de la directiva %<%.*s%> podría truncarse al escribir %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "directiva %<%.*s%> escribiendo %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "la salida de la directiva %<%.*s%> podría truncarse escribiendo hasta %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo hasta %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "directiva %<%.*s%> escribiendo hasta %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "la salida de la directiva %<%.*s%> podría truncarse escribiendo probablemente %wu o más bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo probablemente %wu o más bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "directiva %<%.*s%> escribiendo probablemente %wu o más bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "la salida de la directiva %<%.*s%> podría truncarse escribiendo entre %wu y %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo entre %wu y %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "directiva %<%.*s%> escribiendo entre %wu y %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "la salida de la directiva %<%.*s%> podría truncarse escribiendo %wu o más bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "salida de la directiva %<%.*s%> truncada escribiendo %wu o más bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "directiva %<%.*s%> escribiendo %wu o más bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "la salida de la directiva %<%.*s%> entre %wu y %wu bytes podría superar el tamaño mínimo requerido de 4095" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "la salida de la directiva %<%.*s%> entre %wu y %wu bytes supera el tamaño mínimo requerido de 4095" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "la salida de la directiva %<%.*s%> entre %wu y %wu bytes provoca que el resultado supere %" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "la salida de la directiva %<%.*s%> entre %wu y %wu bytes podría provocar que el resultado supere %" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "se asume salida de directiva de %wu byte" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "se asume salida de directiva de %wu bytes" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, gcc-internal-format + msgid "directive argument %qE" + msgstr "argumento de la directiva %qE" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "argumento de la directiva en el rango de [%E, %E]" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "se utiliza el rango [%E, %E] para el argumento de la directiva" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "%qE manda %wu byte a un destino de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "%qE manda %wu bytes a un destino de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "%qE manda entre %wu y %wu bytes a un destino de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "%qE manda %wu o más bytes (se asume %wu) a un destino de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "%qE manda %wu o más bytes a un destino de tamaño %wu" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "el límite especificado %wu supera el tamaño máximo del objeto %wu" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "el límite especificado %wu supera %" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, gcc-internal-format + msgid "null destination pointer" + msgstr "puntero de destino nulo" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "el límite especificado %wu supera el tamaño %wu del objeto de destino" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, gcc-internal-format + msgid "null format string" + msgstr "cadena de formato nula" +@@ -18364,16 +18313,14 @@ + msgstr "tarea contenedora" + + #: gimplify.c:6852 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE not specified in enclosing %s" ++#, gcc-internal-format + msgid "%qE not specified in enclosing %qs" +-msgstr "no se especificó %qE en el %s que lo contiene" ++msgstr "no se especificó %qE en el %qs que lo contiene" + + #: gimplify.c:6854 +-#, fuzzy, gcc-internal-format +-#| msgid "enclosing %s" ++#, gcc-internal-format + msgid "enclosing %qs" +-msgstr "%s contenedora" ++msgstr "%qs contenedora" + + #: gimplify.c:6965 + #, gcc-internal-format +@@ -18742,10 +18689,9 @@ + msgstr "el tipo incompatible definido en otra unidad de traducción" + + #: ipa-devirt.c:1142 +-#, fuzzy, gcc-internal-format +-#| msgid "type name %<%s%> should match type name %<%s%>" ++#, gcc-internal-format + msgid "type name %qs should match type name %qs" +-msgstr "el nombre de tipo %<%s%> debería concordar con el nombre de tipo %<%s%>" ++msgstr "el nombre de tipo %qs debería concordar con el nombre de tipo %qs" + + #: ipa-devirt.c:1146 ipa-devirt.c:1238 + #, gcc-internal-format +@@ -18763,10 +18709,9 @@ + msgstr "no coincide el tipo del valor de retorno" + + #: ipa-devirt.c:1204 +-#, fuzzy, gcc-internal-format +-#| msgid "field initializer type mismatch" ++#, gcc-internal-format + msgid "implicit this pointer type mismatch" +-msgstr "no coincide el tipo del inicializador del campo" ++msgstr "no coincide el tipo del puntero this implícito" + + #: ipa-devirt.c:1207 + #, gcc-internal-format, gfc-internal-format +@@ -18981,16 +18926,14 @@ + msgstr "falta el resumen de inclusión en línea ipa en el fichero de entrada" + + #: ipa-pure-const.c:187 +-#, fuzzy, gcc-internal-format +-#| msgid "function might be candidate for attribute %<%s%>" ++#, gcc-internal-format + msgid "function might be candidate for attribute %qs" +-msgstr "la función puede ser candidata para el atributo %<%s%>" ++msgstr "la función puede ser candidata para el atributo %qs" + + #: ipa-pure-const.c:188 +-#, fuzzy, gcc-internal-format +-#| msgid "function might be candidate for attribute %<%s%> if it is known to return normally" ++#, gcc-internal-format + msgid "function might be candidate for attribute %qs if it is known to return normally" +-msgstr "la función puede ser candidata para el atributo %<%s%> si se sabe que devuelve normalmente" ++msgstr "la función puede ser candidata para el atributo %qs si se sabe que retorna normalmente" + + #: ipa-reference.c:1182 + #, gcc-internal-format +@@ -19149,10 +19092,9 @@ + msgstr "flujo de bytecode: sección LTO %s inesperada" + + #: lto-streamer.c:383 +-#, fuzzy, gcc-internal-format +-#| msgid "bytecode stream in file '%s' generated with LTO version %d.%d instead of the expected %d.%d" ++#, gcc-internal-format + msgid "bytecode stream in file %qs generated with LTO version %d.%d instead of the expected %d.%d" +-msgstr "flujo de bytecode en el fichero '%s' generado con LTO versión %d.%d en lugar de la versión esperada %d.%d" ++msgstr "flujo de bytecode en el fichero %qs generado con LTO versión %d.%d en lugar de la versión esperada %d.%d" + + #: lto-wrapper.c:114 + #, gcc-internal-format +@@ -19467,10 +19409,9 @@ + msgstr "operando -fopenacc-dim defectuoso en '%s'" + + #: omp-offload.c:1157 +-#, fuzzy, gcc-internal-format +-#| msgid "inner loop uses same OpenACC parallelism as containing loop" ++#, gcc-internal-format + msgid "routine call uses same OpenACC parallelism as containing loop" +-msgstr "el bucle interno usa el mismo paralelismo OpenACC que el bucle que lo contiene" ++msgstr "la llamada a la rutina usa el mismo paralelismo OpenACC que el bucle que lo contiene" + + #: omp-offload.c:1161 omp-offload.c:1193 + #, gcc-internal-format +@@ -19478,16 +19419,14 @@ + msgstr "bucle que lo contiene aquí" + + #: omp-offload.c:1166 +-#, fuzzy, gcc-internal-format +-#| msgid "%s uses OpenACC parallelism disallowed by containing routine" ++#, gcc-internal-format + msgid "routine call uses OpenACC parallelism disallowed by containing routine" +-msgstr "%s usa paralelismo OpenACC no permitido por la rutina que lo contiene" ++msgstr "la llamada a la rutina usa paralelismo OpenACC no permitido por la rutina que lo contiene" + + #: omp-offload.c:1168 +-#, fuzzy, gcc-internal-format +-#| msgid "%s uses OpenACC parallelism disallowed by containing routine" ++#, gcc-internal-format + msgid "loop uses OpenACC parallelism disallowed by containing routine" +-msgstr "%s usa paralelismo OpenACC no permitido por la rutina que lo contiene" ++msgstr "el bucle usa paralelismo OpenACC no permitido por la rutina que lo contiene" + + #: omp-offload.c:1173 + #, gcc-internal-format +@@ -19511,10 +19450,9 @@ + msgstr "insuficiente paralelismo disponible para paralelizar bucle de elemento" + + #: omp-offload.c:1337 +-#, fuzzy, gcc-internal-format +-#| msgid "insufficient partitioning available to parallelize%s loop" ++#, gcc-internal-format + msgid "insufficient partitioning available to parallelize loop" +-msgstr "insuficiente paralelismo disponible para paralelizar bucle %s" ++msgstr "insuficiente paralelismo disponible para paralelizar bucle" + + #: omp-simd-clone.c:192 + #, gcc-internal-format +@@ -19713,8 +19651,7 @@ + msgstr "la opción -fsanitize=all no es válida" + + #: opts.c:1642 +-#, fuzzy, gcc-internal-format +-#| msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs" ++#, gcc-internal-format + msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs?" + msgstr "no se reconoce el argumento para la opción -f%ssanitize%s=: %q.*s; ¿quiso decir %qs?" + +@@ -20043,10 +19980,9 @@ + msgstr "insn con UID %i no encontrada para el operando %i de insn %i" + + #: read-rtl-function.c:409 +-#, fuzzy, gcc-internal-format +-#| msgid "function %qs cannot be declared %" ++#, gcc-internal-format + msgid "%<__RTL%> function cannot be compiled with %<-flto%>" +-msgstr "la función %qs no se puede declarar %" ++msgstr "la función %<__RTL%> no se puede compilar con %<-flto%>" + + #: read-rtl-function.c:710 + #, gcc-internal-format, gfc-internal-format +@@ -20395,159 +20331,159 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "se renombró %D después de ser referenciado en el ensamblado" + +-#: symtab.c:970 ++#: symtab.c:978 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "el símbolo de función no es una función" + +-#: symtab.c:978 ++#: symtab.c:986 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "el símbolo de variable no es una variable" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "el nodo tiene un tipo desconocido" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "nodo no encontrado node->decl->decl_with_vis.symtab_node" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "el nodo difiere de node->decl->decl_with_vis.symtab_node" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "lista hash de nombres del ensamblador corrupta" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, fuzzy, gcc-internal-format + #| msgid "node not found in cgraph_hash" + msgid "node not found in symtab assembler name hash" + msgstr "no se encontró un nodo en cgraph_hash" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "lista doblemente enlazada de nombres del ensamblador corrrupta" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, fuzzy, gcc-internal-format + #| msgid "%qD used before its definition" + msgid "node has body_removed but is definition" + msgstr "se usó %qD antes de su definición" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "el nodo está analizado pero no es una definición" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "el nodo es un alias pero no un alias implícito" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "el nodo es un alias pero no una definición" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "el nodo es una weakref pero no un transparent_alias" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "el nodo es un transparent_alias pero no un alias" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "el nodo está en la lista same_comdat_group no tiene comdat_group" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "list same_comdat_group con grupos diferentes" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "no se permite mezclar diferentes símbolos de tipos en los mismos grupos comdat" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "el nodo está solo en un grupo comdat" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group no es una lista circular" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "el símbolo comdat-local referenciado en %s fuera de su comdat" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "el indicador implicit_section está puesto pero la sección on lo es" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "Tanto la sección como el grupo comdat están puestos" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "Alias y sección del objetivo difieren" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "El alias y los grupos comdat del objetivo difieren" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "El alias transparente y los nombres de ensamblador del objetivo difieren" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "Alias transparentes encadenados" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::falló verify" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "Hay dos símbolos con el mismo comdat_group que no están vinculados a la lista same_comdat_group." + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "la función %q+D es parte de un ciclo de alias" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "la variable %q+D es parte de un ciclo de alias" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "la sección del alias %q+D debe cuadrar con la sección de su objetivo" +@@ -20648,34 +20584,29 @@ + msgstr "No se pueden usar las optimizaciones de bucle Graphite (isl no está disponible) (-fgraphite, -fgraphite-identity, -floop-nest-optimize, -floop-parallelize-all" + + #: toplev.c:1273 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds is not supported for this target" ++#, gcc-internal-format + msgid "%<-fcheck-pointer-bounds%> is not supported for this target" +-msgstr "no se admite -fcheck-pointer-bounds para este objetivo" ++msgstr "no se admite %<-fcheck-pointer-bounds%> para este objetivo" + + #: toplev.c:1281 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds is not supported with -fsanitize=bounds" ++#, gcc-internal-format + msgid "%<-fcheck-pointer-bounds%> is not supported with %<-fsanitize=bounds-strict%>" +-msgstr "fcheck-pointer-bounds no se admite con -fsanitize=bounds" ++msgstr "%<-fcheck-pointer-bounds%> no se admite con %<-fsanitize=bounds-strict%>" + + #: toplev.c:1288 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds is not supported with -fsanitize=bounds" ++#, gcc-internal-format + msgid "%<-fcheck-pointer-bounds%> is not supported with %<-fsanitize=bounds%>" +-msgstr "fcheck-pointer-bounds no se admite con -fsanitize=bounds" ++msgstr "%<-fcheck-pointer-bounds%> no se admite con %<-fsanitize=bounds%>" + + #: toplev.c:1296 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds is not supported with Address Sanitizer" ++#, gcc-internal-format + msgid "%<-fcheck-pointer-bounds%> is not supported with Address Sanitizer" +-msgstr "fcheck-pointer-bounds no se admite con Address Sanitizer" ++msgstr "%<-fcheck-pointer-bounds%> no se admite con Address Sanitizer" + + #: toplev.c:1304 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds is not supported with Address Sanitizer" ++#, gcc-internal-format + msgid "%<-fcheck-pointer-bounds%> is not supported with Thread Sanitizer" +-msgstr "fcheck-pointer-bounds no se admite con Address Sanitizer" ++msgstr "%<-fcheck-pointer-bounds%> no se admite con Thread Sanitizer" + + #: toplev.c:1320 + #, gcc-internal-format +@@ -21644,10 +21575,9 @@ + msgstr "la comprebación de acceso de memoria siempre falla" + + #: tree-chkp.c:1996 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds requires '%s' name for internal usage" ++#, gcc-internal-format + msgid "-fcheck-pointer-bounds requires %qs name for internal usage" +-msgstr "-fcheck-pointer-bounds requiere nombre '%s' para uso interno " ++msgstr "-fcheck-pointer-bounds requiere nombre %qs para uso interno " + + #: tree-chkp.c:2774 + #, gcc-internal-format, gfc-internal-format +@@ -21866,10 +21796,9 @@ + msgstr "dentro de este bucle" + + #: tree-ssa-loop-prefetch.c:2045 +-#, fuzzy, gcc-internal-format +-#| msgid "-falign-labels=%d is not supported" ++#, gcc-internal-format + msgid "% parameter is not a power of two %d" +-msgstr "no se admite -falign-labels=%d" ++msgstr "el parámetro % no es potencia de dos %d" + + #: tree-ssa-operands.c:975 + #, gcc-internal-format +@@ -22215,8 +22144,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -22252,92 +22181,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qE implica visibilidad por defecto, pero %qD ya se había declarado con una visibilidad diferente" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "las matrices de funciones no tienen significado" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "el tipo de devolución de función no puede ser función" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "revisión de árbol: %s, se tiene %s en %s, en %s:%d" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "revisión de árbol: no se esperaba ninguno de %s, se tiene %s en %s, en %s:%d" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "revisión de árbol: se esperaba la clase %qs, se tiene %qs (%s) en %s, en %s:%d" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "revisión de árbol: no se esperaba la clase %qs, se tiene %qs (%s) en %s, en %s:%d" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "revisión de árbol: se esperaba omp_clause %s, se tiene %s en %s, en %s:%d" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "revisión de árbol: se esperaba un árbol que contenga la estructura %qs, se tiene %qs en %s, en %s:%d" + +-#: tree.c:10017 ++#: tree.c:10025 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "revisión de árbol: acceso de elt %d de tree_int_cst con %d elts en %s, en %s:%d" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "revisión de árbol: acceso de elt %d de tree_vec con %d elts en %s, en %s:%d" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "revisión de árbol: acceso del operando %d de %s con %d operandos en %s, en %s:%d" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "revisión de árbol: acceso del operando %d de omp_clause %s con %d operandos en %s, en %s:%d" + +-#: tree.c:12867 ++#: tree.c:12875 + #, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "%qD es obsoleto: %s" + +-#: tree.c:12870 ++#: tree.c:12878 + #, gcc-internal-format + msgid "%qD is deprecated" + msgstr "%qD es obsoleto" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "%qE es obsoleto: %s" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "%qE es obsoleto" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "el tipo es obsoleto: %s" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "el tipo es obsoleto" +@@ -22364,262 +22293,262 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "tipo variante difiere en " + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "tipos variantes difieren en TYPE_SIZE_UNIT" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "TYPE_SIZE_UNIT del tipo variante" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "TYPE_SIZE_UNIT del tipo" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "tipo variante con TYPE_ALIAS_SET_KNOWN_P" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "tipo variante con diferente TYPE_VFIELD" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "tipo variante con TYPE_METHODS" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "tipo variante con diferente TYPE_BINFO" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "TYPE_BINFO del tipo variante" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "TYPE_BINFO del tipo" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "tipo variante con diferente TYPE_FIELDS" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "el primer descuadre es campo" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "y campo" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "tipo variante con diferente TREE_TYPE" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "TREE_TYPE del tipo variante" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "TREE_TYPE del tipo" + +-#: tree.c:13548 ++#: tree.c:13556 + #, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "el tipo no es compatible con su variante" + +-#: tree.c:13851 ++#: tree.c:13859 + #, gcc-internal-format + msgid "Main variant is not defined" + msgstr "La variante principal no está definida" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "TYPE_MAIN_VARIANT tiene diferente TYPE_MAIN_VARIANT" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "TYPE_CANONICAL tiene diferente TYPE_CANONICAL" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "TYPE_CANONICAL no es compatible" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "TYPE_MODE de TYPE_CANONICAL no es compatible" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "TYPE_VFIELD no es FIELD_DECL ni TREE_LIST" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "TYPE_NEXT_PTR_TO no es POINTER_TYPE" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "TYPE_NEXT_REF_TO no es REFERENCE_TYPE" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "TYPE_MINVAL no NULL" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "TYPE_METHODS no es FUNCTION_DECL, TEMPLATE_DECL ni error_mark_node" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "TYPE_METHOD_BASETYPE no es registro ni unión" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "TYPE_OFFSET_BASETYPE no es registro ni unión" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "TYPE_ARRAY_MAX_SIZE no es INTEGER_CST" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "TYPE_MAXVAL no NULL" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "TYPE_BINFO no es TREE_BINFO" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "El tipo TYPE_BINFO no es TYPE_MAIN_VARIANT" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "El campo TYPE_LANG_SLOT_1 (binfo) es no NULL" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "El valor enumerado no es CONST_DECL ni INTEGER_CST" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "El tipo de valor enumerado no es INTEGER_TYPE ni puede convertirse al enumerado" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "El nombre de valor enumerado no es IDENTIFIER_NODE" + +-#: tree.c:14083 ++#: tree.c:14091 + #, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "El array TYPE_DOMAIN no es de un tipo entero" + +-#: tree.c:14092 ++#: tree.c:14100 + #, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "TYPE_FIELDS definidos en un tipo incompleto" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "Árbol incorrecto en una lista TYPE_FIELDS" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "TYPE_CACHED_VALUES_P es %i mientras que TYPE_CACHED_VALUES es %p" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "TYPE_CACHED_VALUES no es TREE_VEC" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "entrada TYPE_CACHED_VALUES incorrecta" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "TREE_PURPOSE es no NULL en una lista TYPE_ARG_TYPES" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "Entrada incorrecta en una lista TYPE_ARG_TYPES" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "El campo TYPE_VALUES_RAW es no NULL" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "TYPE_CACHED_VALUES_P está activado y no debería" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "TYPE_STRING_FLAG está activado en un código de tipo incorrecto" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "TYPE_STRING_FLAG está activado en un tipo que no parece char ni array de chars" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "TYPE_METHOD_BASETYPE no es una variante de main" + +-#: tree.c:14221 ++#: tree.c:14229 + #, gcc-internal-format + msgid "verify_type failed" + msgstr "falló verify_type" +@@ -23616,13 +23545,13 @@ + msgid "% attribute specified with a parameter" + msgstr "el atributo % se especificó con un parámetro" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "faltan argumentos para la función %qE" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "demasiados argumentos para la función %qE" +@@ -23707,72 +23636,72 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "el índice %E denota un desplazamiento mayor que el tamaño de %qT" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "el tamaño de la matriz es demasiado grande" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, gcc-internal-format + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "el tipo %qT del operando es incompatible con el argumento %d de %qE" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "número incorrecto de argumentos para la función %qE" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "el argumento 1 de %qE debe ser un tipo puntero que no sea void" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "el argumento 1 de %qE debe ser un puntero a un tipo de tamaño constante" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "el argumento 1 de %qE debe ser un puntero a un objeto de tamaño diferente de cero" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "el argumento %d de %qE debe ser un tipo puntero" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "el argumento %d de %qE debe ser un puntero a un tipo de tamaño constante" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "el argumento %d de %qE no debe ser un puntero a función" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "no coincide el tamaño en el argumento %d de %qE" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "argumento de modelo de memoria %d no válido de %qE" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "argumento de modelo de memoria %d que no es entero de %qE" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "el valor del índice está fuera del límite" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -23780,22 +23709,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "la función interna %qE ha de ser llamada directamente" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "el tamaño de la matriz %qE es demasiado grande" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "el tamaño de la matriz sin nombre es demasiado grande" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -23816,10 +23745,9 @@ + msgstr "el argumento de la cadena de formato no es un tipo de cadena" + + #: c-family/c-format.c:210 +-#, fuzzy, gcc-internal-format +-#| msgid "found a %<%s%> reference but the format argument should be a string" ++#, gcc-internal-format + msgid "found a %qs reference but the format argument should be a string" +-msgstr "se encontró una referencia %<%s%> pero el argumento de formato debe ser una cadena" ++msgstr "se encontró una referencia %qs pero el argumento de formato debe ser una cadena" + + #: c-family/c-format.c:213 + #, gcc-internal-format +@@ -23827,16 +23755,14 @@ + msgstr "se encontró un %qT pero el argumento de formato debe ser una cadena" + + #: c-family/c-format.c:223 +-#, fuzzy, gcc-internal-format +-#| msgid "format argument should be a %<%s%> reference but a string was found" ++#, gcc-internal-format + msgid "format argument should be a %qs reference but a string was found" +-msgstr "el argumento de formato debe ser una referencia %<%s%> pero se encontró una cadena" ++msgstr "el argumento de formato debe ser una referencia %qs pero se encontró una cadena" + + #: c-family/c-format.c:245 +-#, fuzzy, gcc-internal-format +-#| msgid "format argument should be a %<%s%> reference" ++#, gcc-internal-format + msgid "format argument should be a %qs reference" +-msgstr "el argumento de formato debe ser una referencia %<%s%>" ++msgstr "el argumento de formato debe ser una referencia %qs" + + #: c-family/c-format.c:289 + #, gcc-internal-format +@@ -24585,20 +24511,19 @@ + msgstr "no se admite la declaración %<#pragma weak%> de %q+D; se ignorará" + + #: c-family/c-pragma.c:418 +-#, fuzzy, gcc-internal-format +-#| msgid "trampolines not supported" ++#, gcc-internal-format + msgid "scalar_storage_order is not supported" +-msgstr "no se admiten los trampolines" ++msgstr "no se admite scalar_storage_order" + + #: c-family/c-pragma.c:422 + #, gcc-internal-format + msgid "missing [big-endian|little-endian|default] after %<#pragma scalar_storage_order%>" +-msgstr "" ++msgstr "falta [big-endian|little-endian|default] después de %<#pragma scalar_storage_order%>" + + #: c-family/c-pragma.c:431 + #, gcc-internal-format + msgid "expected [big-endian|little-endian|default] after %<#pragma scalar_storage_order%>" +-msgstr "" ++msgstr "se esperaba [big-endian|little-endian|default] después de %<#pragma scalar_storage_order%>" + + #: c-family/c-pragma.c:485 c-family/c-pragma.c:487 + #, gcc-internal-format +@@ -24661,10 +24586,9 @@ + msgstr "basura al final de %<#pragma GCC visibility%>" + + #: c-family/c-pragma.c:750 +-#, fuzzy, gcc-internal-format +-#| msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>" ++#, gcc-internal-format + msgid "missing [error|warning|ignored|push|pop] after %<#pragma GCC diagnostic%>" +-msgstr "falta [error|warning|ignored] después de %<#pragma GCC diagnostic%>" ++msgstr "falta [error|warning|ignored|push|pop] después de %<#pragma GCC diagnostic%>" + + #: c-family/c-pragma.c:776 + #, gcc-internal-format +@@ -24682,16 +24606,14 @@ + msgstr "opción desconocida después del tipo %<#pragma GCC diagnostic%>" + + #: c-family/c-pragma.c:802 +-#, fuzzy, gcc-internal-format +-#| msgid "%qs is not a valid option to the preprocessor" ++#, gcc-internal-format + msgid "%qs is not an option that controls warnings" +-msgstr "%qs no es una opción válida para el preprocesador" ++msgstr "%qs no es una opción para controlar avisos" + + #: c-family/c-pragma.c:810 +-#, fuzzy, gcc-internal-format +-#| msgid "command line option %qs is valid for %s but not for %s" ++#, gcc-internal-format + msgid "option %qs is valid for %s but not for %s" +-msgstr "la opción de línea de órdenes %qs es válida para %s pero no para %s" ++msgstr "la opción %qs es válida para %s pero no para %s" + + #: c-family/c-pragma.c:842 + #, gcc-internal-format +@@ -24905,28 +24827,24 @@ + msgstr "un % de pruebas equivalentes mutuamente exclusivas siempre es falso" + + #: c-family/c-warn.c:248 +-#, fuzzy, gcc-internal-format +-#| msgid "invalid operand in unary expression" ++#, gcc-internal-format + msgid "logical % of equal expressions" +-msgstr "operando no válido en la expresión unaria" ++msgstr "% lógico de expresiones equivalentes" + + #: c-family/c-warn.c:251 +-#, fuzzy, gcc-internal-format +-#| msgid "logical % of mutually exclusive tests is always false" ++#, gcc-internal-format + msgid "logical % of equal expressions" +-msgstr "un % de pruebas equivalentes mutuamente exclusivas siempre es falso" ++msgstr "un % de expresiones equivalentes" + + #: c-family/c-warn.c:321 +-#, fuzzy, gcc-internal-format +-#| msgid "user-defined %qD always evaluates both arguments" ++#, gcc-internal-format + msgid "self-comparison always evaluates to true" +-msgstr "el %qD definido por el usuario siempre evalúa ambos argumentos" ++msgstr "autocomparación siempre verdadera" + + #: c-family/c-warn.c:324 +-#, fuzzy, gcc-internal-format +-#| msgid "user-defined %qD always evaluates both arguments" ++#, gcc-internal-format + msgid "self-comparison always evaluates to false" +-msgstr "el %qD definido por el usuario siempre evalúa ambos argumentos" ++msgstr "autocomparación siempre falsa" + + #: c-family/c-warn.c:374 + #, gcc-internal-format +@@ -24962,82 +24880,82 @@ + #: c-family/c-warn.c:687 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the destination; did you mean to remove the addressof?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el destino; ¿pretendía quitar el addressof?" + + #: c-family/c-warn.c:694 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the destination; did you mean to provide an explicit length?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el destino; ¿pretendía proporcionar una longitud explícita?" + + #: c-family/c-warn.c:699 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the destination; did you mean to dereference it?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el destino; ¿pretendía desreferenciarla?" + + #: c-family/c-warn.c:711 + #, gcc-internal-format + msgid "argument to % in %qD call is the same pointer type %qT as the destination; expected %qT or an explicit length" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es el mismo tipo de puntero %qT que el destino; se esperaba %qT o una longitud explícita" + + #: c-family/c-warn.c:727 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the source; did you mean to remove the addressof?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el origen; ¿pretendía quitar la dirección de?" + + #: c-family/c-warn.c:734 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the source; did you mean to provide an explicit length?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el origen; ¿pretendía indicar una longitud explícita?" + + #: c-family/c-warn.c:739 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the source; did you mean to dereference it?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el origen; ¿pretendía desreferenciarla?" + + #: c-family/c-warn.c:751 + #, gcc-internal-format + msgid "argument to % in %qD call is the same pointer type %qT as the source; expected %qT or an explicit length" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es el mismo tipo de puntero %qT que el origen; se esperaba %qT o una longitud explícita" + + #: c-family/c-warn.c:767 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the first source; did you mean to remove the addressof?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el primer origen; ¿pretendía quitar la dirección de?" + + #: c-family/c-warn.c:774 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the first source; did you mean to provide an explicit length?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el primer origen; ¿pretendía indicar una longitud explícita?" + + #: c-family/c-warn.c:779 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the first source; did you mean to dereference it?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el primer origen; ¿pretendía desreferenciarla?" + + #: c-family/c-warn.c:791 + #, gcc-internal-format + msgid "argument to % in %qD call is the same pointer type %qT as the first source; expected %qT or an explicit length" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es el mismo tipo de puntero %qT que el primer origen; se esperaba %qT o una longitud explícita" + + #: c-family/c-warn.c:807 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the second source; did you mean to remove the addressof?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el segundo origen; ¿pretendía quitar la dirección de?" + + #: c-family/c-warn.c:814 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the second source; did you mean to provide an explicit length?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el segundo origen; ¿pretendía indicar una longitud explícita?" + + #: c-family/c-warn.c:819 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the second source; did you mean to dereference it?" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es la misma expresión que el segundo origen; ¿pretendía desreferenciarla?" + + #: c-family/c-warn.c:831 + #, gcc-internal-format + msgid "argument to % in %qD call is the same pointer type %qT as the second source; expected %qT or an explicit length" +-msgstr "" ++msgstr "el argumento de % en la llamada %qD es el mismo tipo de puntero %qT que el segundo origen; se esperaba %qT o una longitud explícita" + + #: c-family/c-warn.c:860 c-family/c-warn.c:867 + #, fuzzy, gcc-internal-format +@@ -25066,10 +24984,9 @@ + msgstr "%q+D sólo toma cero o dos argumentos" + + #: c-family/c-warn.c:910 +-#, fuzzy, gcc-internal-format +-#| msgid "field %qE declared as a function" ++#, gcc-internal-format + msgid "%q+D declared as variadic function" +-msgstr "el campo %qE se declaró como una función" ++msgstr "%q+D declarado como función variádica" + + #: c-family/c-warn.c:952 + #, gcc-internal-format +@@ -25087,10 +25004,9 @@ + msgstr "la conversión de %qT desde %qT puede alterar su valor" + + #: c-family/c-warn.c:989 +-#, fuzzy, gcc-internal-format +-#| msgid "conversion from %qT to %qT discards qualifiers" ++#, gcc-internal-format + msgid "conversion to %qT from %qT discards imaginary component" +-msgstr "la conversión de %qT a %qT descarta los calificadores" ++msgstr "la conversión a %qT de %qT descarta la componente imaginaria" + + #: c-family/c-warn.c:1024 + #, gcc-internal-format +@@ -25118,10 +25034,9 @@ + msgstr "falta el case por defecto para un switch" + + #: c-family/c-warn.c:1179 +-#, fuzzy, gcc-internal-format +-#| msgid "the conditional began here" ++#, gcc-internal-format + msgid "switch condition has boolean value" +-msgstr "el condicional empezó aquí" ++msgstr "la condición de switch tiene valor boolean" + + #: c-family/c-warn.c:1252 + #, gcc-internal-format +@@ -25319,10 +25234,9 @@ + msgstr "argumento de tipo no válido de %<->%> (se tiene %qT)" + + #: c-family/c-warn.c:1414 +-#, fuzzy, gcc-internal-format +-#| msgid "invalid type argument of %<->%> (have %qT)" ++#, gcc-internal-format + msgid "invalid type argument of %<->*%> (have %qT)" +-msgstr "argumento de tipo no válido de %<->%> (se tiene %qT)" ++msgstr "argumento de tipo no válido de %<->*%> (se tiene %qT)" + + #: c-family/c-warn.c:1419 + #, gcc-internal-format +@@ -25471,10 +25385,9 @@ + msgstr "comparación de un ~unsigned promovido con unsigned" + + #: c-family/c-warn.c:1897 +-#, fuzzy, gcc-internal-format +-#| msgid "unused parameter %q+D" ++#, gcc-internal-format + msgid "unused parameter %qD" +-msgstr "parámetro %q+D sin uso" ++msgstr "parámetro %qD sin uso" + + #: c-family/c-warn.c:1959 + #, gcc-internal-format +@@ -25482,16 +25395,14 @@ + msgstr "se define tipo %qD localmente pero no se usa" + + #: c-family/c-warn.c:1994 +-#, fuzzy, gcc-internal-format +-#| msgid "duplicate %" ++#, gcc-internal-format + msgid "duplicated % condition" +-msgstr "% duplicado" ++msgstr "condición % duplicada" + + #: c-family/c-warn.c:2023 +-#, fuzzy, gcc-internal-format +-#| msgid "declaration of %q+D with attribute noinline follows inline declaration " ++#, gcc-internal-format + msgid "optimization attribute on %qD follows definition but the attribute doesn%'t match" +-msgstr "declaración de %q+D con atributo noinline después de la declaración inline " ++msgstr "el atributo de optimización en %qD después de la definición pero el atributo no concuerda" + + #: c-family/c-warn.c:2031 + #, gcc-internal-format +@@ -25505,28 +25416,24 @@ + + #: c-family/c-warn.c:2040 c-family/c-warn.c:2045 c-family/c-warn.c:2050 + #: c-family/c-warn.c:2055 +-#, fuzzy, gcc-internal-format +-#| msgid "declaration of %q+D with attribute noinline follows inline declaration " ++#, gcc-internal-format + msgid "declaration of %q+D with attribute %qs follows declaration with attribute %qs" +-msgstr "declaración de %q+D con atributo noinline después de la declaración inline " ++msgstr "declaración de %q+D con atributo %qs después de la declaración con atributo %qs" + + #: c-family/c-warn.c:2102 +-#, fuzzy, gcc-internal-format +-#| msgid "macro \"%s\" requires %u arguments, but only %u given" ++#, gcc-internal-format + msgid "result of %qE requires %u bits to represent, but %qT only has %u bits" +-msgstr "la macro \"%s\" requiere %u argumentos, pero solo se proporcionan %u" ++msgstr "el resultado de %qE requiere %u bits para representarlo, pero %qT solo tiene %u bits" + + #: c-family/c-warn.c:2140 c-family/c-warn.c:2164 +-#, fuzzy, gcc-internal-format +-#| msgid "comparison of unsigned expression < 0 is always false" ++#, gcc-internal-format + msgid "comparison of constant %qE with boolean expression is always false" +-msgstr "la comparación de una expresión unsigned < 0 siempre es falsa" ++msgstr "la comparación de una constante %qE con una expresión boolean siempre es falsa" + + #: c-family/c-warn.c:2143 c-family/c-warn.c:2161 +-#, fuzzy, gcc-internal-format +-#| msgid "comparison of unsigned expression >= 0 is always true" ++#, gcc-internal-format + msgid "comparison of constant %qE with boolean expression is always true" +-msgstr "la comparación de una expresión unsigned >= 0 siempre es verdadera" ++msgstr "la comparación de una constante %qE con una expresión boolean siempre es verdadera" + + #: c-family/c-warn.c:2210 + #, fuzzy +@@ -25537,16 +25444,14 @@ + msgstr[1] "el paso del argumento %d de %qE descarta el calificador %qv del tipo del destino del puntero" + + #: c-family/c-warn.c:2275 c/c-typeck.c:5217 cp/call.c:5316 +-#, fuzzy, gcc-internal-format +-#| msgid "the conditional began here" ++#, gcc-internal-format + msgid "this condition has identical branches" +-msgstr "el condicional empezó aquí" ++msgstr "esta condición tiene bifurcaciones idénticas" + + #: c-family/cilk.c:93 cp/parser.c:6570 +-#, fuzzy, gcc-internal-format +-#| msgid "% can only be specified inside a class" ++#, gcc-internal-format + msgid "%<_Cilk_spawn%> may only be used inside a function" +-msgstr "% sólo se puede especificar dentro de una clase" ++msgstr "%<_Cilk_spawn%> sólo se puede usar dentro de una función" + + #: c-family/cilk.c:106 + #, fuzzy, gcc-internal-format +@@ -25555,10 +25460,9 @@ + msgstr "su función será mal compilada" + + #: c-family/cilk.c:250 +-#, fuzzy, gcc-internal-format +-#| msgid "invalid use of %" ++#, gcc-internal-format + msgid "invalid use of %<_Cilk_spawn%>" +-msgstr "uso no válido de %" ++msgstr "uso no válido de %<_Cilk_spawn%>" + + #: c-family/cilk.c:393 + #, fuzzy, gcc-internal-format +@@ -25572,15 +25476,14 @@ + msgstr "" + + #: c-family/cilk.c:495 +-#, fuzzy, gcc-internal-format +-#| msgid "invalid use of %qD in linkage specification" ++#, gcc-internal-format + msgid "invalid use of label %q+D in %<_Cilk_spawn%>" +-msgstr "uso no válido de %qD en la especificación de enlace" ++msgstr "uso no válido de la etiqueta %q+D en %<_Cilk_spawn%>" + + #: c-family/cilk.c:996 + #, gcc-internal-format + msgid "register assignment ignored for %qD used in Cilk block" +-msgstr "" ++msgstr "asignación de registro no tenida en cuenta para %qD usada en bloque Cilk" + + #: c-family/cppspec.c:93 + #, gcc-internal-format +@@ -25592,11 +25495,10 @@ + msgid "too many input files" + msgstr "demasiados ficheros de entrada" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 +-#, fuzzy, gcc-internal-format +-#| msgid "unknown value %s for -mfpu" ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 ++#, gcc-internal-format + msgid "unknown value %qs for -mcpu" +-msgstr "valor %s desconocido para -mfpu" ++msgstr "valor %qs desconocido para -mcpu" + + #: common/config/alpha/alpha-common.c:76 + #, gcc-internal-format +@@ -25604,16 +25506,14 @@ + msgstr "valor %qs erróneo para el interruptor -mtls-size" + + #: common/config/arc/arc-common.c:82 +-#, fuzzy, gcc-internal-format +-#| msgid "multiple function type attributes specified" ++#, gcc-internal-format + msgid "multiple -mcpu= options specified." +-msgstr "se especificaron múltiples atributos de tipo de función." ++msgstr "se especificaron múltiples opciones -mcpu=." + + #: common/config/arc/arc-common.c:88 +-#, fuzzy, gcc-internal-format +-#| msgid "bad value %qs for -mtune switch" ++#, gcc-internal-format + msgid "Unsupported value for mmpy-option" +-msgstr "valor erróneo %qs para la opción -mtune" ++msgstr "Valor no admitido para mmpy-option" + + #: common/config/bfin/bfin-common.c:304 common/config/m68k/m68k-common.c:60 + #, gcc-internal-format, gfc-internal-format +@@ -25681,35 +25581,34 @@ + msgstr "valor erróneo %<%s%> para el interruptor -mtls-size=" + + #: common/config/msp430/msp430-common.c:57 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "unrecognized argument to -mmcu= option: %qs" ++#, gcc-internal-format, gfc-internal-format + msgid "unrecognized argument of -mcpu: %s" +-msgstr "no se reconoce el argumento para la opción -mmcu=: %qs" ++msgstr "no se reconoce el argumento de -mcpu=: %s" + + #: common/config/nds32/nds32-common.c:49 + #, gcc-internal-format + msgid "for the option -misr-vector-size=X, the valid X must be: 4 or 16" +-msgstr "" ++msgstr "para la opción -misr-vector-size=X, las X válidas son: 4 o 16" + + #: common/config/nds32/nds32-common.c:60 + #, gcc-internal-format + msgid "for the option -mcache-block-size=X, the valid X must be: 4, 8, 16, 32, 64, 128, 256, or 512" +-msgstr "" ++msgstr "para la opción -mcache-block-size=X, las X válidas son: 4, 8, 16, 32, 64, 128, 256, o 512" + + #: common/config/riscv/riscv-common.c:43 + #, gcc-internal-format, gfc-internal-format + msgid "-march=%s: ISA string must begin with rv32 or rv64" +-msgstr "" ++msgstr "-march=%s: la cadena ISA debe empezar por rv32 o rv64" + + #: common/config/riscv/riscv-common.c:82 + #, gcc-internal-format, gfc-internal-format + msgid "-march=%s: invalid ISA string" +-msgstr "" ++msgstr "-march=%s: cadena ISA no válida" + + #: common/config/riscv/riscv-common.c:92 + #, gcc-internal-format + msgid "-march=%s: unsupported ISA substring %qs" +-msgstr "" ++msgstr "-march=%s: subcadena ISA %qs no válida" + + #: common/config/rs6000/rs6000-common.c:174 config/sparc/sparc.c:1371 + #, gcc-internal-format, gfc-internal-format +@@ -25732,10 +25631,9 @@ + msgstr "se descarta la opción -msimple-fpu" + + #: common/config/rs6000/rs6000-common.c:314 +-#, fuzzy, gcc-internal-format +-#| msgid "%<-fsplit-stack%> currently only supported on GNU/Linux" ++#, gcc-internal-format + msgid "%<-fsplit-stack%> currently only supported on PowerPC64 GNU/Linux with glibc-2.18 or later" +-msgstr "sólo se admite %<-fsplit-stack%> en GNU/Linux" ++msgstr "sólo se admite %<-fsplit-stack%> en PowerPC64 GNU/Linux con glibc-2.18 o superior" + + #: common/config/rx/rx-common.c:61 + #, gcc-internal-format +@@ -25743,10 +25641,9 @@ + msgstr "la cpu RX200 no tiene FPU de hardware" + + #: common/config/rx/rx-common.c:63 +-#, fuzzy, gcc-internal-format +-#| msgid "the RX200 cpu does not have FPU hardware" ++#, gcc-internal-format + msgid "the RX100 cpu does not have FPU hardware" +-msgstr "la cpu RX200 no tiene FPU de hardware" ++msgstr "la cpu RX100 no tiene FPU de hardware" + + #: common/config/s390/s390-common.c:98 + #, gcc-internal-format +@@ -25836,16 +25733,14 @@ + + #. Arbitrary limit, number should be like xx.yy.zz + #: config/darwin-driver.c:125 +-#, fuzzy, gcc-internal-format +-#| msgid "couldn%'t understand kern.osversion %q.*s" ++#, gcc-internal-format + msgid "couldn%'t understand version %s\n" +-msgstr "no se puede entender kern.osversion %q.*s" ++msgstr "no se puede entender version %s\n" + + #: config/darwin-driver.c:178 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "The compiler does not support -march=%s." ++#, gcc-internal-format, gfc-internal-format + msgid "this compiler does not support %s" +-msgstr "El compilador no tiene soporte para -march=%s." ++msgstr "este compilador no tiene soporte para %s" + + #: config/darwin-driver.c:233 + #, fuzzy, gcc-internal-format +@@ -25902,10 +25797,9 @@ + msgstr "el atributo de compatibilidad vtable 2.95 %qE sólo aplica a clases C++" + + #: config/darwin.c:2758 +-#, fuzzy, gcc-internal-format +-#| msgid "visibility attribute not supported in this configuration; ignored" ++#, gcc-internal-format + msgid "protected visibility attribute not supported in this configuration; ignored" +-msgstr "no se admiten los atributos de visibilidad en esta configuración; descartados" ++msgstr "no se admiten los atributos de visibilidad protected en esta configuración; descartados" + + #: config/darwin.c:2947 + #, gcc-internal-format, gfc-internal-format +@@ -26039,16 +25933,14 @@ + msgstr "soporte de análisis de perfil para VxWorks" + + #: config/aarch64/aarch64-builtins.c:1089 config/arm/arm-builtins.c:2246 +-#, fuzzy, gcc-internal-format +-#| msgid "argument must be a constant" ++#, gcc-internal-format + msgid "%Kargument %d must be a constant immediate" +-msgstr "el argumento debe ser una constante" ++msgstr "el %Kargumento %d debe ser un inmediato constante" + + #: config/aarch64/aarch64-builtins.c:1160 config/arm/arm-builtins.c:2471 +-#, fuzzy, gcc-internal-format +-#| msgid "index mask must be an immediate" ++#, gcc-internal-format + msgid "%Klane index must be a constant immediate" +-msgstr "la máscara de índice debe ser un inmediato" ++msgstr "el índice %Klane debe ser un inmediato constante" + + #: config/aarch64/aarch64-builtins.c:1163 + #, fuzzy, gcc-internal-format +@@ -26057,10 +25949,9 @@ + msgstr "el segundo argumento debe ser un inmediato de 4-bit" + + #: config/aarch64/aarch64.c:927 +-#, fuzzy, gcc-internal-format +-#| msgid "%qs is incompatible with %qs" ++#, gcc-internal-format + msgid "%qs is incompatible with %s %s" +-msgstr "%qs es incompatible con %qs" ++msgstr "%qs es incompatible con %s %s" + + #: config/aarch64/aarch64.c:929 + #, fuzzy, gcc-internal-format +@@ -26068,203 +25959,187 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "%qs es incompatible con %qs" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" +-msgstr "" ++msgstr "indicador pasado en -moverride=%s (%s) desconocido" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" +-msgstr "" ++msgstr "cadena %s mal formada\n" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid range %s in option %s" + msgid "tuning string missing in option (%s)" + msgstr "Rango %s no válido en la opción %s" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unknown string token %s\n" + msgid "unknown tuning option (%s)" + msgstr "cadena de elemento %s desconocida\n" + +-#: config/aarch64/aarch64.c:8707 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %qs are: %s" ++#: config/aarch64/aarch64.c:8715 ++#, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" +-msgstr "los argumentos válidos para %qs son: %s" ++msgstr "los argumentos válidos son: %s; ¿quiso decir %qs?" + +-#: config/aarch64/aarch64.c:8748 +-#, fuzzy, gcc-internal-format +-#| msgid "missing path after %qs" ++#: config/aarch64/aarch64.c:8756 ++#, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" +-msgstr "falta una ruta después de %qs" ++msgstr "falta el nombre de la cpu en %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + #| msgid "invalid floating point option: -mfpu=%s" + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "opción de coma flotante no válida: -mfpu-%s" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, fuzzy, gcc-internal-format + #| msgid "missing path after %qs" + msgid "missing arch name in %<-march=%s%>" + msgstr "falta una ruta después de %qs" + +-#: config/aarch64/aarch64.c:8785 +-#, fuzzy, gcc-internal-format +-#| msgid "unknown value %s for -mfpu" ++#: config/aarch64/aarch64.c:8793 ++#, gcc-internal-format + msgid "unknown value %qs for -march" +-msgstr "valor %s desconocido para -mfpu" ++msgstr "valor %qs desconocido para -march" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + #| msgid "invalid data model option -mdata-model=%s" + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "opción de modelo de datos -mdata-model=%s no válida" + +-#: config/aarch64/aarch64.c:8815 +-#, fuzzy, gcc-internal-format +-#| msgid "Unknown cpu used in -mtune=%s." ++#: config/aarch64/aarch64.c:8823 ++#, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" +-msgstr "Se utilizó un cpu desconocido en -mtune=%s." ++msgstr "falta el nombre de la cpu en %<-mtune=%s%>" + +-#: config/aarch64/aarch64.c:8818 +-#, fuzzy, gcc-internal-format +-#| msgid "unknown value %s for -mfpu" ++#: config/aarch64/aarch64.c:8826 ++#, gcc-internal-format + msgid "unknown value %qs for -mtune" +-msgstr "valor %s desconocido para -mfpu" ++msgstr "valor %qs desconocido para -mtune" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "la opción -mcpu=%s genera un conflicto con la opción -march=%s" + +-#: config/aarch64/aarch64.c:8956 +-#, fuzzy, gcc-internal-format +-#| msgid "The compiler does not support -march=%s." ++#: config/aarch64/aarch64.c:8964 ++#, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" +-msgstr "El compilador no tiene soporte para -march=%s." ++msgstr "El ensamblador no tiene soporte para -mabi=ilp32" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" +-msgstr "" ++msgstr "falta el nombre de la arquitectura en el objetivo 'arch' %s" + +-#: config/aarch64/aarch64.c:9190 +-#, fuzzy, gcc-internal-format +-#| msgid "unknown value %s for -mfpu" ++#: config/aarch64/aarch64.c:9198 ++#, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" +-msgstr "valor %s desconocido para -mfpu" ++msgstr "valor %qs desconocido para el objetivo 'arch' %s" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9228 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "missing makefile target after %qs" ++#: config/aarch64/aarch64.c:9236 ++#, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" +-msgstr "falta un fichero make objetivo después de %qs" ++msgstr "falta el nombre de la cpu en el objetivo 'cpu' %s" + +-#: config/aarch64/aarch64.c:9231 +-#, fuzzy, gcc-internal-format +-#| msgid "unknown value %s for -mfpu" ++#: config/aarch64/aarch64.c:9239 ++#, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" +-msgstr "valor %s desconocido para -mfpu" ++msgstr "valor %qs desconocido para el objetivo 'cpu' %s" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9266 +-#, fuzzy, gcc-internal-format +-#| msgid "unknown value %s for -mfpu" ++#: config/aarch64/aarch64.c:9274 ++#, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" +-msgstr "valor %s desconocido para -mfpu" ++msgstr "valor %qs desconocido para el objetivo 'tune' %s" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + #| msgid "missing makefile target after %qs" + msgid "missing feature modifier in target %s %qs" + msgstr "falta un fichero make objetivo después de %qs" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + #| msgid "invalid memory model argument %d of %qE" + msgid "invalid feature modifier in target %s %qs" + msgstr "argumento de modelo de memoria %d no válido de %qE" + +-#: config/aarch64/aarch64.c:9364 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "malformed spec function arguments" ++#: config/aarch64/aarch64.c:9372 ++#, gcc-internal-format, gfc-internal-format + msgid "malformed target %s" +-msgstr "argumentos de la función de especificación malformados" ++msgstr "objetivo %s mal formado" + +-#: config/aarch64/aarch64.c:9412 +-#, fuzzy, gcc-internal-format +-#| msgid "%s only accepts 1 argument" ++#: config/aarch64/aarch64.c:9420 ++#, gcc-internal-format + msgid "target %s %qs does not accept an argument" +-msgstr "%s sólo acepta 1 argumento" ++msgstr "el objetivo %s %qs no acepta un argumento" + +-#: config/aarch64/aarch64.c:9421 +-#, fuzzy, gcc-internal-format +-#| msgid "matching constraint does not allow a register" ++#: config/aarch64/aarch64.c:9429 ++#, gcc-internal-format + msgid "target %s %qs does not allow a negated form" +-msgstr "la restricción coincidente no permite un registro" ++msgstr "el objetivo %s %qs no permite una forma negada" + +-#: config/aarch64/aarch64.c:9476 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "%s\"%s\"%s is invalid" ++#: config/aarch64/aarch64.c:9484 ++#, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" +-msgstr "%s\"%s\"%s es no válido" ++msgstr "el objetivo %s %s=%s no es válido" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + #| msgid "attribute %qE argument not a string" + msgid "attribute % argument not a string" + msgstr "el argumento del atributo %qE no es una cadena" + +-#: config/aarch64/aarch64.c:9546 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "malformed #pragma call" ++#: config/aarch64/aarch64.c:9554 ++#, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" +-msgstr "#pragma call malformado" ++msgstr "valor del objetivo %s mal formado" + +-#: config/aarch64/aarch64.c:9563 +-#, fuzzy, gcc-internal-format +-#| msgid "%s\"%s\"%s is invalid" ++#: config/aarch64/aarch64.c:9571 ++#, gcc-internal-format + msgid "target %s %qs is invalid" +-msgstr "%s\"%s\"%s es no válido" ++msgstr "el objetivo %s %qs no es válido" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" +-msgstr "" ++msgstr "%Klane %wd fuera de rango %wd - %wd" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, fuzzy, gcc-internal-format + #| msgid "line number out of range" + msgid "lane %wd out of range %wd - %wd" +@@ -26338,10 +26213,9 @@ + msgstr "" + + #: config/arc/arc.c:720 +-#, fuzzy, gcc-internal-format +-#| msgid "-fno-fat-lto-objects are supported only with linker plugin." ++#, gcc-internal-format + msgid "-mno-dpfp-lrsr supported only with -mdpfp" +-msgstr "-fno-fat-lto-object sólo se admite con el plugin enlazador." ++msgstr "-mno-dpfp-lrsr sólo se admite con -mdpfp" + + #: config/arc/arc.c:725 + #, fuzzy, gcc-internal-format +@@ -26352,17 +26226,17 @@ + #: config/arc/arc.c:729 + #, gcc-internal-format + msgid "-mspfp_fast not available on ARC600 or ARC601" +-msgstr "" ++msgstr "-mspfp_fast no disponible en ARC600 ni ARC601" + + #: config/arc/arc.c:734 + #, gcc-internal-format + msgid "No FPX/FPU mixing allowed" +-msgstr "" ++msgstr "No está permitido mezclar FPX/FPU" + + #: config/arc/arc.c:740 + #, gcc-internal-format, gfc-internal-format + msgid "PIC is not supported for %s. Generating non-PIC code only.." +-msgstr "" ++msgstr "No se admite PIC para %s. Se generará soloamente código no PIC.." + + #. Check options against architecture options. Throw an error if + #. option is not allowed. +@@ -26370,18 +26244,17 @@ + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%qD is not a variable in clause %qs" + msgid "%s is not available for %s architecture" +-msgstr "%qD no es una variable en la cláusula %qs" ++msgstr "%s no está disponible para la arquitectura %s" + + #: config/arc/arc.c:879 + #, gcc-internal-format + msgid "compact-casesi is not applicable to ARCv2" +-msgstr "" ++msgstr "compact-casesi no es aplicable a ARCv2" + + #: config/arc/arc.c:1378 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "multiple function type attributes specified" ++#, gcc-internal-format, gfc-internal-format + msgid "multiply option implies r%d is fixed" +-msgstr "se especificaron múltiples atributos de tipo de función" ++msgstr "la opción multiply implica r%d fijo" + + #: config/arc/arc.c:1601 config/epiphany/epiphany.c:492 + #: config/epiphany/epiphany.c:532 +@@ -26395,73 +26268,69 @@ + msgstr "el argumento del atributo %qE no es \"ilink1\" o \"ilink2\"" + + #: config/arc/arc.c:1618 +-#, fuzzy, gcc-internal-format +-#| msgid "argument of %qE attribute is not \"ilink1\" or \"ilink2\"" ++#, gcc-internal-format + msgid "argument of %qE attribute is not \"ilink\"" +-msgstr "el argumento del atributo %qE no es \"ilink1\" o \"ilink2\"" ++msgstr "el argumento del atributo %qE no es \"ilink\"" + + #: config/arc/arc.c:5715 +-#, fuzzy, gcc-internal-format +-#| msgid "bit array slice with non-constant length" ++#, gcc-internal-format + msgid "__builtin_arc_aligned with non-constant alignment" +-msgstr "rebanada de la matriz de bits con longitud no constante" ++msgstr "__builtin_arc_aligned con alineamiento no constante" + + #: config/arc/arc.c:5723 +-#, fuzzy, gcc-internal-format +-#| msgid "invalid argument to %<__builtin_frame_address%>" ++#, gcc-internal-format + msgid "invalid alignment value for __builtin_arc_aligned" +-msgstr "argumento no válido para %<__builtin_frame_address%>" ++msgstr "valor de argumento no válido para __builtin_arc_aligned" + + #: config/arc/arc.c:5850 + #, gcc-internal-format + msgid "builtin operand should be an unsigned 6-bit value" +-msgstr "" ++msgstr "el operando interno debería ser un valor de 6 bits sin signo" + + #: config/arc/arc.c:5891 +-#, fuzzy, gcc-internal-format +-#| msgid "-mcorea should be used with -mmulticore" ++#, gcc-internal-format + msgid "operand 1 should be an unsigned 3-bit immediate" +-msgstr "-mcorea se debe usar con -mmulticore" ++msgstr "el operando 1 debería ser un inmediato de 3 bits sin signo" + + #: config/arc/arc.c:5932 config/arc/arc.c:6029 + #, gcc-internal-format + msgid "operand 2 should be an unsigned 3-bit value (I0-I7)" +-msgstr "" ++msgstr "el operando 2 debería ser un valor de 3 bits sin signo (10-17)" + + #: config/arc/arc.c:5965 config/arc/arc.c:5997 + #, gcc-internal-format + msgid "operand 1 should be an unsigned 3-bit value (I0-I7)" +-msgstr "" ++msgstr "el operando 1 debería ser un valor de 3 bits sin signo (10-17)" + + #: config/arc/arc.c:5969 config/arc/arc.c:6001 + #, gcc-internal-format + msgid "operand 2 should be an unsigned 8-bit value" +-msgstr "" ++msgstr "el operando 2 debería ser un valor de 8 bits sin signo" + + #: config/arc/arc.c:6033 + #, gcc-internal-format + msgid "operand 3 should be an unsigned 8-bit value" +-msgstr "" ++msgstr "el operando 3 debería ser un valor de 8 bits sin signo" + + #: config/arc/arc.c:6066 + #, gcc-internal-format + msgid "operand 4 should be an unsigned 8-bit value (0-255)" +-msgstr "" ++msgstr "el operando 4 debería ser un valor de 8 bits sin signo (0-255)" + + #: config/arc/arc.c:6070 + #, gcc-internal-format + msgid "operand 3 should be an unsigned 3-bit value (I0-I7)" +-msgstr "" ++msgstr "el operando 3 debería ser un valor de 3 bits sin signo (10-17)" + + #: config/arc/arc.c:6077 + #, gcc-internal-format + msgid "operand 2 should be an unsigned 3-bit value (subreg 0-7)" +-msgstr "" ++msgstr "el operando 2 debería ser un valor de 3 bits sin signo (0-7)" + + #: config/arc/arc.c:6080 + #, gcc-internal-format + msgid "operand 2 should be an even 3-bit value (subreg 0,2,4,6)" +-msgstr "" ++msgstr "el operando 2 debería ser un valor de 3 bits par (subreg 0,2,4,6)" + + #: config/arc/arc.c:6127 + #, fuzzy, gcc-internal-format, gfc-internal-format +@@ -26470,22 +26339,19 @@ + msgstr "se usó un símbolo como un operando inmediato" + + #: config/arc/arc.c:6132 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "argument 2 must be a 5-bit unsigned literal" ++#, gcc-internal-format, gfc-internal-format + msgid "operand %d should be a 6 bit unsigned immediate" +-msgstr "el argumento 2 debe ser una literal sin signo de 5-bit" ++msgstr "el operando %d debería ser un inmediato sin signo de 6 bits" + + #: config/arc/arc.c:6136 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "argument 2 must be a 5-bit unsigned literal" ++#, gcc-internal-format, gfc-internal-format + msgid "operand %d should be a 8 bit unsigned immediate" +-msgstr "el argumento 2 debe ser una literal sin signo de 5-bit" ++msgstr "el operando %d debería ser un inmediato sin signo de 8 bits" + + #: config/arc/arc.c:6140 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "argument 2 must be a 5-bit unsigned literal" ++#, gcc-internal-format, gfc-internal-format + msgid "operand %d should be a 3 bit unsigned immediate" +-msgstr "el argumento 2 debe ser una literal sin signo de 5-bit" ++msgstr "el operando %d debería ser un inmediato sin signo de 3 bits" + + #: config/arc/arc.c:6143 + #, gcc-internal-format, gfc-internal-format +@@ -26495,23 +26361,22 @@ + #: config/arc/arc.c:6194 + #, gcc-internal-format + msgid "register number must be a compile-time constant. Try giving higher optimization levels" +-msgstr "" ++msgstr "el número de registro debe ser una constante en tiempo de compilación. Pruebe a poner niveles de optimización más altos" + + #: config/arc/arc.c:6215 + #, gcc-internal-format + msgid "operand for sleep instruction must be an unsigned 6 bit compile-time constant" +-msgstr "" ++msgstr "el operando para la instrucción sleep debe ser una constante en tiempo de compilación sin signo de 6 bits" + + #: config/arc/arc.c:6804 + #, gcc-internal-format + msgid "Insn addresses not set after shorten_branches" +-msgstr "" ++msgstr "Direcciones de insn no establecidas después de shorten_branches" + + #: config/arc/arc.c:7013 +-#, fuzzy, gcc-internal-format +-#| msgid "Bad address, not register:" ++#, gcc-internal-format + msgid "insn addresses not freed" +-msgstr "Dirección errónea, no es register:" ++msgstr "direcciones de insn no liberadas" + + #: config/arm/arm-builtins.c:2349 + #, fuzzy, gcc-internal-format +@@ -26522,17 +26387,17 @@ + #: config/arm/arm-builtins.c:2454 + #, gcc-internal-format + msgid "You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use these intrinsics." +-msgstr "" ++msgstr "Debe activar las instrucciones NEON (e.g. -mfloat-abi=softfp -mfpu=neon) para usar estos intrínsecos." + + #: config/arm/arm-builtins.c:2492 + #, gcc-internal-format + msgid "You must enable VFP instructions to use these intrinsics." +-msgstr "" ++msgstr "Debe activar las instrucciones VFP para usar estos intrínsecos." + + #: config/arm/arm-builtins.c:2552 + #, gcc-internal-format + msgid "You must enable crypto instructions (e.g. include -mfloat-abi=softfp -mfpu=crypto-neon...) to use these intrinsics." +-msgstr "" ++msgstr "Debe activar las instrucciones crypto (e.g. include -mfloat-abi=softfp -mfpu=crypto-neon...) para usar estos intrínsecos." + + #. @@@ better error message + #: config/arm/arm-builtins.c:2610 config/arm/arm-builtins.c:2714 +@@ -26544,17 +26409,17 @@ + #: config/arm/arm-builtins.c:2721 config/arm/arm-builtins.c:2730 + #, gcc-internal-format + msgid "the range of selector should be in 0 to 7" +-msgstr "" ++msgstr "el rango del selector debe estar entre 0 y 7" + + #: config/arm/arm-builtins.c:2623 config/arm/arm-builtins.c:2732 + #, gcc-internal-format + msgid "the range of selector should be in 0 to 3" +-msgstr "" ++msgstr "el rango del selector debe estar entre 0 y 3" + + #: config/arm/arm-builtins.c:2628 config/arm/arm-builtins.c:2734 + #, gcc-internal-format + msgid "the range of selector should be in 0 to 1" +-msgstr "" ++msgstr "el rango del selector debe estar entre 0 y 1" + + #: config/arm/arm-builtins.c:2800 + #, gcc-internal-format +@@ -26562,10 +26427,9 @@ + msgstr "la máscara debe ser un inmediato" + + #: config/arm/arm-builtins.c:2805 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute argument should be between 0 to 255" ++#, gcc-internal-format + msgid "the range of mask should be in 0 to 255" +-msgstr "el argumento del atributo %qE debe estar entre 0 y 255" ++msgstr "el rango de la máscara debe estar entre 0 y 255" + + #: config/arm/arm-builtins.c:2993 + #, gcc-internal-format +@@ -26687,63 +26551,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 +-#, fuzzy, gcc-internal-format +-#| msgid "-fPIC and -G are incompatible" ++#: config/arm/arm.c:2800 ++#, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" +-msgstr "-fPIC y -G son incompatibles" ++msgstr "iWMMXt y NEON son incompatibles" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "el CPU objetivo no tiene soporte para el modo ARM" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "habilitar el soporte de rastreo hacia atrás sólo tiene significado cuando se compila para el Thumb" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "habilitar el soporte de trabajo interno de llamado sólo tiene significado cuando se compila para el Thumb" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g con -mno-apcs-frame no permite una depuración sensible" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "no se puede usar -mtp=cp15 con Thumb de 16-bit" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "El PIC de RTP es incompatible con Thumb" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" +-msgstr "" ++msgstr "-mpure-code solo admite código no pic en los objetivos armv7-m" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "el CPU objetivo no admite las instrucciones THUMB" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "el CPU objetivo no admite accesos sin alinear" +@@ -26750,131 +26613,133 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 +-#, fuzzy, gcc-internal-format +-#| msgid "-mpcrel -fPIC is not currently supported on selected cpu" ++#: config/arm/arm.c:3247 ++#, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." +-msgstr "-mpcrel -fPIC no se admite actualmente en la cpu seleccionado" ++msgstr "-mfpu=auto no se admite actualmente sin una CPU explícita." + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "el CPU objetivo no admite trabajo interno" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check es incompatible con -mno-apcs-frame" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic y -mapcs-reent son incompatibles" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "no se admite el código reentrante APCS. Descartado" + +-#: config/arm/arm.c:3372 +-#, fuzzy, gcc-internal-format +-#| msgid "-msystem-v and -p are incompatible" ++#: config/arm/arm.c:3373 ++#, gcc-internal-format + msgid "selected fp16 options are incompatible" +-msgstr "-msystem-v y -p son incompatibles" ++msgstr "las opciones fp16 seleccionadas son incompatibles" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "iwmmxt requiere una ABI compatible con AAPCS para una operación adecuada" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "el abi iwmmxt requiere un cpu capaz de iwmmxt" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "AAPCS no admite -mcaller-super-interworking" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "AAPCS no admite -mcallee-super-interworking" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "__fp16 sin ldrh" + +-#: config/arm/arm.c:3436 +-#, fuzzy, gcc-internal-format +-#| msgid "-mfloat-abi=hard and VFP" ++#: config/arm/arm.c:3437 ++#, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" +-msgstr "-mfloat-abi=hard y VFP" ++msgstr "-mfloat-abi=hard: el procesador seleccionado carece de FPU" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mfloat-abi=hard y VFP" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "el límite del tamaño de la estructura sólo se puede establecer a 8, 32 o 64" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "el límite del tamaño de la estructura sólo se puede establecer a 8 o 32" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "El PIC de RTP es incompatible con -msingle-pic-base" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= es inútil sin -fpic" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "no se puede usar '%s' para registro PIC" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "no se admite -freorder-blocks-and-partition en esta arquitectura" + +-#: config/arm/arm.c:3638 +-#, fuzzy, gcc-internal-format +-#| msgid "target CPU does not support THUMB instructions" ++#: config/arm/arm.c:3639 ++#, gcc-internal-format + msgid "target CPU does not support ARMv8-M Security Extensions" +-msgstr "el CPU objetivo no admite las instrucciones THUMB" ++msgstr "la CPU objetivo no admite las instrucciones de seguridad ARMv8-M" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "variante PCS derivada de un no AAPCS" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "las funciones variadic debe usar la variante AAPCS base" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "variante PCS" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "ABI de VFP de coma flotante dura de Thumb-1" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "el paso de parámetro para argumentos de tipo %qT ha cambiado en GCC 7.1" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -26890,123 +26755,110 @@ + msgid "%qE attribute only applies to functions" + msgstr "el atributo %qE se aplica solamente a funciones" + +-#: config/arm/arm.c:6814 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute only applies to functions, not %s" ++#: config/arm/arm.c:6851 ++#, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" +-msgstr "el atributo %qE se aplica solamente a funciones, no a %s" ++msgstr "el atributo %qE no está disponible para funciones con argumentos pasados en la pila" + +-#: config/arm/arm.c:6826 +-#, fuzzy, gcc-internal-format +-#| msgid "%qD must not have variable number of arguments" ++#: config/arm/arm.c:6863 ++#, gcc-internal-format + msgid "%qE attribute not available to functions with variable number of arguments" +-msgstr "%qD no debe tener un número variable de argumentos" ++msgstr "el atributo %qE no está disponible para funciones con un número variable de argumentos" + +-#: config/arm/arm.c:6835 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute only applies to functions, not %s" ++#: config/arm/arm.c:6872 ++#, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" +-msgstr "el atributo %qE se aplica solamente a funciones, no a %s" ++msgstr "el atributo %qE no está disponible para funciones que devuelven valor en la pila" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute ignored on non-class types" ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 ++#, gcc-internal-format + msgid "%qE attribute ignored without -mcmse option." +-msgstr "se descarta el atributo %qE en tipos que no son clases" ++msgstr "se descarta el atributo %qE sin la opción -mcmse." + +-#: config/arm/arm.c:6876 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute has no effect on unit local functions" ++#: config/arm/arm.c:6913 ++#, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" +-msgstr "el atributo %qE no tiene efecto en funciones locales de unidad" ++msgstr "el atributo %qE no tiene efecto en funciones con enlazado estático" + +-#: config/arm/arm.c:6925 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute only applies to function types" ++#: config/arm/arm.c:6962 ++#, gcc-internal-format + msgid "%qE attribute only applies to base type of a function pointer" +-msgstr "el atributo %qE se aplica solamente a tipos de funciones" ++msgstr "el atributo %qE se aplica solamente al tipo base de un puntero a función" + +-#: config/arm/arm.c:12208 +-#, fuzzy, gcc-internal-format +-#| msgid "STOP code out of range at %C" ++#: config/arm/arm.c:12245 ++#, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" +-msgstr "El código STOP está fuera de rango en %C" ++msgstr "%K%s %wd fuera de rango %wd - %wd" + +-#: config/arm/arm.c:12211 +-#, fuzzy, gcc-internal-format +-#| msgid "STOP code out of range at %C" ++#: config/arm/arm.c:12248 ++#, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" +-msgstr "El código STOP está fuera de rango en %C" ++msgstr "%s %wd fuera de rango %wd - %wd" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "no se puede calcular la ubicación real del parámetro apilado" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected end of module" + msgid "Unexpected thumb1 far jump" + msgstr "Fin de módulo inesperado" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "no hay registros inferiores disponibles para extraer registros superiores" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "no se pueden codificar las Rutinas de Servicios de Interrupción en el modo Thumb" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" +-msgstr "" ++msgstr "-fstack-check=specific para Thumb-1" + +-#: config/arm/arm.c:30391 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "invalid vector type for attribute %qs" ++#: config/arm/arm.c:30435 ++#, gcc-internal-format, gfc-internal-format + msgid "invalid fpu for attribute(target(\"%s\"))" +-msgstr "tipo de vector no válido para el atributo %qs" ++msgstr "fpu no válida para el atributo(objetivo(\"%s\"))" + + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" +-msgstr "" ++msgstr "selección automática de fpu actualmente no permitida aquí" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "se desconoce attribute(target(\"%s\"))" + + #: config/arm/freebsd.h:121 +-#, fuzzy, gcc-internal-format +-#| msgid "target CPU does not support unaligned accesses" ++#, gcc-internal-format + msgid "target OS does not support unaligned accesses" +-msgstr "el CPU objetivo no admite accesos sin alinear" ++msgstr "el OS objetivo no admite accesos sin alinear" + + #: config/avr/avr-c.c:63 config/avr/avr-c.c:188 +-#, fuzzy, gcc-internal-format +-#| msgid "macro \"%s\" requires %u arguments, but only %u given" ++#, gcc-internal-format + msgid "%qs expects 1 argument but %d given" +-msgstr "la macro \"%s\" requiere %u argumentos, pero solo se proporcionan %u" ++msgstr "%qs espera 1 argumento pero se han proporcionado %d" + + #: config/avr/avr-c.c:74 +-#, fuzzy, gcc-internal-format +-#| msgid "%qs expects a constant argument" ++#, gcc-internal-format + msgid "%qs expects a fixed-point value as argument" +-msgstr "%qs espera una constante como argumento" ++msgstr "%qs espera un valor de coma fija como argumento" + + #: config/avr/avr-c.c:100 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute has no effect" ++#, gcc-internal-format + msgid "using %qs with unsigned type has no effect" +-msgstr "el atributo %qE no tiene efecto" ++msgstr "usar %qs con un tipo sin signo no tiene ningún efecto" + + #: config/avr/avr-c.c:105 config/avr/avr-c.c:171 config/avr/avr-c.c:228 + #, fuzzy, gcc-internal-format +@@ -27015,28 +26867,24 @@ + msgstr "no se encontró una plantilla coincidente para %qD" + + #: config/avr/avr-c.c:122 +-#, fuzzy, gcc-internal-format +-#| msgid "macro \"%s\" requires %u arguments, but only %u given" ++#, gcc-internal-format + msgid "%qs expects 2 arguments but %d given" +-msgstr "la macro \"%s\" requiere %u argumentos, pero solo se proporcionan %u" ++msgstr "%qs espera 2 argumentos, pero se han proporcionado %d" + + #: config/avr/avr-c.c:134 config/avr/avr-c.c:199 +-#, fuzzy, gcc-internal-format +-#| msgid "%qs expects a constant argument" ++#, gcc-internal-format + msgid "%qs expects a fixed-point value as first argument" +-msgstr "%qs espera una constante como argumento" ++msgstr "%qs espera un valor de coma fijacomo argumento" + + #: config/avr/avr-c.c:142 +-#, fuzzy, gcc-internal-format +-#| msgid "%qs expects a constant argument" ++#, gcc-internal-format + msgid "%qs expects an integer value as second argument" +-msgstr "%qs espera una constante como argumento" ++msgstr "%qs espera un valor entero como segundo argumento" + + #: config/avr/avr-devices.c:203 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "-fpic is not supported" ++#, gcc-internal-format, gfc-internal-format + msgid "devices natively supported:%s" +-msgstr "no se admite -fpic" ++msgstr "dispositivos aceptados de forma nativa:%s" + + #: config/avr/avr-devices.c:212 + #, fuzzy, gcc-internal-format, gfc-internal-format +@@ -27065,16 +26913,14 @@ + msgstr "no se admite -fPIC" + + #: config/avr/avr.c:773 +-#, fuzzy, gcc-internal-format +-#| msgid "-fpic is not supported" ++#, gcc-internal-format + msgid "-fpie is not supported" +-msgstr "no se admite -fpic" ++msgstr "no se admite -fpie" + + #: config/avr/avr.c:775 +-#, fuzzy, gcc-internal-format +-#| msgid "-fPIC is not supported" ++#, gcc-internal-format + msgid "-fPIE is not supported" +-msgstr "no se admite -fPIC" ++msgstr "no se admite -fPIE" + + #: config/avr/avr.c:1040 + #, gcc-internal-format +@@ -27097,16 +26943,14 @@ + msgstr "la función %qs no puede devolver un valor" + + #: config/avr/avr.c:1084 +-#, fuzzy, gcc-internal-format +-#| msgid "%qs appears to be a misspelled %s handler" ++#, gcc-internal-format + msgid "%qs appears to be a misspelled %s handler, missing __vector prefix" +-msgstr "%qs parece ser un manejador %s mal escrito" ++msgstr "%qs parece ser un manejador %s mal escrito; falta el prefijo __vector" + + #: config/avr/avr.c:1311 +-#, fuzzy, gcc-internal-format +-#| msgid "'builtin_return_address' contains only 2 bytes of address" ++#, gcc-internal-format + msgid "% contains only 2 bytes of address" +-msgstr "'builtin_return_address' sólo contiene 2 bytes de dirección" ++msgstr "% sólo contiene 2 bytes de dirección" + + #: config/avr/avr.c:2543 + #, gcc-internal-format +@@ -27134,16 +26978,14 @@ + msgstr "no se admite escribir al espacio de direcciones %qs" + + #: config/avr/avr.c:9515 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute only applies to variables and functions" ++#, gcc-internal-format + msgid "%qE attribute only applies to variables in static storage" +-msgstr "el atributo %qE se aplica solamente a variables y funciones" ++msgstr "el atributo %qE se aplica solamente a variables en almacenamiento estático" + + #: config/avr/avr.c:9522 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute is not supported for R8C target" ++#, gcc-internal-format + msgid "%qE attribute only supported for reduced Tiny cores" +-msgstr "no se admite el atributo %qE para el objetivo R8C" ++msgstr "solo se admite el atributo %qE núcleos Tiny reducidos" + + #: config/avr/avr.c:9539 config/bfin/bfin.c:4795 config/i386/winnt.c:59 + #: config/nvptx/nvptx.c:4301 +@@ -27157,33 +26999,29 @@ + msgstr "el atributo %qE sólo permite una constante entera como argumento" + + #: config/avr/avr.c:9560 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute has no effect" ++#, gcc-internal-format + msgid "%qE attribute address out of range" +-msgstr "el atributo %qE no tiene efecto" ++msgstr "la dirección del atributo %qE está fuera de rango" + + #: config/avr/avr.c:9573 + #, gcc-internal-format + msgid "both %s and %qE attribute provide address" +-msgstr "" ++msgstr "tanto el atributo %s como el %qE proporcionan dirección" + + #: config/avr/avr.c:9583 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute only applies to variables" ++#, gcc-internal-format + msgid "%qE attribute on non-volatile variable" +-msgstr "el atributo %qE solamente se aplica a variables" ++msgstr "atributo %qE en variable no volátil" + + #: config/avr/avr.c:9653 +-#, fuzzy, gcc-internal-format +-#| msgid "nested functions not supported on this target" ++#, gcc-internal-format + msgid "address spaces are not supported for reduced Tiny devices" +-msgstr "no se admiten funciones anidadas en este objetivo" ++msgstr "no se admiten espacios de direcciones para dispositivos Tiny reducidos" + + #: config/avr/avr.c:9660 +-#, fuzzy, gcc-internal-format +-#| msgid "code model %qs not supported in the %s bit mode" ++#, gcc-internal-format + msgid "address space %qs not supported for devices with flash size up to %d KiB" +-msgstr "el modelo de código %qs no se admite en el modo de bit %s" ++msgstr "no se admite el espacio de direcciones %qs para dispositivos con tamaño de flash de hasta %d KiB" + + #: config/avr/avr.c:9831 + #, gcc-internal-format +@@ -27201,16 +27039,14 @@ + msgstr "la variable %q+D debe ser const para que se ponga en la sección de sólo lectura a través de %qs" + + #: config/avr/avr.c:9919 +-#, fuzzy, gcc-internal-format +-#| msgid "declaration of %q+D shadows a parameter" ++#, gcc-internal-format + msgid "static IO declaration for %q+D needs an address" +-msgstr "la declaración de %q+D oscurece un parámetro" ++msgstr "la declaración de ES estática para %q+D necesita una dirección" + + #: config/avr/avr.c:9951 +-#, fuzzy, gcc-internal-format +-#| msgid "previous definition of %q+D was here" ++#, gcc-internal-format + msgid "IO definition for %q+D needs an address" +-msgstr "la definición previa de %q+D estaba aquí" ++msgstr "la definición de ES para %q+D necesita una dirección" + + #: config/avr/avr.c:10058 + #, gcc-internal-format +@@ -27223,22 +27059,19 @@ + msgstr "se colocó la variable %q+D sin inicializar en el área de memoria del programa" + + #: config/avr/avr.c:10224 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE incompatible attribute ignored" ++#, gcc-internal-format + msgid "%q+D has incompatible attributes %qs and %qs" +-msgstr "se descarta el atributo incompatible %qE" ++msgstr "%q+D tiene atributos incompatibles %qs y %qs" + + #: config/avr/avr.c:10287 +-#, fuzzy, gcc-internal-format +-#| msgid "MCU %qs supported for assembler only" ++#, gcc-internal-format + msgid "architecture %qs supported for assembler only" +-msgstr "MCU %qs sólo se admite para ensamblador" ++msgstr "la arquitectura %qs sólo se admite para ensamblador" + + #: config/avr/avr.c:12823 +-#, fuzzy, gcc-internal-format +-#| msgid "Conversion from %s to %s at %L" ++#, gcc-internal-format + msgid "conversion from address space %qs to address space %qs" +-msgstr "Conversión de %s a %s en %L" ++msgstr "vonversión del espacio de direcciones %qs al espacio de direcciones %qs" + + #: config/avr/avr.c:13916 config/avr/avr.c:13929 + #, gcc-internal-format, gfc-internal-format +@@ -27253,30 +27086,27 @@ + #: config/avr/avr.c:13971 + #, gcc-internal-format, gfc-internal-format + msgid "rounding to %d bits has no effect for fixed-point value with %d fractional bits" +-msgstr "" ++msgstr "redondear a %d bits no tiene ningún efecto en valores de coma fija con %d bits de fracción" + + #: config/avr/avr.c:13980 + #, gcc-internal-format + msgid "rounding result will always be 0" +-msgstr "" ++msgstr "el resultado del redondeo será siempre 0" + + #: config/avr/driver-avr.c:56 +-#, fuzzy, gcc-internal-format +-#| msgid "unknown spec function %qs" ++#, gcc-internal-format + msgid "bad usage of spec function %qs" +-msgstr "función de especificación %qs desconocida" ++msgstr "uso incorrecto de la función de especificación %qs" + + #: config/avr/driver-avr.c:84 +-#, fuzzy, gcc-internal-format +-#| msgid "Array specification at %C has more than %d dimensions" ++#, gcc-internal-format + msgid "specified option %qs more than once" +-msgstr "La especificación de matriz en %C tiene más de %d dimensiones" ++msgstr "opción %qs especificada más de una vez" + + #: config/avr/driver-avr.c:98 +-#, fuzzy, gcc-internal-format +-#| msgid "specs file malformed after %ld characters" ++#, gcc-internal-format + msgid "strange device name %qs after %qs: bad character %qc" +-msgstr "fichero specs mal formado después de %ld caracteres" ++msgstr "nombre de dispositivo extraño %qs después de %qs: carácter incorrecto %qc" + + #: config/bfin/bfin.c:2349 + #, gcc-internal-format +@@ -27502,10 +27332,9 @@ + msgstr "no hay FUNCTION_PROFILER para CRIS" + + #: config/epiphany/epiphany.c:483 +-#, fuzzy, gcc-internal-format +-#| msgid "interrupt handlers cannot be MIPS16 functions" ++#, gcc-internal-format + msgid "interrupt handlers cannot have arguments" +-msgstr "los manejadores de interrupciones no pueden ser funciones MIPS16" ++msgstr "los manejadores de interrupciones no pueden tener argumentos" + + #: config/epiphany/epiphany.c:507 + #, gcc-internal-format +@@ -27583,28 +27412,24 @@ + msgstr "esta función interna sólo está disponible en el fr450" + + #: config/ft32/ft32.c:177 +-#, fuzzy, gcc-internal-format +-#| msgid "`sigof' applied to non-aggregate expression" ++#, gcc-internal-format + msgid "'h' applied to non-register operand" +-msgstr "`sigof' aplicado a una expresión no agregada" ++msgstr "`h' aplicado a un operando no registro" + + #: config/ft32/ft32.c:202 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "array assignment" ++#, gcc-internal-format, gfc-internal-format + msgid "bad alignment: %d" +-msgstr "asignación de matriz" ++msgstr "alineamiento incorrecto: %d" + + #: config/ft32/ft32.c:497 +-#, fuzzy, gcc-internal-format +-#| msgid "stack size must not be greater than 64k" ++#, gcc-internal-format + msgid "stack frame must be smaller than 64K" +-msgstr "el tamaño de la pila no debe ser mayor a 64k" ++msgstr "el marco de la pila debe ser menor de 64k" + + #: config/h8300/h8300.c:326 +-#, fuzzy, gcc-internal-format +-#| msgid "-f%s not supported: ignored" ++#, gcc-internal-format + msgid "-msx is not supported in coff" +-msgstr "no se admite -f%s: descartado" ++msgstr "no se admite -msx en coff" + + #: config/h8300/h8300.c:348 + #, gcc-internal-format +@@ -27612,39 +27437,34 @@ + msgstr "se usó -ms2600 sin -ms" + + #: config/h8300/h8300.c:354 +-#, fuzzy, gcc-internal-format +-#| msgid "-mn is used without -mh or -ms" ++#, gcc-internal-format + msgid "-mn is used without -mh or -ms or -msx" +-msgstr "se usó -mn sin -mh ó -ms" ++msgstr "se usó -mn sin -mh ó -ms o -msx" + + #: config/h8300/h8300.c:360 +-#, fuzzy, gcc-internal-format +-#| msgid "-ms2600 is used without -ms" ++#, gcc-internal-format + msgid "-mexr is used without -ms" +-msgstr "se usó -ms2600 sin -ms" ++msgstr "se usó -mexr sin -ms" + + #: config/h8300/h8300.c:366 +-#, fuzzy, gcc-internal-format +-#| msgid "%<__int128%> is not supported for this target" ++#, gcc-internal-format + msgid "-mint32 is not supported for H8300 and H8300L targets" +-msgstr "no se admite %<__int128%> para este objetivo" ++msgstr "no se admite -mint32 para objetivos H8300 y H8300L " + + #: config/h8300/h8300.c:372 +-#, fuzzy, gcc-internal-format +-#| msgid "-mn is used without -mh or -ms" ++#, gcc-internal-format + msgid "-mexr is used without -ms or -msx" +-msgstr "se usó -mn sin -mh ó -ms" ++msgstr "se usó -mexr sin -ms ó -msx" + + #: config/h8300/h8300.c:378 + #, gcc-internal-format + msgid "-mno-exr valid only with -ms or -msx - Option ignored!" +-msgstr "" ++msgstr "-mno-exr válida solo con -ms o -msx - ¡Opción descartada!" + + #: config/h8300/h8300.c:385 +-#, fuzzy, gcc-internal-format +-#| msgid "%<__int128%> is not supported for this target" ++#, gcc-internal-format + msgid "-mn is not supported for linux targets" +-msgstr "no se admite %<__int128%> para este objetivo" ++msgstr "no se admite -mn para objetivos linux" + + #: config/i386/host-cygwin.c:62 + #, gcc-internal-format +@@ -27657,69 +27477,60 @@ + msgstr "no se puede establecer la posición en el fichero PCH: %m" + + #: config/i386/i386.c:4692 +-#, fuzzy, gcc-internal-format +-#| msgid "-Werror=%s: no option -%s" ++#, gcc-internal-format + msgid "wrong argument %qs to option %qs" +-msgstr "-Werror=%s: no existe la opción -%s" ++msgstr "argumento %qs incorrecto para la opción %qs" + + #: config/i386/i386.c:4698 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" +-msgstr "" ++msgstr "los rangos de tamaño de la opción %qs deberían ser crecientes" + + #: config/i386/i386.c:4708 +-#, fuzzy, gcc-internal-format +-#| msgid "register name not specified for %q+D" ++#, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" +-msgstr "no se especifica un nombre de registro para %q+D" ++msgstr "se especificó un nombre de estrategia %qs incorrecto para la opción %qs" + + #. rep; movq isn't available in 32-bit code. + #: config/i386/i386.c:4734 +-#, fuzzy, gcc-internal-format +-#| msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code" ++#, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" +-msgstr "no se admite -mstringop-stategy=rep_8byte para código de 32-bit" ++msgstr "no se admite el nombre de estrategia %qs especificado para la opción %qs para código de 32 bits" + + #: config/i386/i386.c:4747 +-#, fuzzy, gcc-internal-format +-#| msgid "alignment specified for function %qE" ++#, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" +-msgstr "se especificó la alineación para la función %qE" ++msgstr "se especificó una alineación %qs desconocida para la opción %qs" + + #: config/i386/i386.c:4757 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" +-msgstr "" ++msgstr "el valor máximo para el último rango de tamaños debería ser -1 para la opción %qs" + + #: config/i386/i386.c:4764 +-#, fuzzy, gcc-internal-format +-#| msgid "Invalid range %s in option %s" ++#, gcc-internal-format + msgid "too many size ranges specified in option %qs" +-msgstr "Rango %s no válido en la opción %s" ++msgstr "se especificaron demasiados rangos de tamaños en la opción %qs" + + #: config/i386/i386.c:4817 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Unknown argument list function at %L" ++#, gcc-internal-format, gfc-internal-format + msgid "Unknown parameter to option -mtune-ctrl: %s" +-msgstr "Lista de argumentos de función desconocida en %L" ++msgstr "Parámetro desconocido para la opción -mtune-ctrl: %s" + + #: config/i386/i386.c:5221 +-#, fuzzy, gcc-internal-format +-#| msgid "64-bit ABI not supported in ESA/390 mode" ++#, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" +-msgstr "no se admite la ABI de 64-bit en el modo ESA/390" ++msgstr "no se admite Intel MCU psABI en el modo %s" + + #: config/i386/i386.c:5270 +-#, fuzzy, gcc-internal-format +-#| msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate" ++#, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" +-msgstr "%stune=x86-64%s es obsoleto; use en su lugar %stune=k8%s o %stune=generic%s como sea adecuado" ++msgstr "%<-mtune=x86-64%> es obsoleto; use en su lugar %<-mtune=k8%> o %<-mtune=generic%> como sea adecuado" + + #: config/i386/i386.c:5272 +-#, fuzzy, gcc-internal-format +-#| msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate" ++#, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" +-msgstr "%stune=x86-64%s es obsoleto; use en su lugar %stune=k8%s o %stune=generic%s como sea adecuado" ++msgstr "% es obsoleto; use % o % en su lugar como convenga" + + #. rep; movq isn't available in 32-bit code. + #: config/i386/i386.c:5299 +@@ -27728,10 +27539,9 @@ + msgstr "no se admite -mstringop-stategy=rep_8byte para código de 32-bit" + + #: config/i386/i386.c:5316 +-#, fuzzy, gcc-internal-format +-#| msgid "code model %qs not supported in the %s bit mode" ++#, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" +-msgstr "el modelo de código %qs no se admite en el modo de bit %s" ++msgstr "el modelo de direcciones %qs no se admite en el modo de bit %s" + + #: config/i386/i386.c:5342 config/i386/i386.c:5351 config/i386/i386.c:5363 + #: config/i386/i386.c:5374 config/i386/i386.c:5385 +@@ -27760,28 +27570,24 @@ + msgstr "no está compilado el modo bit-%i" + + #: config/i386/i386.c:5423 +-#, fuzzy, gcc-internal-format +-#| msgid "generic CPU can be used only for %stune=%s %s" ++#, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" +-msgstr "el CPU generic sólo se puede usar para %stune=%s %s" ++msgstr "la CPU % solo se puede usar para el ajuste %<-tune=%>" + + #: config/i386/i386.c:5425 +-#, fuzzy, gcc-internal-format +-#| msgid "generic CPU can be used only for %stune=%s %s" ++#, gcc-internal-format + msgid "% CPU can be used only for % attribute" +-msgstr "el CPU generic sólo se puede usar para %stune=%s %s" ++msgstr "la CPU % solo se puede usar para el atributo %" + + #: config/i386/i386.c:5432 +-#, fuzzy, gcc-internal-format +-#| msgid "generic CPU can be used only for %stune=%s %s" ++#, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" +-msgstr "el CPU generic sólo se puede usar para %stune=%s %s" ++msgstr "la CPU % solo se puede usar para el ajuste %<-mtune=%>" + + #: config/i386/i386.c:5434 +-#, fuzzy, gcc-internal-format +-#| msgid "generic CPU can be used only for %stune=%s %s" ++#, gcc-internal-format + msgid "% CPU can be used only for % attribute" +-msgstr "el CPU generic sólo se puede usar para %stune=%s %s" ++msgstr "la CPU % solo se puede usar para el atributo %" + + #: config/i386/i386.c:5442 config/i386/i386.c:5718 + #, gcc-internal-format +@@ -27789,82 +27595,69 @@ + msgstr "el CPU que seleccionó no admite el conjunto de instrucciones x86-64" + + #: config/i386/i386.c:5655 config/i386/i386.c:5658 +-#, fuzzy, gcc-internal-format +-#| msgid "target CPU does not support APCS-26" ++#, gcc-internal-format + msgid "Intel MPX does not support x32" +-msgstr "el CPU objetivo no tiene soporte para APCS-26" ++msgstr "Intel MPX no tiene soporte para x32" + + #: config/i386/i386.c:5663 +-#, fuzzy, gcc-internal-format +-#| msgid "bad value (%s) for -march= switch" ++#, gcc-internal-format + msgid "bad value (%qs) for %<-march=%> switch" +-msgstr "valor erróneo (%s) para la opción -march=" ++msgstr "valor erróneo (%qs) para la opción %<-march=%>" + + #: config/i386/i386.c:5664 +-#, fuzzy, gcc-internal-format +-#| msgid "bad value (%s) for -march= switch" ++#, gcc-internal-format + msgid "bad value (%qs) for % attribute" +-msgstr "valor erróneo (%s) para la opción -march=" ++msgstr "valor erróneo (%qs) para el atributo %" + + #: config/i386/i386.c:5681 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %qs are: %s" ++#, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" +-msgstr "los argumentos válidos para %qs son: %s" ++msgstr "los argumentos válidos para la opción %<-march=%> son: %s; ¿quiso decir %qs?" + + #: config/i386/i386.c:5683 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %qs are: %s" ++#, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" +-msgstr "los argumentos válidos para %qs son: %s" ++msgstr "los argumentos válidos para el atributo % son: %s; ¿qiuso decir %qs?" + + #: config/i386/i386.c:5688 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %qs are: %s" ++#, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" +-msgstr "los argumentos válidos para %qs son: %s" ++msgstr "los argumentos válidos para la opción %<-march=%> son: %s" + + #: config/i386/i386.c:5689 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %qs are: %s" ++#, gcc-internal-format + msgid "valid arguments to % attribute are: %s" +-msgstr "los argumentos válidos para %qs son: %s" ++msgstr "los argumentos válidos para el atributo % son: %s" + + #: config/i386/i386.c:5736 +-#, fuzzy, gcc-internal-format +-#| msgid "bad value (%s) for -mtune= switch" ++#, gcc-internal-format + msgid "bad value (%qs) for %<-mtune=%> switch" +-msgstr "valor erróneo (%s) para la opción -mtune=" ++msgstr "valor erróneo (%qs) para la opción %<-mtune=%>" + + #: config/i386/i386.c:5737 +-#, fuzzy, gcc-internal-format +-#| msgid "bad value (%s) for -mtune= switch" ++#, gcc-internal-format + msgid "bad value (%qs) for % attribute" +-msgstr "valor erróneo (%s) para la opción -mtune=" ++msgstr "valor erróneo (%qs) para el atributo %" + + #: config/i386/i386.c:5752 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %qs are: %s" ++#, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" +-msgstr "los argumentos válidos para %qs son: %s" ++msgstr "los argumentos válidos para la opción %<-mtune=%> son: %s; ¿quiso decir %qs?" + + #: config/i386/i386.c:5754 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %qs are: %s" ++#, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" +-msgstr "los argumentos válidos para %qs son: %s" ++msgstr "los argumentos válidos para el atributo % son: %s; ¿quiso decir %qs?" + + #: config/i386/i386.c:5759 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %qs are: %s" ++#, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" +-msgstr "los argumentos válidos para %qs son: %s" ++msgstr "los argumentos válidos para la opción %<-mtune=%> son: %s" + + #: config/i386/i386.c:5760 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %qs are: %s" ++#, gcc-internal-format + msgid "valid arguments to % attribute are: %s" +-msgstr "los argumentos válidos para %qs son: %s" ++msgstr "los argumentos válidos para el atributo % son: %s" + + #: config/i386/i386.c:5826 + #, gcc-internal-format +@@ -27872,10 +27665,9 @@ + msgstr "se descarta -mregparm en modo de 64-bit" + + #: config/i386/i386.c:5828 +-#, fuzzy, gcc-internal-format +-#| msgid "-mregparm is ignored in 64-bit mode" ++#, gcc-internal-format + msgid "-mregparm is ignored for Intel MCU psABI" +-msgstr "se descarta -mregparm en modo de 64-bit" ++msgstr "se descarta -mregparm para Intel MCU psABI" + + #: config/i386/i386.c:5831 + #, gcc-internal-format, gfc-internal-format +@@ -27883,16 +27675,14 @@ + msgstr "-mregparm=%d no está entre 0 y %d" + + #: config/i386/i386.c:5864 +-#, fuzzy, gcc-internal-format +-#| msgid "%srtd%s is ignored in 64bit mode" ++#, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" +-msgstr "se descarta %srtd%s en el modo de 64bit" ++msgstr "se descarta %<-mrtd%> en el modo de 64bit" + + #: config/i386/i386.c:5865 +-#, fuzzy, gcc-internal-format +-#| msgid "%srtd%s is ignored in 64bit mode" ++#, gcc-internal-format + msgid "% is ignored in 64bit mode" +-msgstr "se descarta %srtd%s en el modo de 64bit" ++msgstr "se descarta % en el modo de 64bit" + + #: config/i386/i386.c:5938 + #, gcc-internal-format +@@ -27910,28 +27700,24 @@ + msgstr "-mincoming-stack-boundary=%d no está entre %d y 12" + + #: config/i386/i386.c:5977 +-#, fuzzy, gcc-internal-format +-#| msgid "-mno-fentry isn%'t compatible with SEH" ++#, gcc-internal-format + msgid "-mnop-mcount is not compatible with this target" +-msgstr "-mno-fentry no es compatible con SEH" ++msgstr "-mnop-mcount no es compatible con este objetivo" + + #: config/i386/i386.c:5980 +-#, fuzzy, gcc-internal-format +-#| msgid "inter-module optimizations not implemented for C++" ++#, gcc-internal-format + msgid "-mnop-mcount is not implemented for -fPIC" +-msgstr "no se han implementado las optimizaciones intermódulos para C++" ++msgstr "-mnop-mcount no está implementada para -fPIC" + + #: config/i386/i386.c:5986 +-#, fuzzy, gcc-internal-format +-#| msgid "%ssseregparm%s used without SSE enabled" ++#, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" +-msgstr "se usó %ssseregparm%s sin SSE activado" ++msgstr "se usó %<-msseregparm%> sin SSE activado" + + #: config/i386/i386.c:5987 +-#, fuzzy, gcc-internal-format +-#| msgid "%ssseregparm%s used without SSE enabled" ++#, gcc-internal-format + msgid "% used without SSE enabled" +-msgstr "se usó %ssseregparm%s sin SSE activado" ++msgstr "se usó % sin SSE activado" + + #: config/i386/i386.c:5997 + #, gcc-internal-format +@@ -27944,28 +27730,24 @@ + msgstr "el conjunto de instrucciones 387 está desactivado, usando la aritmética SSE" + + #: config/i386/i386.c:6054 +-#, fuzzy, gcc-internal-format +-#| msgid "stack probing requires %saccumulate-outgoing-args%s for correctness" ++#, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" +-msgstr "actualmente la prueba de pila requiere un puntero de marco o %saccumulate-outgoing-args%s para ser correctas" ++msgstr "la prueba de pila requiere %<-maccumulate-outgoing-args%> para ser correcta" + + #: config/i386/i386.c:6056 +-#, fuzzy, gcc-internal-format +-#| msgid "stack probing requires %saccumulate-outgoing-args%s for correctness" ++#, gcc-internal-format + msgid "stack probing requires % for correctness" +-msgstr "actualmente la prueba de pila requiere un puntero de marco o %saccumulate-outgoing-args%s para ser correctas" ++msgstr "la prueba de pila requiere % para ser correcta" + + #: config/i386/i386.c:6070 +-#, fuzzy, gcc-internal-format +-#| msgid "stack probing requires %saccumulate-outgoing-args%s for correctness" ++#, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" +-msgstr "actualmente la prueba de pila requiere un puntero de marco o %saccumulate-outgoing-args%s para ser correctas" ++msgstr "el registro ebp fijo requiere %<-maccumulate-outgoing-args%>" + + #: config/i386/i386.c:6072 +-#, fuzzy, gcc-internal-format +-#| msgid "stack probing requires %saccumulate-outgoing-args%s for correctness" ++#, gcc-internal-format + msgid "fixed ebp register requires %" +-msgstr "actualmente la prueba de pila requiere un puntero de marco o %saccumulate-outgoing-args%s para ser correctas" ++msgstr "el registro ebp fijo requiere %" + + #: config/i386/i386.c:6178 + #, gcc-internal-format +@@ -27990,19 +27772,17 @@ + #: config/i386/i386.c:7168 + #, gcc-internal-format + msgid "Only DWARF debug format is supported for interrupt service routine." +-msgstr "" ++msgstr "Solo se admite el formato de depuración DWARF para la rutina de servicio de interrupciones." + + #: config/i386/i386.c:7267 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "2 byte cop instructions are not allowed in 64-bit VLIW mode" ++#, gcc-internal-format, gfc-internal-format + msgid "%s instructions aren't allowed in %s service routine" +-msgstr "las instrucciones cop de 2 bytes no se permiten en modo VLIW de 64-bit" ++msgstr "las instrucciones %s no se permiten en la rutina de servicio %s" + + #: config/i386/i386.c:7271 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Use a stack protection method for every function" ++#, gcc-internal-format, gfc-internal-format + msgid "%s instructions aren't allowed in function with no_caller_saved_registers attribute" +-msgstr "Usa un método de protección de pila para cada función." ++msgstr "Las instrucciones %s no están permitidas en funciones con el atributo no_caller_saved_registers" + + #: config/i386/i386.c:7683 config/i386/i386.c:7734 + #, gcc-internal-format +@@ -28060,10 +27840,9 @@ + msgstr "los atributos cdecl y thiscall no son compatibles" + + #: config/i386/i386.c:7779 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE attribute is used for none class-method" ++#, gcc-internal-format + msgid "%qE attribute is used for non-class method" +-msgstr "se usó el atributo %qE para clases-métodos none" ++msgstr "se usó el atributo %qE para método no de clase" + + #: config/i386/i386.c:8023 + #, gcc-internal-format +@@ -28076,10 +27855,9 @@ + msgstr "se llama a %qT con el atributo sseregparm sin activar SSE/SSE2" + + #: config/i386/i386.c:8342 +-#, fuzzy, gcc-internal-format +-#| msgid "does not support multilib" ++#, gcc-internal-format + msgid "X32 does not support ms_abi attribute" +-msgstr "no se admite multilib" ++msgstr "X32 no admite el atributo ms_abi" + + #: config/i386/i386.c:8374 + #, gcc-internal-format +@@ -28087,16 +27865,14 @@ + msgstr "ms_hook_prologue no es compatible con la función anidada" + + #: config/i386/i386.c:8687 +-#, fuzzy, gcc-internal-format +-#| msgid "AVX vector argument without AVX enabled changes the ABI" ++#, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" +-msgstr "el argumento de vector AVX sin AVX activado cambia la ABI" ++msgstr "el argumento de vector AVX512F sin AVX512F activado cambia la ABI" + + #: config/i386/i386.c:8693 +-#, fuzzy, gcc-internal-format +-#| msgid "AVX vector argument without AVX enabled changes the ABI" ++#, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" +-msgstr "el argumento de vector AVX sin AVX activado cambia la ABI" ++msgstr "el retorno de vector AVX512F sin AVX512F activado cambia la ABI" + + #: config/i386/i386.c:8707 + #, gcc-internal-format +@@ -28104,10 +27880,9 @@ + msgstr "el argumento de vector AVX sin AVX activado cambia la ABI" + + #: config/i386/i386.c:8713 +-#, fuzzy, gcc-internal-format +-#| msgid "AVX vector argument without AVX enabled changes the ABI" ++#, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" +-msgstr "el argumento de vector AVX sin AVX activado cambia la ABI" ++msgstr "el retorno de vector AVX sin AVX activado cambia la ABI" + + #: config/i386/i386.c:8729 + #, gcc-internal-format +@@ -28160,15 +27935,14 @@ + msgstr "se devuelve el registro x87 con x87 desactivado" + + #: config/i386/i386.c:9655 config/i386/i386.c:9926 config/i386/i386.c:10449 +-#, fuzzy, gcc-internal-format +-#| msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" ++#, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" +-msgstr "se llama a %qD con el atributo sseregparm sin activar SSE/SSE2" ++msgstr "se llama a %qD con el convenio de llamadas SSE sin activar SSE/SSE2" + + #: config/i386/i386.c:9657 config/i386/i386.c:9928 config/i386/i386.c:10451 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" +-msgstr "" ++msgstr "esto es un error de GCC que se puede sortear añadiendo el atributo usado a la función llamada" + + #: config/i386/i386.c:10351 + #, gcc-internal-format, gfc-internal-format +@@ -28183,7 +27957,7 @@ + #: config/i386/i386.c:13824 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." +-msgstr "" ++msgstr "No se admite Puntero de Argumento de Realineamiento Dinámico (DRAP) en la rutina de servicio de interrupciones. Esto puede sortearse evitando funciones con retorno agregado." + + #: config/i386/i386.c:14836 + #, gcc-internal-format +@@ -28191,8 +27965,7 @@ + msgstr "-fsplit-stack no admite fastcall con funciones anidadas" + + #: config/i386/i386.c:14856 +-#, fuzzy, gcc-internal-format +-#| msgid "-fsplit-stack does not support 2 register parameters for a nested function" ++#, gcc-internal-format + msgid "-fsplit-stack does not support 2 register parameters for a nested function" + msgstr "-fsplit-stack no admite 2 parámetros de registro para una función anidada" + +@@ -28204,10 +27977,9 @@ + msgstr "-fsplit-stack no admite 3 parámetros de registro" + + #: config/i386/i386.c:17672 config/i386/i386.c:17686 +-#, fuzzy, gcc-internal-format +-#| msgid "unsupported operand size for extended register" ++#, gcc-internal-format + msgid "unsupported size for integer register" +-msgstr "no se admite el tamaño de operando para el registro extendido" ++msgstr "no se admite el tamaño para registro de enteros" + + #: config/i386/i386.c:17718 + #, gcc-internal-format +@@ -28220,72 +27992,64 @@ + msgstr "no se admite el tamaño de operando para el registro extendido" + + #: config/i386/i386.c:17924 +-#, fuzzy, gcc-internal-format +-#| msgid "non-integer operand used with operand code '%c'" ++#, gcc-internal-format + msgid "non-integer operand used with operand code 'z'" +-msgstr "se usó un operando que no es entero con el código de operando '%c'" ++msgstr "se usó un operando que no es entero con el código de operando 'z'" + + #: config/i386/i386.c:28283 +-#, fuzzy, gcc-internal-format +-#| msgid "interrupt Service Routines cannot be coded in Thumb mode" ++#, gcc-internal-format + msgid "interrupt service routine can't be called directly" +-msgstr "no se pueden codificar las Rutinas de Servicios de Interrupción en el modo Thumb" ++msgstr "no se puede llamar directamente a la rutina de servicio de interrupciones" + + #: config/i386/i386.c:32550 + #, gcc-internal-format + msgid "No dispatcher found for the versioning attributes" +-msgstr "" ++msgstr "No se ha encontrado despachador para los atributos de versión" + + #: config/i386/i386.c:32600 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "No label definition found for %qs" ++#, gcc-internal-format, gfc-internal-format + msgid "No dispatcher found for %s" +-msgstr "No se encontró una definición de etiqueta para %qs" ++msgstr "No se encontró despachador para %s" + + #: config/i386/i386.c:32610 + #, gcc-internal-format, gfc-internal-format + msgid "No dispatcher found for the versioning attributes : %s" +-msgstr "" ++msgstr "No se encontró despachador para los atributos de versión : %s" + + #: config/i386/i386.c:32858 + #, gcc-internal-format + msgid "Function versions cannot be marked as gnu_inline, bodies have to be generated" +-msgstr "" ++msgstr "Las versiones de funciones no pueden marcarse como gnu_inline; hay que generar cuerpos" + + #: config/i386/i386.c:32863 config/i386/i386.c:33291 +-#, fuzzy, gcc-internal-format +-#| msgid "static linking is not supported" ++#, gcc-internal-format + msgid "Virtual function multiversioning not supported" +-msgstr "no se admite enlace estático" ++msgstr "No se admiten versiones múltiples de funciones virtuales" + + #: config/i386/i386.c:32926 + #, gcc-internal-format + msgid "missing % attribute for multi-versioned %D" +-msgstr "" ++msgstr "falta el atributo % para %D multiversionado" + + #: config/i386/i386.c:32929 +-#, fuzzy, gcc-internal-format +-#| msgid "previous declaration of %q+D" ++#, gcc-internal-format + msgid "previous declaration of %D" +-msgstr "declaración previa de %q+D" ++msgstr "declaración previa de %D" + + #: config/i386/i386.c:33148 +-#, fuzzy, gcc-internal-format +-#| msgid "nested functions not supported on this target" ++#, gcc-internal-format + msgid "multiversioning needs ifunc which is not supported on this target" +-msgstr "no se admiten funciones anidadas en este objetivo" ++msgstr "el versionado múltiple necesita ifunc, que no se admite en este objetivo" + + #: config/i386/i386.c:33540 +-#, fuzzy, gcc-internal-format +-#| msgid "argument to %qs must be a 2-bit unsigned literal" ++#, gcc-internal-format + msgid "Parameter to builtin must be a string constant or literal" +-msgstr "el argumento para %qs debe ser una literal sin signo de 2-bit" ++msgstr "El parámetro para la función interna debe ser una cadena constante o literal" + + #: config/i386/i386.c:33565 config/i386/i386.c:33615 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Argument to -ffpe-trap is not valid: %s" ++#, gcc-internal-format, gfc-internal-format + msgid "Parameter to builtin not valid: %s" +-msgstr "El argumento para -ffpe-trap no es válido: %s" ++msgstr "El parámetro para la función interna no es válido: %s" + + #: config/i386/i386.c:34294 config/i386/i386.c:35692 + #, gcc-internal-format +@@ -28308,10 +28072,9 @@ + msgstr "el último argumento debe ser un inmediato de 1-bit" + + #: config/i386/i386.c:35638 +-#, fuzzy, gcc-internal-format +-#| msgid "the last argument must be a 32-bit immediate" ++#, gcc-internal-format + msgid "the last argument must be a 3-bit immediate" +-msgstr "el último argumento debe ser un inmediato de 32-bit" ++msgstr "el último argumento debe ser un inmediato de 3-bit" + + #: config/i386/i386.c:35671 + #, gcc-internal-format +@@ -28339,40 +28102,34 @@ + msgstr "el último argumento debe ser un inmediato de 8-bit" + + #: config/i386/i386.c:35907 +-#, fuzzy, gcc-internal-format +-#| msgid "argument must be a constant" ++#, gcc-internal-format + msgid "the third argument must be comparison constant" +-msgstr "el argumento debe ser una constante" ++msgstr "el tercer argumento debe ser una constante de comparación" + + #: config/i386/i386.c:35912 +-#, fuzzy, gcc-internal-format +-#| msgid "incorrect insn:" ++#, gcc-internal-format + msgid "incorrect comparison mode" +-msgstr "insn incorrecta:" ++msgstr "modo de comparación incorrecto" + + #: config/i386/i386.c:35918 config/i386/i386.c:36119 +-#, fuzzy, gcc-internal-format +-#| msgid "incorrect sharing of tree nodes" ++#, gcc-internal-format + msgid "incorrect rounding operand" +-msgstr "compartición incorrecta de nodos de árbol" ++msgstr "operando de redondeo incorrecto" + + #: config/i386/i386.c:36101 +-#, fuzzy, gcc-internal-format +-#| msgid "the last argument must be a 4-bit immediate" ++#, gcc-internal-format + msgid "the immediate argument must be a 4-bit immediate" +-msgstr "el último argumento debe ser un inmediato de 4-bit" ++msgstr "el argumento inmediato debe ser un inmediato de 4-bit" + + #: config/i386/i386.c:36107 +-#, fuzzy, gcc-internal-format +-#| msgid "the last argument must be a 5-bit immediate" ++#, gcc-internal-format + msgid "the immediate argument must be a 5-bit immediate" +-msgstr "el tercer argumento debe ser un inmediato de 5-bit" ++msgstr "el argumento inmediato debe ser un inmediato de 5-bit" + + #: config/i386/i386.c:36110 +-#, fuzzy, gcc-internal-format +-#| msgid "the last argument must be an 8-bit immediate" ++#, gcc-internal-format + msgid "the immediate argument must be an 8-bit immediate" +-msgstr "el último argumento debe ser un inmediato de 8-bit" ++msgstr "el argumento inmediato debe ser un inmediato de 8-bit" + + #: config/i386/i386.c:36527 + #, gcc-internal-format +@@ -28400,16 +28157,14 @@ + msgstr "el último argumento debe ser un inmediato" + + #: config/i386/i386.c:38270 config/i386/i386.c:38452 +-#, fuzzy, gcc-internal-format +-#| msgid "last argument must be scale 1, 2, 4, 8" ++#, gcc-internal-format + msgid "the last argument must be scale 1, 2, 4, 8" +-msgstr "el argumento izquierdo debe ser un escalar 1, 2, 4, 8" ++msgstr "el último argumento debe ser un escalar 1, 2, 4, 8" + + #: config/i386/i386.c:38505 +-#, fuzzy, gcc-internal-format +-#| msgid "last argument must be scale 1, 2, 4, 8" ++#, gcc-internal-format + msgid "the forth argument must be scale 1, 2, 4, 8" +-msgstr "el argumento izquierdo debe ser un escalar 1, 2, 4, 8" ++msgstr "el argumento delantero debe ser un escalar 1, 2, 4, 8" + + #: config/i386/i386.c:38511 + #, fuzzy, gcc-internal-format +@@ -29775,7 +29530,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "vec_insert sólo acepta 3 argumentos" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, fuzzy, gcc-internal-format + #| msgid "vec_insert only accepts 3 arguments" + msgid "vec_adde only accepts 3 arguments" +@@ -29787,44 +29542,44 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "vec_insert sólo acepta 3 argumentos" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%s sólo acepta %d argumentos" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%s sólo acepta 1 argumento" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%s sólo acepta 2 argumentos" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "vec_extract sólo acepta 2 argumentos" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "vec_insert sólo acepta 3 argumentos" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + #| msgid "passing arg %d of %qE discards qualifiers frompointer target type" + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "el paso del argumento %d de %qE descarta los calificadores del tipo del destino del puntero" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ifunc is not supported in this configuration" + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "ifunc no se admite en esta configuración" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid parameter combination for AltiVec intrinsic" + msgid "invalid parameter combination for AltiVec intrinsic %s" +@@ -30935,112 +30690,112 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "el tamaño total de las variables locales excede el límite de la arquitectura" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "el tamaño de marco de la función %qs de %wd bytes excede el límite de pila definido por el usuario de %d bytes. Se agrega una trampa incondicional." + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "el tamaño de marco de la función %qs de %wd bytes es mayor que la mitad del tamaño de la pila. La revisión dinámica no será confiable. No se emitirá revisión para esta función." + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "el tamaño de marco de %qs es de %wd bytes" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "%qs utiliza alojamiento dinámico de pila" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "% is deprecated and will be removed in a future release" + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "% es obsoleto y se eliminará en una versión futura" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "% is deprecated and will be removed in a future release" + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "% es obsoleto y se eliminará en una versión futura" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "no se admite el modo z/Architecture en %s" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "no se admite la ABI de 64-bit en el modo ESA/390" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "hardware decimal floating point instructions not available on %s" + msgid "hardware vector support not available on %s" + msgstr "las instrucciones de coma flotante decimal de hardware no están disponibles en %s" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "las instrucciones de coma flotante decimal de hardware no están disponibles en %s" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "las instrucciones de coma flotante decimal de hardware no están disponibles en el modo ESA/390" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "-mhard-dfp no se puede usar en conjunción con -msoft-float" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "no se admiten -mbackchain -mpacked-stack -mhard-float en combinación" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "el tamaño de la pila debe ser mayor que el valor de la guardia de pila" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "el tamaño de la pila no debe ser mayor a 64k" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "-mstack-guard implica el uso de -mstack-size" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs should be a non-negative integer" + msgid "arguments to %qs should be non-negative integers" + msgstr "el argumento para %qs debe ser un entero no negativo" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qE attribute larger than %d" + msgid "argument to %qs is too large (max. %d)" +@@ -31047,7 +30802,7 @@ + msgstr "el argumento para el atributo %qE es más grande que %d" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + #| msgid "%<__int128%> is not supported by this target" + msgid "value %qs is not supported by attribute %" +Index: gcc/po/fr.po +=================================================================== +--- a/src/gcc/po/fr.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/fr.po (.../branches/gcc-7-branch) +@@ -130,10 +130,10 @@ + # + msgid "" + msgstr "" +-"Project-Id-Version: gcc 7.1-b20170427\n" ++"Project-Id-Version: gcc 7.1.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" +-"PO-Revision-Date: 2017-04-29 21:11+0200\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" ++"PO-Revision-Date: 2017-05-02 18:16+0200\n" + "Last-Translator: Frédéric Marchal \n" + "Language-Team: French \n" + "Language: fr\n" +@@ -2923,42 +2923,42 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Opérande non supporté pour le code « %c »" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "opérande invalide pour « %%%c »" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "opérande en virgule flottante ou registre vecteur incompatible pour « %%%c »" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "opérande manquant" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, c-format + msgid "invalid constant" + msgstr "constante invalide" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, c-format + msgid "invalid operand" + msgstr "opérande invalide" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "préfixe d'opérande invalide « %%%c »" +@@ -3116,29 +3116,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "UNSPEC invalide comme opérande : %d" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "opérande shift invalide" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "instruction Thumb établie" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "instruction établie dans la séquence conditionnelle" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3146,13 +3146,13 @@ + msgid "invalid operand for code '%c'" + msgstr "opérande invalide pour « %c »" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "instruction jamais exécutée" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "code de format Maverick « %c » obsolète" +@@ -3960,98 +3960,98 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "emit_fusion_p9_store pas MEM" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "les références mémoire symboliques sont uniquement supportées sur z10 ou ultérieur" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "adresse indécomposable" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "opérateur de comparaison invalide pour le modificateur de sortie « E »" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "référence invalide pour le modificateur de sortie « J »" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "adresse invalide pour le modificateur de sortie « O »" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "adresse invalide pour le modificateur de sortie « R »" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "référence mémoire attendue pour le modificateur de sortie « S »" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "adresse invalide pour le modificateur de sortie « S »" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "registre ou expression mémoire attendue pour le modificateur de sortie « N »" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "registre ou expression mémoire attendue pour le modificateur de sortie « M »" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "constante invalide pour le modificateur de sortie « %c »" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "constante invalide - essayez un modificateur de sortie" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "vecteur constant invalide pour le modificateur de sortie « %c »" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "expression invalide - essayez un modificateur de sortie" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "expression invalide pour le modificateur de sortie « %c »" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + msgid "vector argument passed to unprototyped function" + msgstr "vecteur passé en argument à une fonction sans prototype" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + msgid "types differ in signedness" + msgstr "les types diffèrent sur le type signé/non-signé" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "l'opérateur binaire ne supporte pas deux opérandes booléens vectoriels" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "l'opérateur binaire ne supporte pas l'opérande booléen vectoriel" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "l'opérateur binaire ne supporte pas le mélange d'un booléen vectoriel avec un vecteur en virgule flottante" + +@@ -17412,7 +17412,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "suppose qu'un débordement signé n'a pas lieu lorsque des constantes sont combinées autour d'une comparaison" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "vérification fold: arbre originale modifié par fold" +@@ -17950,8 +17950,8 @@ + msgid "null pointer dereference" + msgstr "déréférencement d'un pointeur null" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -17965,297 +17965,297 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "argument non null %qD comparé à NULL" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "la sortie de %qE peut être tronquée avant le dernier caractère de format" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "la sortie de %qE peut être tronquée avant le dernier caractère de format" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "%qE peut écrire un zéro terminal au delà de la fin de la destination" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "%qE écrit un zéro terminal au delà de la fin de la destination" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant %wu octet dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant %wu octet dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "la directive %<%.*s%> écrit %wu octet dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant %wu octets dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant %wu octets dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "la directive %<%.*s%> écrit %wu octets dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant jusqu'à %wu octets dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant jusqu'à %wu octets dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "la directive %<%.*s%> écrit jusqu'à %wu octets dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant probablement %wu octets ou plus dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant probablement %wu octets ou plus dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "la directive %<%.*s%> écrit probablement %wu octets ou plus dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant entre %wu et %wu octets dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant entre %wu et %wu octets dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "la directive %<%.*s%> écrit entre %wu et %wu octets dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant %wu octets ou plus dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant %wu ou plus d'octets dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "la directive %<%.*s%> écrit %wu ou plus d'octets dans une région dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant %wu octet dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant %wu octet dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "la directive %<%.*s%> écrit %wu octet dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant %wu octets dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant %wu octets dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "la directive %<%.*s%> écrit %wu octets dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant jusqu'à %wu octets dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant jusqu'à %wu octets dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "la directive %<%.*s%> écrit jusqu'à %wu octets dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant probablement %wu octets ou plus dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant probablement %wu octets ou plus dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "la directive %<%.*s%> écrit probablement %wu octets ou plus dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant entre %wu et %wu octets dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant entre %wu et %wu octets dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "la directive %<%.*s%> écrit entre %wu et %wu octets dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> peut être tronquée en écrivant %wu octets ou plus dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "la sortie de la directive %<%.*s%> a été tronquée en écrivant %wu octets ou plus dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "la directive %<%.*s%> écrit %wu octets ou plus dans une région dont la taille est comprise entre %wu et %wu" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "la sortie de la directive %<%.*s%> qui contient entre %wu et %wu octets peut dépasser la taille minimum requise de 4095" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "la sortie de la directive %<%.*s%> qui contient entre %wu et %wu octets dépasse la taille minimum requise de 4095" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "la sortie de la directive %<%.*s%> qui contient entre %wu et %wu octets fait déborder le résultat au delà de %" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "la sortie de la directive %<%.*s%> qui contient entre %wu et %wu octets peut faire déborder le résultat au delà de %" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "on suppose que la sortie de la directive occupe %wu octet" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "on suppose que la sortie de la directive occupe %wu octets" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, gcc-internal-format + msgid "directive argument %qE" + msgstr "argument de directive %qE" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "argument de directive dans la plage [%E, %E]" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "utilise la plage [%E, %E] pour l'argument de la directive" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "%qE écrit %wu octet dans une destination dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "%qE écrit %wu octets dans une destination dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "%qE écrit entre %wu et %wu octets dans une destination dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "%qE écrit %wu octets ou plus (%wu supposé) dans une destination dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "%qE écrit %wu octets ou plus dans une destination dont la taille est %wu" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "la limite spécifiée %wu excède la taille maximale de l'objet (%wu)" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "la limite spécifiée %wu excède %" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, gcc-internal-format + msgid "null destination pointer" + msgstr "pointeur de destination null" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "la limite spécifiée %wu dépasse la taille %wu de l'objet de destination" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, gcc-internal-format + msgid "null format string" + msgstr "chaîne de format nulle" +@@ -20433,157 +20433,157 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "%D renommé après avoir été référencé dans l'assembleur" + +-#: symtab.c:970 ++#: symtab.c:978 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "le symbole de la fonction n'est pas une fonction" + +-#: symtab.c:978 ++#: symtab.c:986 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "le symbole de la variable n'est pas une variable" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "le nœud a un type inconnu" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "nœud pas trouvé node->decl->decl_with_vis.symtab_node" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "le nœud diffère de node->decl->decl_with_vis.symtab_node" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "la liste de hachage des noms assembleur est corrompue" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "le nœud n'a pas été trouvé dans le hachage des noms assembleur symtab" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "la liste doublement liée des noms assembleur est corrompue" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "le nœud a body_removed mais il est une définition" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "le nœud est analysé mais il n'est pas une définition" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "le nœud est un alias mais pas un alias implicite" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "le nœud est un alias mais pas une définition" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "le nœud est une référence faible (weakref) mais pas un transparent_alias" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "le nœud est un transparent_alias mais pas un alias" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "le nœud est dans la liste same_comdat_group mais il n'a aucun comdat_group" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "liste same_comdat_group au travers de groupes différents" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "le mélange de types de symboles différents dans les mêmes groupes comdat n'est pas supporté" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "le nœud est seul dans un groupe comdat" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group n'est pas une liste circulaire" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "un symbole comdat local est référencé par %s hors de son comdat" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "le fanion implicit_section est défini mais la section ne l'est pas" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "La section et le groupe comdat sont tous les deux définis" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "Les sections de l'alias et de la cible diffèrent" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "Les groupes comdat de l'alias et de la cible diffèrent" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "Les noms assembleurs de l'alias transparent et de la cible diffèrent" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "Alias transparents enchaînés" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::verify a échoué" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "Deux symboles avec le même comdat_group ne sont pas liés par la liste same_comdat_group." + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "la fonction %q+D fait partie du cycle des alias" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "la variable %q+D fait partie du cycle des alias" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "la section de l'alias %q+D doit correspondre à la section de sa cible" +@@ -22245,8 +22245,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -22282,92 +22282,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qE implique la visibilité par défaut mais %qD a déjà été déclaré avec une visibilité différente" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "les tableaux de fonctions ne sont pas pertinents" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "le type retourné par une fonction ne peut être une fonction" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "vérification de l'arbre: %s, obtenu %s dans %s, à %s:%d" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "vérification de l'arbre: n'attendait aucun parmi %s, obtenu %s dans %s, à %s:%d" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "vérification de l'arbre: attendait la classe %qs, obtenu %qs (%s) dans %s, à %s:%d" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "vérification de l'arbre: on n'attendait pas la classe %qs, obtenu %qs (%s) dans %s, à %s:%d" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "vérification de l'arbre: attendait omp_clause %s, obtenu %s dans %s, à %s:%d" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "vérification de l'arbre: attendait un arbre contenant la structure %qs, obtenu %qs dans %s, à %s:%d" + +-#: tree.c:10017 ++#: tree.c:10025 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "vérification de l'arbre: accès à elt %d de tree_int_cst avec %d elts dans %s, à %s:%d" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "vérification de l'arbre: accès à elt %d de tree_vec avec %d elts dans %s, à %s:%d" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "vérification de l'arbre: opérande accédé %d de %s avec %d opérandes dans %s, à %s:%d" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "vérification de l'arbre: opérande accédé %d de omp_clause %s avec %d opérandes dans %s, à %s:%d" + +-#: tree.c:12867 ++#: tree.c:12875 + #, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "%qD est obsolète: %s" + +-#: tree.c:12870 ++#: tree.c:12878 + #, gcc-internal-format + msgid "%qD is deprecated" + msgstr "%qD est obsolète" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "%qE est obsolète: %s" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "%qE est obsolète" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "le type est obsolète: %s" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "le type est obsolète" +@@ -22394,262 +22394,262 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "la variante du type diffère sur " + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "la variante du type a un TYPE_SIZE_UNIT différent" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "TYPE_SIZE_UNIT de la variante du type" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "TYPE_SIZE_UNIT du type" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "variante du type avec TYPE_ALIAS_SET_KNOWN_P" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "la variante du type a un TYPE_VFIELD différent" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "la variante du type a TYPE_METHODS" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "la variante du type a un TYPE_BINFO différent" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "TYPE_BINFO de la variante du type" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "TYPE_BINFO du type" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "la variante du type a un TYPE_FIELDS différent" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "le premier désaccord est le champ" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "et le champ" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "la variante du type a un TREE_TYPE différent" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "TREE_TYPE de la variante du type" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "TREE_TYPE du type" + +-#: tree.c:13548 ++#: tree.c:13556 + #, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "le type n'est pas compatible avec sa variante" + +-#: tree.c:13851 ++#: tree.c:13859 + #, gcc-internal-format + msgid "Main variant is not defined" + msgstr "La variante principale n'est pas définie" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "TYPE_MAIN_VARIANT a un TYPE_MAIN_VARIANT différent" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "TYPE_CANONICAL a un TYPE_CANONICAL différent" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "TYPE_CANONICAL n'est pas compatible" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "le TYPE_MODE de TYPE_CANONICAL n'est pas compatible" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "le TYPE_CANONICAL de la variante principale n'est pas la variante principale" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "TYPE_VFIELD n'est pas FIELD_DECL ni TREE_LIST" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "TYPE_NEXT_PTR_TO n'est pas POINTER_TYPE" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "TYPE_NEXT_REF_TO n'est pas REFERENCE_TYPE" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "TYPE_MINVAL non nul" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "TYPE_METHODS n'est pas FUNCTION_DECL, TEMPLATE_DECL ni error_mark_node" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "TYPE_METHOD_BASETYPE n'est pas un enregistrement ni une union" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "TYPE_OFFSET_BASETYPE n'est pas un enregistrement ni une union" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "TYPE_ARRAY_MAX_SIZE pas INTEGER_CST" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "TYPE_MAXVAL non NULL" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "TYPE_BINFO n'est pas TREE_BINFO" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "le type TYPE_BINFO n'est pas TYPE_MAIN_VARIANT" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "le champ TYPE_LANG_SLOT_1 (binfo) est non NULL" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "La valeur de l'enum n'est pas CONST_DECL ou INTEGER_CST" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "Le type de la valeur de l'enum n'est pas INTEGER_TYPE et n'est pas convertible en l'enum" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "Le nom de la valeur de l'enum n'est pas IDENTIFIER_NODE" + +-#: tree.c:14083 ++#: tree.c:14091 + #, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "le TYPE_DOMAIN du tableau n'est pas d'un type entier" + +-#: tree.c:14092 ++#: tree.c:14100 + #, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "TYPE_FIELDS défini dans un type incomplet" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "Arbre erroné dans la liste TYPE_FIELDS" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "TYPE_CACHED_VALUES_P est %i tandis que TYPE_CACHED_VALUES est %p" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "TYPE_CACHED_VALUES n'est pas TREE_VEC" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "mauvaise entrée TYPE_CACHED_VALUES" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "TREE_PURPOSE n'est pas NULL dans la liste TYPE_ARG_TYPES" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "Entrée erronée dans la liste TYPE_ARG_TYPES" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "le champ TYPE_VALUES_RAW n'est pas NULL" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "TYPE_CACHED_VALUES_P est défini alors qu'il ne le devrait pas" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "TYPE_STRING_FLAG est défini sur le mauvais code de type" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "TYPE_STRING_FLAG est défini sur un type qui ne ressemble pas à un « char » ou un tableau de « char »" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "TYPE_METHOD_BASETYPE n'est pas la variante principale" + +-#: tree.c:14221 ++#: tree.c:14229 + #, gcc-internal-format + msgid "verify_type failed" + msgstr "verify_type a échoué" +@@ -23650,13 +23650,13 @@ + msgid "% attribute specified with a parameter" + msgstr "l'attribut % est spécifié avec un paramètre" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "trop peu d'arguments pour la fonction %qE" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "trop d'arguments pour la fonction %qE" +@@ -23741,72 +23741,72 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "l'index %E désigne un offset plus grand que la taille de %qT" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "la taille du tableau est trop grande" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, gcc-internal-format + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "le type %qT de l'opérande est incompatible avec l'argument %d de %qE" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "nombre d'arguments incorrect pour la fonction %qE" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "l'argument 1 de %qE doit être un type pointeur non void" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "l'argument 1 de %qE doit être un pointeur vers un type ayant une taille constante" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "l'argument 1 de %qE doit être un pointeur vers un objet de taille non nulle" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "l'argument %d de %qE doit être un type pointeur" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "l'argument %d de %qE doit être un pointeur vers un type ayant une taille constante" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "l'argument %d de %qE doit être un pointeur vers une fonction" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "désaccord de taille dans l'argument %d de %qE" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "modèle mémoire invalide pour l'argument %d de %qE" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "modèle mémoire non entier pour l'argument %d de %qE" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "la valeur de l'index est hors limites" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -23814,22 +23814,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "la fonction interne %qE doit être appelée directement" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "la taille du tableau %qE est trop grande" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "la taille du tableau sans nom est trop grande" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "la variable d'environnement SOURCE_DATE_EPOCH doit fournir un entier non négatif plus petit que ou égal à %wd" +@@ -25590,7 +25590,7 @@ + msgid "too many input files" + msgstr "trop de fichiers d'entrée" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "valeur %qs inconnue pour -mcpu" +@@ -26048,179 +26048,179 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "le modificateur de fonctionnalité %qs est incompatible avec %s %s" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "fanion inconnu passé à -moverride=%s (%s)" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "chaîne %s mal formée\n" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "chaîne d'ajustement manquante dans l'option (%s)" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "option d'ajustement inconnue (%s)" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "les arguments valides sont: %s; vouliez-vous utiliser %qs ?" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "nom de processeur manquant dans %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "modificateur de fonctionnalité invalide dans %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "nom d'architecture manquant dans %<-march=%s%>" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "valeur %qs inconnue pour -march" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "modificateur de fonctionnalité invalide dans %<-march=%s%>" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "nom de processeur manquant dans %<-mtune=%s%>" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "valeur %qs inconnue pour -mtune" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "l'option -mcpu=%s est en conflit avec l'option -march=%s" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" + msgstr "L'assembleur ne supporte pas -mabi=ilp32" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "La signature de l'adresse de retour n'est supportée qu'avec -mabi=lp64" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "modèle de code %qs avec -f%s" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "nom d'architecture manquant dans la cible « arch » %s" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "valeur %qs inconnue pour la cible « arch » %s" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "modificateur de fonctionnalité %qs invalide pour la cible « arch » %s" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "nom de processeur manquant dans la cible « cpu » %s" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "valeur %qs inconnue pour la cible « cpu » %s" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "modificateur de fonctionnalité %qs invalide pour la cible « cpu » %s" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "valeur %qs inconnue pour la cible « tune » %s" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "modificateur de fonctionnalité manquant dans la cible %s %qs" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "modificateur de fonctionnalité invalide dans la cible %s %qs" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s" + msgstr "cible %s mal formée" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "la cible %s %qs n'accepte pas d'argument" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, gcc-internal-format + msgid "target %s %qs does not allow a negated form" + msgstr "la cible %s %qs n'autorise pas de forme négative" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "la cible %s %s=%s n'est pas valable" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "l'argument % de l'attribut n'est pas une chaîne" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" + msgstr "la valeur cible de %s est mal composée" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "la cible %2$qs pour %1$s est invalide" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "la liste %2$qs de la cible %1$s est mal composée" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "%Kl'avenue %wd est hors des limites %wd - %wd" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "avenue %wd hors des limites %wd - %wd" +@@ -26627,62 +26627,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "le décompte ne devrait pas être inférieur à 0. Veuillez vérifier l'intrinsèque _mm_sra_si64 dans le code" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "iWMMXt et NEON sont incompatibles" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "le processeur cible ne supporte pas ARM" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "activer le support de la trace de débogage n'a de sens qu'en compilant pour le Thumb" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "activer le support pour l'interopérabilité de l'appelé n'a de sens qu'en compilant pour le Thumb" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g avec -mno-apcs-frame peut ne pas donner un débogage pertinent" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "iWMMXt non supporté en mode Thumb" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "-mtp=cp15 ne peut pas être utilisé avec un Thumb 16 bits" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "RTP PIC est incompatible avec Thumb" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "-mslow-flash-data ne supporte que du code non pic sur les cibles armv7-m" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "-mpure-code ne supporte que du code non pic sur les cibles armv7-m" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "le processeur cible ne supporte pas les instructions THUMB" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "le processeur cible ne supporte pas les accès non alignés" +@@ -26689,127 +26689,133 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-mfpu=auto n'est actuellement pas supporté sans un processeur explicite." + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "le processeur cible ne supporte pas l'interopérabilité" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check incompatible avec -mno-apcs-frame" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic et -mapcs-reent sont incompatibles" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "Le code réentrant APCS n'est pas supporté. Ignoré" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, gcc-internal-format + msgid "selected fp16 options are incompatible" + msgstr "les options fp16 sélectionnées sont incompatibles" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "iwmmxt exige une ABI compatible AAPCS pour fonctionner correctement" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "l'abi iwmmxt requiert un processeur avec iwmmxt" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "AAPCS ne supporte pas -mcaller-super-interworking" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "AAPCS ne supporte pas -mcallee-super-interworking" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "__fp16 et pas de ldrh" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "-mfloat-abi=hard: le processeur sélectionné n'a pas de FPU" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mfloat-abi=hard et VFP" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "la frontière de la taille de la structure peut seulement être 8, 32 ou 64" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "la frontière de la taille de la structure peut seulement être 8 ou 32" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "RTP PIC est incompatible avec -msingle-pic-base" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= est inutile sans -fpic" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "incapable d'utiliser « %s » pour un registre PIC" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-freorder-blocks-and-partition n'est pas supporté sur cette architecture" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, gcc-internal-format + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "le processeur cible ne supporte pas les extensions de sécurité ARMv8-M" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "variante PCS qui n'est pas dérivée de AAPCS" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "les fonctions variadiques doivent utiliser la variante du AAPCS de base" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "variante PCS" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "ABI VFP en virgule flottante matérielle du Thumb-1" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "le passage de paramètre pour l'argument de type %qT a changé dans GCC 7.1" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -26825,72 +26831,72 @@ + msgid "%qE attribute only applies to functions" + msgstr "l'attribut %qE s'applique uniquement aux fonctions" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "l'attribut %qE n'est pas disponible pour les fonctions avec des arguments passés sur la pile" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, gcc-internal-format + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "l'attribut %qE n'est pas disponible pour les fonctions avec un nombre variable d'arguments" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "l'attribut %qE n'est pas disponible pour les fonctions qui retournent une valeur sur la pile" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, gcc-internal-format + msgid "%qE attribute ignored without -mcmse option." + msgstr "l'attribut %qE est ignoré sans l'option -mcmse." + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "l'attribut %qE n'a pas d'effet sur les fonctions statiques" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, gcc-internal-format + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "l'attribut %qE ne s'applique qu'au type de base d'un pointeur vers une fonction" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "%K%s %wd hors des limites %wd - %wd" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "%s %wd hors des limites %wd - %wd" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "incapable de calculer la position réelle des paramètres sur la pile" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "Saut lointain thumb1 inattendu" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "pas de registre bas disponible pour dépiler les registres hauts" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "les routines du service d'interruption ne peuvent pas être codées en mode Thumb" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "-fstack-check=specific pour Thumb-1" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, gcc-internal-format, gfc-internal-format + msgid "invalid fpu for attribute(target(\"%s\"))" + msgstr "fpu invalide pour attribute(target(\"%s\"))" +@@ -26898,13 +26904,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "la sélection automatique du fpu n'est actuellement pas permise ici" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "attribute(target(\"%s\")) est inconnu" +@@ -29521,7 +29527,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "vec_cmpne accepte uniquement 2 arguments" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "vec_adde accepte uniquement 3 arguments" +@@ -29531,42 +29537,42 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "vec_addec accepte uniquement 3 arguments" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%s accepte uniquement %d arguments" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%s accepte uniquement 1 argument" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%s accepte uniquement 2 arguments" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "vec_extract accepte uniquement 2 arguments" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "vec_insert accepte uniquement 3 arguments" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, gcc-internal-format + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "le passage de l'argument %d de %qE abandonne les qualificatifs du type cible du pointeur" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "La fonction interne %s n'est pas supportée dans cette configuration du compilateur" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, gcc-internal-format, gfc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %s" + msgstr "combinaison invalide de paramètres pour l'intrinsèque Altivec %s" +@@ -30618,114 +30624,114 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "l'attribut %qE demandé n'est pas une paire de constantes entières non négatives séparées par une virgule ou est trop grand (max. %d)" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "la taille totale des variables locales excède la limite de l'architecture" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "la taille de la trame de la fonction %qs est de %wd octets. Elle dépasse la limite de %d octets de la pile fournie par l'utilisateur. Un déroutement inconditionnel est ajouté." + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "la taille de la trame de la fonction %qs est de %wd octets. C'est plus que la moitié de la taille de la pile. Le contrôle dynamique ne serait pas fiable. Aucun contrôle n'est généré pour cette fonction." + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "la taille de la trame de %qs est de %wd octets" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "%qs utilise l'allocation de pile dynamique" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "les processeurs plus vieux que le z900 ne sont pas supportés par -fsplit-stack" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "%sarch=%s%s est déprécié et sera supprimé dans les versions futures; utilisez au moins %sarch=z900%s" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "%stune=%s%s est déprécié et sera supprimé dans les versions futures; utilisez au moins %stune=z900%s" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "z/Le mode d'architecture n'est pas supporté sur %s" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "l'ABI 64 bits n'est pas supportée en mode ESA/390" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "le support des vecteurs matériels n'est pas disponible sur %s" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "le support des vecteurs matériels n'est pas disponible avec -msoft-float" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "les instructions décimales en virgule flottante matérielles ne sont pas disponibles sur %s" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "les instructions décimales en virgule flottante matérielles ne sont pas disponibles en mode ESA/390" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "-mhard-dfp ne peut être utilisé en conjonction avec -msoft-float" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "-mbackchain -mpacked-stack -mhard-float ne sont pas supportés en combinaison" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "la taille de la pile doit être plus grande que la valeur de la protection de la pile" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "la taille de la pile ne peut pas être plus grande que 64k" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "-mstack-guard implique l'utilisation de -mstack-size" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, gcc-internal-format + msgid "arguments to %qs should be non-negative integers" + msgstr "les arguments de %qs doivent être des entiers non négatifs" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "l'argument de %qs est trop grand (max. %d)" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "la valeur %qs n'est pas supportée par l'attribut %" +Index: gcc/po/hr.po +=================================================================== +--- a/src/gcc/po/hr.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/hr.po (.../branches/gcc-7-branch) +@@ -7,7 +7,7 @@ + msgstr "" + "Project-Id-Version: gcc 4.7.1\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2012-07-05 15:49+0200\n" + "Last-Translator: Tomislav Krznar \n" + "Language-Team: Croatian \n" +@@ -2834,44 +2834,44 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, fuzzy, c-format + #| msgid "invalid %%-code" + msgid "invalid constant" + msgstr "neispravni %%-kod" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, fuzzy, c-format + #| msgid "invalid expression as operand" + msgid "invalid operand" + msgstr "neispravni izraz kao operand" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "" +@@ -3035,29 +3035,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "neispravni izraz kao operand" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3065,13 +3065,13 @@ + msgid "invalid operand for code '%c'" + msgstr "" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" +@@ -3882,98 +3882,98 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + msgid "vector argument passed to unprototyped function" + msgstr "" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + msgid "types differ in signedness" + msgstr "" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -17361,7 +17361,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "" +@@ -17900,8 +17900,8 @@ + msgid "null pointer dereference" + msgstr "" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -17915,297 +17915,297 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, gcc-internal-format + msgid "directive argument %qE" + msgstr "" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, gcc-internal-format + msgid "null destination pointer" + msgstr "" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, gcc-internal-format + msgid "null format string" + msgstr "" +@@ -20383,157 +20383,157 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "" + +-#: symtab.c:970 ++#: symtab.c:978 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "" + +-#: symtab.c:978 ++#: symtab.c:986 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -22196,8 +22196,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -22233,92 +22233,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "" + +-#: tree.c:10017 ++#: tree.c:10025 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:12867 ++#: tree.c:12875 + #, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "" + +-#: tree.c:12870 ++#: tree.c:12878 + #, gcc-internal-format + msgid "%qD is deprecated" + msgstr "" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "" +@@ -22345,262 +22345,262 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "" + +-#: tree.c:13851 ++#: tree.c:13859 + #, gcc-internal-format + msgid "Main variant is not defined" + msgstr "" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "" + +-#: tree.c:14092 ++#: tree.c:14100 + #, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, fuzzy, gcc-internal-format + #| msgid "pex_init failed" + msgid "verify_type failed" +@@ -23598,13 +23598,13 @@ + msgid "% attribute specified with a parameter" + msgstr "" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "" +@@ -23689,72 +23689,72 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, gcc-internal-format + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -23762,22 +23762,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -25539,7 +25539,7 @@ + msgid "too many input files" + msgstr "" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "" +@@ -25998,180 +25998,180 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s:unknown function '%u'\n" + msgid "unknown tuning option (%s)" + msgstr "%s:nepoznata funkcija „%u”\n" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" + msgstr "" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, gcc-internal-format + msgid "target %s %qs does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" + msgstr "" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" +@@ -26578,62 +26578,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "" +@@ -26640,127 +26640,133 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, gcc-internal-format + msgid "selected fp16 options are incompatible" + msgstr "" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, gcc-internal-format + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -26776,72 +26782,72 @@ + msgid "%qE attribute only applies to functions" + msgstr "" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, gcc-internal-format + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, gcc-internal-format + msgid "%qE attribute ignored without -mcmse option." + msgstr "" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, gcc-internal-format + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, gcc-internal-format, gfc-internal-format + msgid "invalid fpu for attribute(target(\"%s\"))" + msgstr "" +@@ -26849,13 +26855,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "" +@@ -29468,7 +29474,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "" +@@ -29478,42 +29484,42 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, gcc-internal-format + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, gcc-internal-format, gfc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %s" + msgstr "" +@@ -30565,114 +30571,114 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, gcc-internal-format + msgid "arguments to %qs should be non-negative integers" + msgstr "" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "" +Index: gcc/po/nl.po +=================================================================== +--- a/src/gcc/po/nl.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/nl.po (.../branches/gcc-7-branch) +@@ -8,7 +8,7 @@ + msgstr "" + "Project-Id-Version: gcc 4.9-b20140202\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2014-02-05 12:25+0100\n" + "Last-Translator: Benno Schulenberg \n" + "Language-Team: Dutch \n" +@@ -2789,42 +2789,42 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, fuzzy, c-format + msgid "Unsupported operand for code '%c'" + msgstr "ongeldige operand voor code '%c'" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "ongeldige operand voor '%%%c'" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "operand ontbreekt" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, c-format + msgid "invalid constant" + msgstr "ongeldige constante" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, c-format + msgid "invalid operand" + msgstr "ongeldige operand" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "ongeldige operandprefix '%%%c'" +@@ -2983,30 +2983,30 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "ongeldige UNSPEC als operand: %d" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "ongeldige shift-operand" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "Thumb-instructie met predicaat" + + # mja. snappen wie snappen kan ^^ +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "instructie met predicaat in voorwaardelijke sequentie" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3014,13 +3014,13 @@ + msgid "invalid operand for code '%c'" + msgstr "ongeldige operand voor code '%c'" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "instructie wordt nooit uitgevoerd" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" +@@ -3849,83 +3849,83 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "" + + # Betere vertaling voor 'decompose'? +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "kan adres niet ontleden" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, fuzzy, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "ongeldige operand voor 'b' modifier" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, fuzzy, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "ongeldige operand voor 'b' modifier" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, fuzzy, c-format + msgid "invalid address for 'O' output modifier" + msgstr "ongeldige operand voor 'O' modifier" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, fuzzy, c-format + msgid "invalid address for 'R' output modifier" + msgstr "ongeldige operand voor 'b' modifier" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, fuzzy, c-format + msgid "invalid address for 'S' output modifier" + msgstr "ongeldige operand voor 'b' modifier" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, fuzzy, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "ongeldige operand voor 'o' modifier" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, fuzzy, c-format + msgid "invalid constant - try using an output modifier" + msgstr "ongeldige code voor operanduitvoer" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, fuzzy, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "ongeldige operand voor 'o' modifier" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, fuzzy, c-format + msgid "invalid expression - try using an output modifier" + msgstr "ongeldige expressie als operand" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, fuzzy, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "ongeldige operand voor 'o' modifier" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "AltiVec argument passed to unprototyped function" + msgid "vector argument passed to unprototyped function" +@@ -3932,20 +3932,20 @@ + msgstr "AltiVec argument doorgegeven aan functie zonder prototype" + + # 'signedness' = 'signed-heid'? +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + #, fuzzy + msgid "types differ in signedness" + msgstr "doelen van pointer in %s verschillen in signedness" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -18425,7 +18425,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "" +@@ -18964,8 +18964,8 @@ + msgid "null pointer dereference" + msgstr "herhaald lid %qs" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -18979,297 +18979,297 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + msgid "directive argument %qE" + msgstr "Te veel argumenten voor %s op %L" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + msgid "null destination pointer" + msgstr "lege declaratie" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + #| msgid "unterminated format string" + msgid "null format string" +@@ -21457,157 +21457,157 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "" + +-#: symtab.c:970 ++#: symtab.c:978 + #, fuzzy, gcc-internal-format + msgid "function symbol is not function" + msgstr "%qs gedeclareerd als een functie die een functie teruggeeft" + +-#: symtab.c:978 ++#: symtab.c:986 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, fuzzy, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "opgeroepen object is geen functie" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "opgeroepen object is geen functie" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, fuzzy, gcc-internal-format + msgid "node is alias but not definition" + msgstr "%Jfunctiedefinitie in oude stijl" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, fuzzy, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "%Jfunctiedefinitie in oude stijl" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, fuzzy, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "functie %qs geherdeclareerd als inline" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, fuzzy, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "variabele %qs als inline gedeclareerd" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -23273,8 +23273,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -23310,92 +23310,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qs als ander soort symbool geherdeclareerd" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "arrays van functies zijn niet betekenisvol" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "de terugkeerwaarde van een functie kan geen funtie zijn" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "" + +-#: tree.c:10017 ++#: tree.c:10025 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:12867 ++#: tree.c:12875 + #, fuzzy, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: tree.c:12870 ++#: tree.c:12878 + #, fuzzy, gcc-internal-format + msgid "%qD is deprecated" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, fuzzy, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, fuzzy, gcc-internal-format + msgid "%qE is deprecated" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "" +@@ -23422,262 +23422,262 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, fuzzy, gcc-internal-format + msgid "first mismatch is field" + msgstr "types in voorwaardelijke expressie komen niet overeen" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, fuzzy, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "%<%.*s%> is niet gedefinieerd" + +-#: tree.c:13851 ++#: tree.c:13859 + #, fuzzy, gcc-internal-format + msgid "Main variant is not defined" + msgstr "statische variable %qs is als dllimport aangeduid" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, fuzzy, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "grootte van array %qs is van een niet-integer type" + +-#: tree.c:14092 ++#: tree.c:14100 + #, fuzzy, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "veld %qs heeft een onvolledig type" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, fuzzy, gcc-internal-format + msgid "verify_type failed" + msgstr "pex_init mislukt" +@@ -24690,13 +24690,13 @@ + msgid "% attribute specified with a parameter" + msgstr "argumenten aan macro %qs gegeven" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "te weinig argumenten voor functie %qE" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, fuzzy, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "te veel argumenten voor functie %qE" +@@ -24781,73 +24781,73 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, fuzzy, gcc-internal-format + msgid "size of array is too large" + msgstr "omvang van array %qs is te groot" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "incompatibel type voor argument %d van %qE" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, fuzzy, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "te weinig argumenten voor functie %qE" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "herhalings-aantal is geen integerconstante" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "herhalings-aantal is geen integerconstante" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "herhalings-aantal is geen integerconstante" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "herhalings-aantal is geen integerconstante" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, fuzzy, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "doorgeven van argument %d van %qs" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, fuzzy, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "ongeldig type-argument %qs" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "indexwaarde valt buiten bereik" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -24855,22 +24855,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, fuzzy, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "%Jingebouwde functie %qD gedeclareerd als niet-functie" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, fuzzy, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "omvang van array %qs is te groot" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, fuzzy, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "omvang van array %qs is te groot" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -26645,7 +26645,7 @@ + msgid "too many input files" + msgstr "te veel invoerbestanden" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "slechte waarde (%s) voor optie -mcpu" +@@ -27106,180 +27106,180 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "case-selector niet compatibel met label" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "Ongeldige optie voor floating-point emulatie: -mfpe-%s" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "onbekende spec-functie '%s'" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "geldige argumenten van %qs zijn: %s" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "ontbrekende witruimte na getal %qs" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "beginwaarde ontbreekt" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, fuzzy, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "ontbrekende witruimte na getal %qs" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "beginwaarde ontbreekt" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "ontbrekende witruimte na getal %qs" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "optie -mcpu=%s geeft conflicten met optie -mtune=" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, fuzzy, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" + msgstr "ondersteunt geen multilib" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "ontbrekende witruimte na getal %qs" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "beginwaarde ontbreekt" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "ontbrekende witruimte na getal %qs" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "slechte waarde (%s) voor optie -mcpu" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "beginwaarde ontbreekt" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "slechte waarde (%s) voor de -march= optie" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "beginwaarde ontbreekt" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "beginwaarde ontbreekt" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "malformed target %s" + msgstr "misvormde #pragma weak" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, fuzzy, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "%J%qD neemt ofwel geen, ofwel twee argumenten" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, fuzzy, gcc-internal-format + msgid "target %s %qs does not allow a negated form" + msgstr "numerieke constante zonder cijfers" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "spec '%s' is ongeldig" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "het argument van % is geen string" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" + msgstr "misvormde #pragma weak" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "multilib select '%s' in ongeldig" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, fuzzy, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "operandnummer buiten bereik" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, fuzzy, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "operandnummer buiten bereik" +@@ -27688,62 +27688,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "iWMMXt en NEON zijn incompatibel" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "doel-CPU ondersteunt geen interworking" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, fuzzy, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g met -fomit-frame-pointer geeft mogelijk geen fatsoenlijke debug-mogelijkheden" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, fuzzy, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "case-selector niet compatibel met label" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "doel-CPU ondersteunt geen interworking" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "doel-CPU ondersteunt geen interworking" +@@ -27750,128 +27750,134 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, fuzzy, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "De -shared optie wordt op het ogenblik niet ondersteund voor VAX ELF." + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "doel-CPU ondersteunt geen interworking" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check is niet compatibel met -mno-apcs-frame" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic en -mapcs-reent zijn incompatibel" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "APCS reentrant code wordt niet ondersteund. Genegeerd" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + #| msgid "-mrelocatable and -msdata=%s are incompatible" + msgid "selected fp16 options are incompatible" + msgstr "-mrelocatable en -msdata=%s zijn incompatibel" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, fuzzy, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "doel-CPU ondersteunt geen interworking" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, fuzzy, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "doel-CPU ondersteunt geen interworking" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, fuzzy, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "Grens voor structure-grootte kan enkel op 8 of 32 insgesteld worden" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, fuzzy, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "Grens voor structure-grootte kan enkel op 8 of 32 insgesteld worden" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, fuzzy, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "case-selector niet compatibel met label" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, fuzzy, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "doel-CPU ondersteunt geen interworking" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -27887,77 +27893,77 @@ + msgid "%qE attribute only applies to functions" + msgstr "attribuut %qE is enkel van toepassing op functies" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to functions, not %s" + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "attribuut %qE is enkel van toepassing op functies, niet %s" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, fuzzy, gcc-internal-format + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "%qs neemt ofwel geen, ofwel twee argumenten" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to functions, not %s" + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "attribuut %qE is enkel van toepassing op functies, niet %s" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute ignored without -mcmse option." + msgstr "attribuut %qE wordt genegeerd voor non-class-types" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute applies only to initialized variables with external linkage" + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "attribuut %qE is enkel van toepassing op geïnitialiseerde variabelen die extern gelinkt zijn" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to function types" + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "attribuut %qE is enkel van toepassing op functie-types" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, fuzzy, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "ongeldige operand van %s" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid vector type for attribute %qs" + msgid "invalid fpu for attribute(target(\"%s\"))" +@@ -27966,13 +27972,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "" +@@ -30608,7 +30614,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "%J%qD neemt ofwel geen, ofwel twee argumenten" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, fuzzy, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "%J%qD neemt ofwel geen, ofwel twee argumenten" +@@ -30619,42 +30625,42 @@ + msgstr "%J%qD neemt ofwel geen, ofwel twee argumenten" + + # Betere term voor "mismatched"? +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "slechte combinatie van argumenten" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%J%qD neemt ofwel geen, ofwel twee argumenten" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%J%qD neemt ofwel geen, ofwel twee argumenten" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "cast laat qualifiers van doeltype van pointer vallen" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %s" + msgstr "ongeldig argument voor %<__builtin_return_address%>" +@@ -31708,115 +31714,115 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "gevraagde positie is geen integerconstante" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, fuzzy, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "opslaggrootte van %qs is onbekend" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "trapmodus niet ondersteund voor VAX-floats" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, fuzzy, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "afrondingsmodus niet ondersteund voor VAX-floats" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "ISO C staat het testen van asserties niet toe" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "ISO C staat het testen van asserties niet toe" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, fuzzy, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "ISO C staat het testen van asserties niet toe" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs should be a non-negative integer" + msgid "arguments to %qs should be non-negative integers" + msgstr "argument van %qs moet een niet-negatieve integer zijn" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "argument van %qs is te groot (max. %d)" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem" +Index: gcc/po/ChangeLog +=================================================================== +--- a/src/gcc/po/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,40 @@ ++2017-06-01 Joseph Myers ++ ++ * es.po: Update. ++ ++2017-05-22 Joseph Myers ++ ++ * da.po, es.po: Update. ++ ++2017-05-15 Joseph Myers ++ ++ * sv.po: Update. ++ ++2017-05-12 Joseph Myers ++ ++ * sv.po: Update. ++ ++2017-05-08 Joseph Myers ++ ++ * es.po, sv.po: Update. ++ ++2017-05-04 Joseph Myers ++ ++ * be.po, da.po, el.po, fi.po, hr.po, id.po, ja.po, nl.po, ru.po, ++ sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po, zh_TW.po: Update. ++ ++2017-05-03 Joseph Myers ++ ++ * de.po: Update. ++ ++2017-05-02 Joseph Myers ++ ++ * es.po: Update. ++ ++2017-05-02 Joseph Myers ++ ++ * fr.po: Update. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +Index: gcc/po/vi.po +=================================================================== +--- a/src/gcc/po/vi.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/vi.po (.../branches/gcc-7-branch) +@@ -9,7 +9,7 @@ + msgstr "" + "Project-Id-Version: gcc 7.1-b20170101\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2017-01-08 08:33+0700\n" + "Last-Translator: Trần Ngọc Quân \n" + "Language-Team: Vietnamese \n" +@@ -2823,42 +2823,42 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Không hỗ trợ toán hạng cho mã “%c”" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "toán hạng không hợp lệ đối với “%%%c”" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "toán hạn dấu chấm động / thanh ghi véctơ không tương thích cho “%%%c”" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "toán hạng còn thiếu" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, c-format + msgid "invalid constant" + msgstr "hằng không hợp lệ" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, c-format + msgid "invalid operand" + msgstr "toán hạng không hợp lệ" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "tiền tố toán hạng không hợp lệ “%%%c”" +@@ -3016,29 +3016,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "UNSPEC không hợp lệ như là toán hạng: %d" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "sai đặt toán hạng dời" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "lệnh Thumb căn cứ vào" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "gặp lệnh căn cứ vào trong dãy có điều kiện" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3046,13 +3046,13 @@ + msgid "invalid operand for code '%c'" + msgstr "sai đặt toán hạng cho mã “%c”" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "lệnh chưa bao giờ thực hiện" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "định dạng mã Maverick đã cũ “%c”" +@@ -3872,100 +3872,100 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "emit_fusion_p9_store không MEM" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "không thể giải mã địa chỉ" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "hằng không hợp lệ cho bổ nghĩa kết xuất “%c”" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "hằng không hợp lệ - hãy thử dùng bổ nghĩa kết xuất" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "véc-tơ hằng không hợp lệ cho bổ nghĩa kết xuất “%c”" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "biểu thức không hợp lệ - hãy thử dùng bổ nghĩa kết xuất" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "biểu thức không hợp lệ cho bộ sửa đầu ra “%c”" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "Vector argument passed to unprototyped function" + msgid "vector argument passed to unprototyped function" + msgstr "Đối số véc-tơ bị gửi cho hàm không nguyên mẫu" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + msgid "types differ in signedness" + msgstr "" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -17410,7 +17410,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "" +@@ -17947,8 +17947,8 @@ + msgid "null pointer dereference" + msgstr "" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -17962,297 +17962,297 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + msgid "directive argument %qE" + msgstr "Đối số âm N tại %L" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + msgid "null destination pointer" + msgstr "con trỏ rỗng" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + msgid "null format string" + msgstr "%s trong chuỗi định dạng tại %L" +@@ -20431,158 +20431,158 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "" + +-#: symtab.c:970 ++#: symtab.c:978 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "ký hiệu hàm không phải là một hàm" + +-#: symtab.c:978 ++#: symtab.c:986 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "ký hiệu biến đổi không là một biến" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "nút có kiểu không hiểu" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + #| msgid "%qs at %L is not a function" + msgid "node is analyzed but it is not a definition" + msgstr "“%qs” tại %L không phải là một hàm" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::verify gặp lỗi" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -22249,8 +22249,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -22286,92 +22286,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "kiểu trả về hàm không thể là hàm" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "kiểm tra cây: %s, có %s trong %s, tại %s:%d" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "tree check: cần không gì của %s, có %s trong %s, tại %s:%d" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "tree check: cần lớp %qs, có %qs (%s) trong %s, tại %s:%d" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "tree check: cần omp_clause %s, có %s trong %s, tại %s:%d" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "" + +-#: tree.c:10017 ++#: tree.c:10025 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:12867 ++#: tree.c:12875 + #, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "%qD đã lạc hậu: %s" + +-#: tree.c:12870 ++#: tree.c:12878 + #, gcc-internal-format + msgid "%qD is deprecated" + msgstr "%qD đã lạc hậu" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "%qE đã lạc hậu: %s" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "%qE đã lạc hậu" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "kiểu đã lạc hậu: %s" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "kiểu đã lạc hậu" +@@ -22398,263 +22398,263 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, fuzzy, gcc-internal-format + #| msgid "-mnop-mcount is not compatible with this target" + msgid "type is not compatible with its variant" + msgstr "-mnop-mcount không tương thích với đích này" + +-#: tree.c:13851 ++#: tree.c:13859 + #, gcc-internal-format + msgid "Main variant is not defined" + msgstr "" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "" + +-#: tree.c:14092 ++#: tree.c:14100 + #, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, gcc-internal-format + msgid "verify_type failed" + msgstr "verify_type gặp lỗi" +@@ -23651,13 +23651,13 @@ + msgid "% attribute specified with a parameter" + msgstr "" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "quá ít đối số cho hàm %qE" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "quá nhiều đối số cho hàm %qE" +@@ -23742,72 +23742,72 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "kích cỡ mảng là quá lớn" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, gcc-internal-format + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "đối số %d của %qE phải là một địa chỉ" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "đối số %d của %qE phải là bội số của %d" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "giá trị chỉ mục nằm ngoài phạm vi cho phép" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -23815,22 +23815,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "kích cỡ mảng %qE quá lớn" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "kích thước của mảng chưa đặt tên là quá lớn" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -25590,7 +25590,7 @@ + msgid "too many input files" + msgstr "quá nhiều tập tin nhập vào" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "không hiểu giá trị %qs dành cho -mcpu" +@@ -26049,183 +26049,183 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "không hiểu tùy chọn chỉnh (%s)" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "đối số hợp lệ là: %s; có phải ý bạn là là: %qs?" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, fuzzy, gcc-internal-format + #| msgid "missing cpu name in -mcpu=%qs" + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "thiếu cpu trong -mcpu=%qs" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %" + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "dùng % không hợp lệ" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, fuzzy, gcc-internal-format + #| msgid "missing arch name in -march=%qs" + msgid "missing arch name in %<-march=%s%>" + msgstr "thiếu tên kiến trúc trong -march=%qs" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "không hiểu giá trị %qs cho -march" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, fuzzy, gcc-internal-format + #| msgid "missing cpu name in -mtune=%qs" + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "thiếu tên cpu trong -mcpu=%qs" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "không hiểu giá trị %qs dành cho -mtune" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" + msgstr "Assembler không hỗ trợ -mabi=ilp32" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "mô hình mã %qs với -f%s" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "thiếu tên cpu trong “cpu” đích %s" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, gcc-internal-format + msgid "target %s %qs does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "thuộc tính % không là một chuỗi" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" + msgstr "" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" +@@ -26633,62 +26633,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "số lượng không được nhỏ hơn 0. hãy kiểm tra bên trong _mm_sra_si64 trong mã." + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "iWMMXt và NEON là xung khác lẫn nhau" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "CPU đích không hỗ trợ chế độ ARM" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "iWMMXt không được hỗ trợ dưới chế độ Thumb" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "không thể sử dụng -mtp=cp15 với 16-bit Thumb" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "RTP PIC không tương thích với Thumb" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "-mslow-flash-data chỉ hỗ trợ mã không-pic trên đích armv7-m" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, fuzzy, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "-mslow-flash-data chỉ hỗ trợ mã không-pic trên đích armv7-m" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "CPU đích không hỗ trợ chỉ lệnh THUMB" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "CPU đích không hỗ trợ truy cập chưa cân chỉnh" +@@ -26695,127 +26695,133 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, fuzzy, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-mpcrel -fPIC hiện tại chưa được hỗ trợ trên cpu đã chọn" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "CPU đích không hỗ trợ làm việc tương tác" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check không tương thích với -mno-apcs-frame" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic và -mapcs-reent là xung khắc nhau" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + msgid "selected fp16 options are incompatible" + msgstr "-mrelocatable và -msdata=%s là không tương thích" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "AAPCS không hỗ trợ -mcaller-super-interworking" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "AAPCS không hỗ trợ -mcallee-super-interworking" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "__fp16 và không ldrh" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, fuzzy, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "-mfloat-abi=hard và VFP" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mfloat-abi=hard và VFP" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "RTP PIC không tương thích với -msingle-pic-base" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= là vô ích nếu không có -fpic" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "không thể dùng “%s” cho thanh ghi PIC" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-freorder-blocks-and-partition không được hỗ trợ trên kiến trúc này" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "CPU đích không hỗ trợ chỉ lệnh THUMB" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "non-AAPCS dẫn suất biến thể PCS" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "biến thể PCS" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "Thumb-1 dấu-chấm-động-bằng-phần-cứng VFP ABI" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -26831,72 +26837,72 @@ + msgid "%qE attribute only applies to functions" + msgstr "thuộc tính %qE chỉ áp dụng cho các hàm" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, gcc-internal-format + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + msgid "%qE attribute ignored without -mcmse option." + msgstr "Thuộc tính %qE bị lờ đi với các kiểu" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, fuzzy, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "thuộc tính %qE chỉ áp dụng cho các hàm" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "thuộc tính %qE chỉ áp dụng cho các hàm" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "%K%s %wd nằm ngoài vùng %wd - %wd" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "%s %wd nằm ngoài vùng %wd - %wd" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "-fstack-check=specific cho Thumb-1" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, gcc-internal-format, gfc-internal-format + msgid "invalid fpu for attribute(target(\"%s\"))" + msgstr "thuộc tính(đích(\"%s\")) là không hiểu" +@@ -26904,13 +26910,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "thuộc tính(đích(\"%s\")) là không hiểu" +@@ -29525,7 +29531,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "vec_cmpne chỉ chấp nhận hai tham số" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "vec_adde chỉ chấp nhận ba tham số" +@@ -29535,42 +29541,42 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "vec_addec chỉ chấp nhận ba tham số" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%s chỉ chấp nhận %d tham số" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%s chỉ chấp nhận một tham số" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%s chỉ chấp nhận hai tham số" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "vec_extract chỉ chấp nhận hai tham số" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "vec_insert chỉ chấp nhận ba tham số" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, gcc-internal-format + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "-pie không được hỗ trợ trong cấu hình này" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, gcc-internal-format, gfc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %s" + msgstr "" +@@ -30630,114 +30636,114 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "-mbackchain -mpacked-stack -mhard-float không được hỗ trợ trong tổ hợp" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, gcc-internal-format + msgid "arguments to %qs should be non-negative integers" + msgstr "" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "đối số cho %qs quá lớn (tối đa là %d)" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + #| msgid "%<__int%d%> is not supported by this target" + msgid "value %qs is not supported by attribute %" +Index: gcc/po/uk.po +=================================================================== +--- a/src/gcc/po/uk.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/uk.po (.../branches/gcc-7-branch) +@@ -7,7 +7,7 @@ + msgstr "" + "Project-Id-Version: gcc 6.2.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2016-08-24 18:46+0300\n" + "Last-Translator: Yuri Chornoivan \n" + "Language-Team: Ukrainian \n" +@@ -2735,42 +2735,42 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "пропущено операнд" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, c-format + msgid "invalid constant" + msgstr "некоректна константа" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, c-format + msgid "invalid operand" + msgstr "некоректний операнд" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "" +@@ -2928,29 +2928,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -2958,13 +2958,13 @@ + msgid "invalid operand for code '%c'" + msgstr "" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" +@@ -3774,98 +3774,98 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "некоректний вираз для модифікатора виведення «%c»" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + msgid "vector argument passed to unprototyped function" + msgstr "" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + msgid "types differ in signedness" + msgstr "" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -17225,7 +17225,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "" +@@ -17761,8 +17761,8 @@ + msgid "null pointer dereference" + msgstr "розіменування нульового вказівника" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -17776,299 +17776,299 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + #| msgid "unexpected argument" + msgid "directive argument %qE" + msgstr "несподіваний аргумент" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + #| msgid "null pointer" + msgid "null destination pointer" + msgstr "нульовий вказівник" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, gcc-internal-format + msgid "null format string" + msgstr "" +@@ -20241,157 +20241,157 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "" + +-#: symtab.c:970 ++#: symtab.c:978 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "" + +-#: symtab.c:978 ++#: symtab.c:986 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -22054,8 +22054,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -22091,92 +22091,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "" + +-#: tree.c:10017 ++#: tree.c:10025 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:12867 ++#: tree.c:12875 + #, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "" + +-#: tree.c:12870 ++#: tree.c:12878 + #, gcc-internal-format + msgid "%qD is deprecated" + msgstr "" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "" +@@ -22203,262 +22203,262 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "" + +-#: tree.c:13851 ++#: tree.c:13859 + #, gcc-internal-format + msgid "Main variant is not defined" + msgstr "" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "" + +-#: tree.c:14092 ++#: tree.c:14100 + #, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, gcc-internal-format + msgid "verify_type failed" + msgstr "помилка verify_type" +@@ -23455,13 +23455,13 @@ + msgid "% attribute specified with a parameter" + msgstr "" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "" +@@ -23546,72 +23546,72 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, gcc-internal-format + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -23619,22 +23619,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -25395,7 +25395,7 @@ + msgid "too many input files" + msgstr "" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "" +@@ -25853,180 +25853,180 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "невідомий параметр регулювання (%s)" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, fuzzy, gcc-internal-format + #| msgid "Invalid argument %d for builtin %qF" + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "Некоректний аргумент %d до вбудованої %qF" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" + msgstr "" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, gcc-internal-format + msgid "target %s %qs does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" + msgstr "" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" +@@ -26433,62 +26433,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "" +@@ -26495,127 +26495,133 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, gcc-internal-format + msgid "selected fp16 options are incompatible" + msgstr "" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, gcc-internal-format + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -26631,72 +26637,72 @@ + msgid "%qE attribute only applies to functions" + msgstr "" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, gcc-internal-format + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, gcc-internal-format + msgid "%qE attribute ignored without -mcmse option." + msgstr "" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, gcc-internal-format + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, gcc-internal-format, gfc-internal-format + msgid "invalid fpu for attribute(target(\"%s\"))" + msgstr "" +@@ -26704,13 +26710,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "" +@@ -29320,7 +29326,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "" +@@ -29330,42 +29336,42 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, gcc-internal-format + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, gcc-internal-format, gfc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %s" + msgstr "" +@@ -30419,114 +30425,114 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, gcc-internal-format + msgid "arguments to %qs should be non-negative integers" + msgstr "" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "" +Index: gcc/po/sr.po +=================================================================== +--- a/src/gcc/po/sr.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/sr.po (.../branches/gcc-7-branch) +@@ -6,7 +6,7 @@ + msgstr "" + "Project-Id-Version: gcc 4.2.1\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2007-08-19 12:00+0200\n" + "Last-Translator: Caslav Ilic \n" + "Language-Team: Serbian \n" +@@ -3099,46 +3099,46 @@ + msgid "" + msgstr "<командна-линија>" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "Unsupported operand for code '%c'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand for '%%%c'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "недостаје операнд" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, fuzzy, c-format + #| msgid "invalid insn:" + msgid "invalid constant" + msgstr "неисправна ија:" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, fuzzy, c-format + #| msgid "invalid %%d operand" + msgid "invalid operand" + msgstr "неисправан %%d операнд" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, fuzzy, c-format + #| msgid "invalid operand code '%c'" + msgid "invalid operand prefix '%%%c'" +@@ -3303,29 +3303,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "неисправан УНСПЕЦ као операнд" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "неисправан операнд помака" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "предикатна инструкција Тамба" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "предикатна инструкција у условном редоследу" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3333,7 +3333,7 @@ + msgid "invalid operand for code '%c'" + msgstr "неисправан операнд за кôд ‘%c’" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, fuzzy, c-format + #| msgid "instruction never exectued" + msgid "instruction never executed" +@@ -3340,7 +3340,7 @@ + msgstr "инструкција се никад не извршава" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" +@@ -4210,112 +4210,112 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "не могу да разложим адресу" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid comparison operator for 'E' output modifier" + msgstr "неисправан операнд за модификатор ‘b’" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid reference for 'J' output modifier" + msgstr "неисправан операнд за модификатор ‘b’" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, fuzzy, c-format + #| msgid "invalid operand for 'O' modifier" + msgid "invalid address for 'O' output modifier" + msgstr "неисправан операнд за модификатор ‘O’" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid address for 'R' output modifier" + msgstr "неисправан операнд за модификатор ‘b’" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid address for 'S' output modifier" + msgstr "неисправан операнд за модификатор ‘b’" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, fuzzy, c-format + #| msgid "invalid operand for 'o' modifier" + msgid "invalid constant for output modifier '%c'" + msgstr "неисправан операнд за модификатор ‘o’" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, fuzzy, c-format + #| msgid "invalid operand output code" + msgid "invalid constant - try using an output modifier" + msgstr "неисправан кôд излаза операнада" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, fuzzy, c-format + #| msgid "invalid operand for 'o' modifier" + msgid "invalid constant vector for output modifier '%c'" + msgstr "неисправан операнд за модификатор ‘o’" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, fuzzy, c-format + #| msgid "invalid expression as operand" + msgid "invalid expression - try using an output modifier" + msgstr "неисправан израз као операнд" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, fuzzy, c-format + #| msgid "invalid operand for 'o' modifier" + msgid "invalid expression for output modifier '%c'" + msgstr "неисправан операнд за модификатор ‘o’" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "AltiVec argument passed to unprototyped function" + msgid "vector argument passed to unprototyped function" + msgstr "алтивек аргумент прослеђен непрототипизираној функцији" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + #, fuzzy + #| msgid "pointer targets in return differ in signedness" + msgid "types differ in signedness" + msgstr "циљеви показивача у повратку разликују се у означености" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -21227,7 +21227,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "претпостављам да се означено преливање не дешава при негирању дељења" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "провера сажимања: првобитно дрво измењено сажимањем" +@@ -21822,8 +21822,8 @@ + msgid "null pointer dereference" + msgstr "Одредба мора бити упућивач" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -21838,299 +21838,299 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + #| msgid "invalid option argument %qs" + msgid "directive argument %qE" + msgstr "неисправан аргумент опције %qs" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + #| msgid "Maintain backchain pointer" + msgid "null destination pointer" + msgstr "Одржавај показивач контраланца" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + #| msgid "%s in format string at %C" + msgid "null format string" +@@ -24463,165 +24463,165 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "%D преименован пошто је поменут у асемблеру" + +-#: symtab.c:970 ++#: symtab.c:978 + #, fuzzy, gcc-internal-format + #| msgid "function returning a function" + msgid "function symbol is not function" + msgstr "функција враћа функцију" + +-#: symtab.c:978 ++#: symtab.c:986 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to variables" + msgid "variable symbol is not variable" + msgstr "атрибут %qs примењује се само на променљиве" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, fuzzy, gcc-internal-format + #| msgid "node not found in cgraph_hash" + msgid "node not found in symtab assembler name hash" + msgstr "чвор није нађен у cgraph_hash" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + #| msgid "called object %qE is not a function" + msgid "node is analyzed but it is not a definition" + msgstr "позвани објекат %qE није функција" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, fuzzy, gcc-internal-format + #| msgid "%Jold-style function definition" + msgid "node is alias but not definition" + msgstr "%Jстаровремска дефиниција функције" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, fuzzy, gcc-internal-format + #| msgid "verify_ssa failed" + msgid "symtab_node::verify failed" + msgstr "verify_ssa није успело" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, fuzzy, gcc-internal-format + #| msgid "function %q+D redeclared as inline" + msgid "function %q+D part of alias cycle" + msgstr "функција %q+D поново декларисана као уткана" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, fuzzy, gcc-internal-format + #| msgid "variable %qD has function type" + msgid "variable %q+D part of alias cycle" + msgstr "променљива %qD има функцијски тип" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -26425,8 +26425,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -26464,99 +26464,99 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qD поново декларисано са другачијом видљивошћу" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "низови функција немају смисла" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "повратни тип функције не може бити функција" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "провера стабла: %s, имам %s у %s, код %s:%d" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "провера стабла: не очекивах ниједно од %s, имам %s у %s, код %s:%d" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "провера стабла: очекивах класу %qs, имам %qs (%s) у %s, код %s:%d" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "провера стабла: нисам очекивао класу %qs, имам %qs (%s) у %s, код %s:%d" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "провера стабла: очекивах omp_clause %s, имам %s у %s, код %s:%d" + +-#: tree.c:10003 ++#: tree.c:10011 + #, fuzzy, gcc-internal-format + #| msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "провера стабла: очекивах стабло које садржи структуру %qs, имам %qs у %s, код %s:%d" + +-#: tree.c:10017 ++#: tree.c:10025 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "провера стабла: приступих елту %d у tree_vec са %d елтова у %s, код %s:%d" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "провера стабла: приступих елту %d у tree_vec са %d елтова у %s, код %s:%d" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "провера стабла: приступих операнду %d од %s са %d операнада у %s, код %s:%d" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "провера стабла: приступих операнду %d од omp_clause %s са %d операнада у %s, код %s:%d" + +-#: tree.c:12867 ++#: tree.c:12875 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qD is deprecated: %s" + msgstr "%qs је превазиђено" + +-#: tree.c:12870 ++#: tree.c:12878 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qD is deprecated" + msgstr "%qs је превазиђено" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qE is deprecated: %s" + msgstr "%qs је превазиђено" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qE is deprecated" + msgstr "%qs је превазиђено" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "type is deprecated" + msgid "type is deprecated: %s" + msgstr "тип је превазиђен" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "тип је превазиђен" +@@ -26583,265 +26583,265 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, fuzzy, gcc-internal-format + #| msgid "assert: %s is assign compatible with %s" + msgid "type is not compatible with its variant" + msgstr "тврдња: %s је доделом сагласно са %s" + +-#: tree.c:13851 ++#: tree.c:13859 + #, fuzzy, gcc-internal-format + #| msgid "environment variable DJGPP not defined" + msgid "Main variant is not defined" + msgstr "променљива окружења DJGPP није дефинисана" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "" + +-#: tree.c:14092 ++#: tree.c:14100 + #, fuzzy, gcc-internal-format + #| msgid "field %qs has incomplete type" + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "поље %qs има непотпун тип" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, fuzzy, gcc-internal-format + #| msgid "verify_eh_tree failed" + msgid "verify_type failed" +@@ -27914,13 +27914,13 @@ + msgid "% attribute specified with a parameter" + msgstr "" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "премало аргумената за функцију %qE" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "превише аргумената за функцију %qE" +@@ -28014,85 +28014,85 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qs is too large" + msgid "size of array is too large" + msgstr "величина низа %qs је превелика" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "несагласни тип за аргумент %d у %qE" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to function %qE" + msgid "incorrect number of arguments to function %qE" + msgstr "премало аргумената за функцију %qE" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs must be a 2-bit unsigned literal" + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "аргумент за %qs мора бити двобитна неозначена константа" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, fuzzy, gcc-internal-format + #| msgid "%Hfirst argument of %D must be a pointer, second integer constant" + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "%Hпрви аргумент за %D мора бити показивач, а други целобројна константа" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, fuzzy, gcc-internal-format + #| msgid "%Hfirst argument of %D must be a pointer, second integer constant" + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "%Hпрви аргумент за %D мора бити показивач, а други целобројна константа" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, fuzzy, gcc-internal-format + #| msgid "passing argument %d of %qE from incompatible pointer type" + msgid "argument %d of %qE must be a pointer type" + msgstr "прослеђивање аргумента %d од %qE из несагласног показивачког типа" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + #| msgid "argument %d of %qE might be a candidate for a format attribute" + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "аргумент %d од %qE може бити кандидат за форматски атрибут" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + #| msgid "passing argument %d of %qE makes integer from pointer without a cast" + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "прослеђивање аргумента %d од %qE прави целобројни од показивача без претапања" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, fuzzy, gcc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "size mismatch in argument %d of %qE" + msgstr "Неслагање типа/ранга у аргументу ‘%s’ код %L" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, fuzzy, gcc-internal-format + #| msgid "invalid type argument of %qs" + msgid "invalid memory model argument %d of %qE" + msgstr "неисправан аргумент типа за %qs" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "non-integer memory model argument %d of %qE" + msgstr "несагласни тип за аргумент %d у %qE" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, fuzzy, gcc-internal-format + #| msgid "index in dimension %d is out of bounds at %L" + msgid "index value is out of bound" + msgstr "Индекс у димензији %d је ван граница код %L" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, fuzzy, gcc-internal-format + #| msgid "conversion from %qT to %qT is ambiguous" +@@ -28101,25 +28101,25 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, fuzzy, gcc-internal-format + #| msgid "inline function %q+D used but never defined" + msgid "built-in function %qE must be directly called" + msgstr "уткана функција %q+D употребљена али недефинисана" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qs is too large" + msgid "size of array %qE is too large" + msgstr "величина низа %qs је превелика" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qs is too large" + msgid "size of unnamed array is too large" + msgstr "величина низа %qs је превелика" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -30012,7 +30012,7 @@ + msgid "too many input files" + msgstr "превише улазних датотека" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, fuzzy, gcc-internal-format + #| msgid "bad value %qs for -mcpu switch" + msgid "unknown value %qs for -mcpu" +@@ -30496,198 +30496,198 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "тврдња: %s је доделом сагласно са %s" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unknown spec function '%s'" + msgid "unknown tuning option (%s)" + msgstr "непозната функција навода ‘%s’" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, fuzzy, gcc-internal-format + #| msgid "Invalid argument type %qs to %qs" + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "Неисправан тип аргумента %qs за %qs" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + #| msgid "invalid thread pointer option: -mtp=%s" + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "неисправна опција показивача нити: -mtp=%s" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, fuzzy, gcc-internal-format + #| msgid "Unknown value %qs of -mmacosx-version-min" + msgid "unknown value %qs for -march" + msgstr "Непозната вредност %qs за -mmacosx-version-min" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + #| msgid "invalid thread pointer option: -mtp=%s" + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "неисправна опција показивача нити: -mtp=%s" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, fuzzy, gcc-internal-format + #| msgid "Unknown value %qs of -mmacosx-version-min" + msgid "unknown value %qs for -mtune" + msgstr "Непозната вредност %qs за -mmacosx-version-min" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "switch -mcpu=%s conflicts with -march= switch" + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "прекидач -mcpu=%s коси се са -march=" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, fuzzy, gcc-internal-format + #| msgid "does not support multilib" + msgid "Assembler does not support -mabi=ilp32" + msgstr "не подржава вишебиб" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "missing makefile target after %qs" + msgid "missing cpu name in 'cpu' target %s" + msgstr "недостаје справљачки циљ после %qs" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + #| msgid "missing makefile target after %qs" + msgid "missing feature modifier in target %s %qs" + msgstr "недостаје справљачки циљ после %qs" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + #| msgid "invalid option argument %qs" + msgid "invalid feature modifier in target %s %qs" + msgstr "неисправан аргумент опције %qs" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed spec function arguments" + msgid "malformed target %s" + msgstr "лоше формирани аргументи функције навода" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, fuzzy, gcc-internal-format + #| msgid "repository file '%s' does not contain command-line arguments" + msgid "target %s %qs does not accept an argument" + msgstr "датотека складишта „%s“ не садржи аргументе командне линије" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, fuzzy, gcc-internal-format + #| msgid "matching constraint does not allow a register" + msgid "target %s %qs does not allow a negated form" + msgstr "поклапајуће ограничење не дозвољава регистар" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Argument of %s at %L is not a valid type" + msgid "target %s %s=%s is not valid" + msgstr "Аргумент у %s код %L није исправног типа" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + #| msgid "alias argument not a string" + msgid "attribute % argument not a string" + msgstr "аргумент алијаса није ниска" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid target memregs value '%d'" + msgid "malformed target %s value" + msgstr "неисрпавна вредност „%d“ за memregs" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "target %s %qs is invalid" + msgstr "неисправан шаблонски аргумент %d" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, fuzzy, gcc-internal-format + #| msgid "Invalid argument type %qs to %qs" + msgid "malformed target %s list %qs" + msgstr "Неисправан тип аргумента %qs за %qs" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" +@@ -31109,66 +31109,66 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, fuzzy, gcc-internal-format + #| msgid "-fPIC and -G are incompatible" + msgid "iWMMXt and NEON are incompatible" + msgstr "-fPIC и -G нису сагласни" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "target CPU does not support ARM mode" + msgstr "циљни ЦПУ не подржава интерворкинг" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "укључивање подршке за контраход има смисла само када се компилује за Тамб" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "укључивање подршке за интерворкинг позваних има смисла само када се компилује за Тамб" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g уз -mno-apcs-frame може дати бесмислено исправљање" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, fuzzy, gcc-internal-format + #| msgid "can not use -mtp=cp15 with -mthumb" + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "не може се користити -mtp=cp15 уз -mthumb" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, fuzzy, gcc-internal-format + #| msgid "%<-G%> is incompatible with %<-mabicalls%>" + msgid "RTP PIC is incompatible with Thumb" + msgstr "%<-G%> није сагласно са %<-mabicalls%>" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "циљни ЦПУ не подржава инструкције Тамба" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "target CPU does not support unaligned accesses" +@@ -31176,136 +31176,142 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "циљни ЦПУ не подржава интерворкинг" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check није сагласно са -mno-apcs-frame" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic и -mapcs-reent нису сагласни" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "Вишеулазни кôд АПЦСа није подржан, игноришем" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + #| msgid "-mrelocatable and -msdata=%s are incompatible" + msgid "selected fp16 options are incompatible" + msgstr "-mrelocatable и -msdata=%s нису сагласни" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "iWMMXt захтева ААПЦС-сагласан АБИ за правилан рад" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "iWMMXt АБИ захтева iWMMXt-способан ЦПУ" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "циљни ЦПУ не подржава интерворкинг" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "циљни ЦПУ не подржава интерворкинг" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, fuzzy, gcc-internal-format + #| msgid "-mfloat-abi=hard and VFP" + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "-mfloat-abi=hard и ВФП" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mfloat-abi=hard и ВФП" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, fuzzy, gcc-internal-format + #| msgid "structure size boundary can only be set to %s" + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "граница величине структура може бити постављена само на %s" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, fuzzy, gcc-internal-format + #| msgid "structure size boundary can only be set to %s" + msgid "structure size boundary can only be set to 8 or 32" + msgstr "граница величине структура може бити постављена само на %s" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, fuzzy, gcc-internal-format + #| msgid "%<-G%> is incompatible with %<-mabicalls%>" + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "%<-G%> није сагласно са %<-mabicalls%>" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= је бескорисно без -fpic" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "не могу да користим „%s“ за ПИЦ регистар" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-freorder-blocks-and-partition не ради на овој архитектури" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support THUMB instructions" + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "циљни ЦПУ не подржава инструкције Тамба" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -31322,77 +31328,77 @@ + msgid "%qE attribute only applies to functions" + msgstr "атрибут %qs примењује се само на функције" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qD must not have variable number of arguments" + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "%qD не може имати променљив број аргумената" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute ignored without -mcmse option." + msgstr "атрибут %qE се игнорише на не-класним типовима" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute have effect only on public objects" + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "атрибут %qE има утицаја само у јавним објектима" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to function types" + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "атрибут %qs је примењив само на функцијске типове" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "не могу да срачунам стварну локацију параметра на стеку" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected end of module" + msgid "Unexpected thumb1 far jump" + msgstr "Неочекиван крај модула" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "нема доступних ниских регистара за подизање високих регистара" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "сервисне рутине прекида не могу бити кодиране у режиму Тамба" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid vector type for attribute %qE" + msgid "invalid fpu for attribute(target(\"%s\"))" +@@ -31401,13 +31407,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "" +@@ -34266,7 +34272,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "" +@@ -34276,47 +34282,47 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%q+D takes only zero or two arguments" + msgid "%s only accepts %d arguments" + msgstr "%q+D прима или ниједан или два аргумента" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%q+D takes only zero or two arguments" + msgid "%s only accepts 1 argument" + msgstr "%q+D прима или ниједан или два аргумента" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%q+D takes only zero or two arguments" + msgid "%s only accepts 2 arguments" + msgstr "%q+D прима или ниједан или два аргумента" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + #| msgid "passing arg %d of %qE discards qualifiers frompointer target type" + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "прослеђивање арга %d за %qE одбацује одредбе типа показивачког циља" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%Jalias definitions not supported in this configuration" + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "%Jдефиниције алијаса нису подржане у овој конфигурацији" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid parameter combination for AltiVec intrinsic" + msgid "invalid parameter combination for AltiVec intrinsic %s" +@@ -35433,111 +35439,111 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "укупна величина локалних променљивих премашује ограничење архитектуре" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, fuzzy, gcc-internal-format + #| msgid "frame size of %qs is " + msgid "frame size of %qs is %wd bytes" + msgstr "величина оквира за %qs је " + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "%qs користи динамичко резервисање стека" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "режим з/Архитектуре није подржан на %s" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "64-битни АБИ није подржан у режиму ЕСЕ/390" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Restrict the use of hardware floating-point instructions to 32-bit operations" + msgid "hardware decimal floating point instructions not available on %s" + msgstr "Ограничи употребу хардверских инструкција покретног зареза на 32-битне операције" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "-mbackchain -mpacked-stack -mhard-float нису подржани у комбинацији" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "величина стека мора бити већа од вредности браника стека" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "величина стека не сме бити већа од 64k" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "-mstack-guard имплицира коришћење -mstack-size" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + #| msgid "argument to \"%s\" should be a non-negative integer" + msgid "arguments to %qs should be non-negative integers" + msgstr "аргумент за „%s“ треба да је ненегативан цео број" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs attribute larger than %d" + msgid "argument to %qs is too large (max. %d)" +@@ -35544,7 +35550,7 @@ + msgstr "аргумент за атрибут %qs већи од %d" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + #| msgid "stack limits not supported on this target" + msgid "value %qs is not supported by attribute %" +Index: gcc/po/da.po +=================================================================== +--- a/src/gcc/po/da.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/da.po (.../branches/gcc-7-branch) +@@ -135,10 +135,10 @@ + # + msgid "" + msgstr "" +-"Project-Id-Version: gcc 7.1-b20170226\n" ++"Project-Id-Version: gcc 7.1.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" +-"PO-Revision-Date: 2017-02-28 11:00+0200\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" ++"PO-Revision-Date: 2017-05-21 11:00+0200\n" + "Last-Translator: Joe Hansen \n" + "Language-Team: Danish \n" + "Language: da\n" +@@ -895,15 +895,12 @@ + "\n" + + #: gcov.c:656 +-#, fuzzy, c-format +-#| msgid "" +-#| "Usage: gcov [OPTION]... SOURCE|OBJ...\n" +-#| "\n" ++#, c-format + msgid "" + "Usage: gcov [OPTION...] SOURCE|OBJ...\n" + "\n" + msgstr "" +-"Brug: gcov [TILVALG]... KILDE|OBJ...\n" ++"Brug: gcov [TILVALG...] KILDE|OBJ...\n" + "\n" + + #: gcov.c:657 +@@ -2101,19 +2098,19 @@ + msgstr "Det maksimale antal navnerum der søges i efter alternativer, når navneopslag mislykkes." + + #: params.def:573 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "The maximum memory locations recorded by cselib." +-msgstr "Det maksimale antal instruktioner til RTL-indbyggeren" ++msgstr "Det maksimale antal hukommelseslokationer registreret af cselib." + + #: params.def:586 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap." +-msgstr "Minimal heap-udvidelse for at udløse garbage collection, som en procentdel af den totale heap" ++msgstr "Minimal heap-udvidelse for at udløse affaldsindsamling, som en procentdel af den samlede størrelse på heap'en." + + #: params.def:591 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "Minimum heap size before we start collecting garbage, in kilobytes." +-msgstr "Minimal heap-størrelse før garbage collection startes, i kilobyte." ++msgstr "Minimal heap-størrelse før vi starter affaldsindsamling, i kilobyte." + + #: params.def:599 + #, fuzzy, no-c-format +@@ -2174,10 +2171,9 @@ + msgstr "" + + #: params.def:664 +-#, fuzzy, no-c-format +-#| msgid "The maximum number of instructions in a single function eligible for inlining" ++#, no-c-format + msgid "Maximum number of instructions in the ready list that are considered eligible for renaming." +-msgstr "Det maksimale antal instruktioner i en enkelt funktion der må indbygges" ++msgstr "Det maksimale antal instruktioner i »ready«-listen som anses for klar til omdøbning." + + #: params.def:669 + #, no-c-format +@@ -2320,37 +2316,34 @@ + msgstr "" + + #: params.def:865 +-#, fuzzy, no-c-format +-#| msgid "maximum number of parameters in a SCoP" ++#, no-c-format + msgid "maximum number of parameters in a SCoP." +-msgstr "Det maksimale antal parametre i en SCoP" ++msgstr "maksimalt antal parametre i en SCoP." + + #: params.def:872 +-#, fuzzy, no-c-format +-#| msgid "maximum number of basic blocks per function to be analyzed by Graphite" ++#, no-c-format + msgid "maximum number of basic blocks per function to be analyzed by Graphite." +-msgstr "Det maksimale antal grundlæggende blokke per funktion, der skal analyseres af Graphite" ++msgstr "maksimalt antal grundlæggende blokke per funktion, der skal analyseres af Graphite." + + #: params.def:879 + #, no-c-format + msgid "maximum number of arrays per scop." +-msgstr "det maksimale antal tabeller per scop." ++msgstr "maksimalt antal tabeller per scop." + + #: params.def:886 + #, no-c-format + msgid "minimal number of loops per function to be analyzed by Graphite." +-msgstr "det minimale antal løkker per funktion som analyseres af Graphite." ++msgstr "minimalt antal løkker per funktion som analyseres af Graphite." + + #: params.def:891 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "maximum number of isl operations, 0 means unlimited" +-msgstr "Det maksimale antal instruktioner der overvejes at udrulle i en løkke" ++msgstr "maksimalt antal isl-operationer, 0 betyder ubegrænset" + + #: params.def:897 +-#, fuzzy, no-c-format +-#| msgid "Maximum number of datarefs in loop for building loop data dependencies" ++#, no-c-format + msgid "Maximum number of datarefs in loop for building loop data dependencies." +-msgstr "Det maksimale antal datareferencer i loop for bygning af loop-dataafhængigheder" ++msgstr "Maksimalt antal datareferencer i loop for bygning af loop-dataafhængigheder." + + #: params.def:904 + #, no-c-format +@@ -2358,10 +2351,9 @@ + msgstr "" + + #: params.def:912 +-#, fuzzy, no-c-format +-#| msgid "use internal function id in profile lookup" ++#, no-c-format + msgid "use internal function id in profile lookup." +-msgstr "brug intern funktions-id i profilopslag" ++msgstr "brug intern funktions-id i profilopslag." + + #: params.def:920 + #, no-c-format +@@ -2369,10 +2361,9 @@ + msgstr "" + + #: params.def:926 +-#, fuzzy, no-c-format +-#| msgid "Maximum number of instructions in basic block to be considered for SLP vectorization" ++#, no-c-format + msgid "Maximum number of instructions in basic block to be considered for SLP vectorization." +-msgstr "Det maksimale antal instruktioner i basisblokke som skal overvejes i SLP-vektorisering" ++msgstr "Maksimalt antal instruktioner i basisblokke som skal overvejes i SLP-vektorisering." + + #: params.def:931 + #, no-c-format +@@ -2515,10 +2506,9 @@ + msgstr "" + + #: params.def:1110 +-#, fuzzy, no-c-format +-#| msgid "The maximum number of incoming edges to consider for crossjumping" ++#, no-c-format + msgid "Maximum number of constant stores to merge in the store merging pass." +-msgstr "Det maksimale antal indadgående kanter der overvejes til krydsspring" ++msgstr "Maksimalt antal konstante lagre at sammenføje i gennemløbet for lagersammenføjelse." + + #: params.def:1116 + #, no-c-format +@@ -2949,42 +2939,42 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Ikke understøttet operand for koden »%c«" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "ugyldig operand for »%%%c«" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "manglende operand" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, c-format + msgid "invalid constant" + msgstr "ugyldig konstant:" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, c-format + msgid "invalid operand" + msgstr "ugyldig operand" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "ugyldig operandpræfiks »%%%c«" +@@ -3142,31 +3132,31 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "ugyldig UNSPEC som operand: %d" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "ugyldig skift-operand" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, fuzzy, c-format + #| msgid "Generate char instructions" + msgid "predicated Thumb instruction" + msgstr "Generér char-instruktioner" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, fuzzy, c-format + #| msgid "ret instruction not implemented" + msgid "predicated instruction in conditional sequence" + msgstr "ret-instruktion ikke implementeret" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3174,13 +3164,13 @@ + msgid "invalid operand for code '%c'" + msgstr "ugyldig operand for koden »%c«" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "instruktion aldrig udført" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "forældet Maverick-formatkode »%c«" +@@ -4008,102 +3998,102 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "emit_fusion_p9_store ikke MEM" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "symbolske hukommelsesreferencer er kun understøttet på z10 eller senere" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "Kan ikke nedbryde adresse" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "ugyldig sammenligningsoperator til »E«-ændring" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "ugyldig reference til »J«-uddataændring" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "ugyldig adresse til »O«-uddataændring" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "ugyldig adresse til »R«-uddataændring" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "hukommelsesreference forventet til »S«-uddataændring" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "ugyldig adresse for »S«-uddatamodifikation" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "register eller hukommelsesudtryk forventet til »N«-uddataændring" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "register eller hukommelsesudtryk forventet til »M«-uddataændring" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "ugyldig konstant til uddataændringen »%c«" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "ugyldig konstant - prøv at bruge en uddataændring" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "ugyldig konstantvektor for uddataændringen »%c«" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "ugyldigt udtryk - prøv at brug en uddataændring" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "ugyldig udtryk til uddataændringen »%c«" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "too few arguments to function" + msgid "vector argument passed to unprototyped function" + msgstr "for få parametre til funktionen" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + #, fuzzy + #| msgid "pointer targets in %s differ in signedness" + msgid "types differ in signedness" + msgstr "fortegnene i henvisningsmål i %s er forskellige" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "binær operator understøtter ikke vektor bool-operand" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -20518,7 +20508,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "" +@@ -21088,8 +21078,8 @@ + msgid "null pointer dereference" + msgstr "henvisning" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -21104,300 +21094,300 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + #| msgid "wrong type argument to %s" + msgid "directive argument %qE" + msgstr "forkert parametertype til %s" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, fuzzy, gcc-internal-format + #| msgid "disable pass %s for functions in the range of [%u, %u]" + msgid "directive argument in the range [%E, %E]" + msgstr "deaktiver videregivelse %s for funktioner i intervallet [%u, %u]" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + #| msgid "pointer" + msgid "null destination pointer" + msgstr "henvisning" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + #| msgid "null format string" + msgid "null format string" +@@ -23680,161 +23670,161 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "%D omdøbt efter at være refereret i maskinkode" + +-#: symtab.c:970 ++#: symtab.c:978 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "funktionsymbol er ikke en funktion" + +-#: symtab.c:978 ++#: symtab.c:986 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "variabelsymbol er ikke en variabel" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "node har ukendt type" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "node blev ikke fundet node->decl->decl_with_vis.symtab_node" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "node er forskellig fra node->decl->decl_with_vis.symtab_node" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "maskinekodenavn på hashliste er ødelagt" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "node blev ikke fundet i symtabs maskinkodehash" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "dobbelt lænket liste på maskinekodenavne er ødelagt" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "node har body_removed men er en definition" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + #| msgid "node is analyzed byt it is not a definition" + msgid "node is analyzed but it is not a definition" + msgstr "node er analyseret byt, det er ikke en definition" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "node er alias men ikke implicit alias" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "node er alias men ikke definition" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, fuzzy, gcc-internal-format + #| msgid "node is weakref but not an alias" + msgid "node is weakref but not an transparent_alias" + msgstr "node er weakref men ikke et alias" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, fuzzy, gcc-internal-format + #| msgid "node is weakref but not an alias" + msgid "node is transparent_alias but not an alias" + msgstr "node er weakref men ikke et alias" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "node er i same_comdat_grooup-liste men har ingen comdat_group" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "same_comdat_group-liste over forskellige grupper" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "blanding af forskellige symboltyper i samme comdata-gruppe er ikke understøttet" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "node er alene i en comdat-gruppe" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group er ikke en cirkulær liste" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "comdat-local-symbol refereret ti laf %s uden for dets comdat" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "implicit_section-flag er angivet men sektion er ikke" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "Både sektion og comdat-gruppe er angivet" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "Alias og måls sektion er forskellige" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "Alias og måls comdat-grupper er forskellige" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, fuzzy, gcc-internal-format + #| msgid "Alias and target's section differs" + msgid "Transparent alias and target's assembler names differs" + msgstr "Alias og måls sektion er forskellige" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::verify mislykkedes" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "To symboler med samme comdat_group er ikke lænket af same_comdat_group-listen." + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "funktion %q+D del af aliascyklus" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "variabel %q+D del af aliascyklus" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "sektion for alias %q+D skal matche sektion for dens målarkitektur" +@@ -25610,8 +25600,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -25648,104 +25638,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "en tabel af funktioner giver ikke mening" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "en funktions returtype kan ikke være en funktion" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "tree check: expected %s, have %s in %s, at %s:%d" ++#: tree.c:9839 tree.c:9924 tree.c:9985 ++#, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" +-msgstr "træ-kontrol: forventede %s, har %s i %s, ved %s:%d" ++msgstr "træ-kontrol: %s, har %s i %s, ved %s:%d" + +-#: tree.c:9868 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "tree check: expected %s, have %s in %s, at %s:%d" ++#: tree.c:9876 ++#, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" +-msgstr "træ-kontrol: forventede %s, har %s i %s, ved %s:%d" ++msgstr "træ-kontrol: forventede ingen af %s, har %s i %s, ved %s:%d" + +-#: tree.c:9881 +-#, fuzzy, gcc-internal-format +-#| msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d" ++#: tree.c:9889 ++#, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" +-msgstr "træ-kontrol: forventede klasse '%c', har '%c' (%s) i %s, ved %s:%d" ++msgstr "træ-kontrol: forventede klasse %qs, har %qs (%s) i %s, ved %s:%d" + +-#: tree.c:9930 +-#, fuzzy, gcc-internal-format +-#| msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d" ++#: tree.c:9938 ++#, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" +-msgstr "træ-kontrol: forventede klasse '%c', har '%c' (%s) i %s, ved %s:%d" ++msgstr "træ-kontrol: forventede ikke klasse %qs, har %qs (%s) i %s, ved %s:%d" + +-#: tree.c:9943 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "tree check: expected %s, have %s in %s, at %s:%d" ++#: tree.c:9951 ++#, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" +-msgstr "træ-kontrol: forventede %s, har %s i %s, ved %s:%d" ++msgstr "træ-kontrol: forventede omp_clause %s, har %s i %s, ved %s:%d" + +-#: tree.c:10003 +-#, fuzzy, gcc-internal-format +-#| msgid "tree check: expected %s, have %s in %s, at %s:%d" ++#: tree.c:10011 ++#, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" +-msgstr "træ-kontrol: forventede %s, har %s i %s, ved %s:%d" ++msgstr "træ-kontrol: forventede træ som indeholder %qs-struktur, har %qs i %s, ved %s:%d" + +-#: tree.c:10017 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" ++#: tree.c:10025 ++#, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" +-msgstr "trækontrol: tilgik udtrykstræ %d af tree_vec med %d udtrykstræer i %s, ved %s:%d" ++msgstr "trækontrol: tilgik udtrykstræ %d af tree_int_cst med %d udtrykstræer i %s, ved %s:%d" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "trækontrol: tilgik udtrykstræ %d af tree_vec med %d udtrykstræer i %s, ved %s:%d" + +-#: tree.c:10042 +-#, fuzzy, gcc-internal-format, gfc-internal-format ++#: tree.c:10050 ++#, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "trækontrol: tilgik operand %d af %s med %d operander i %s, ved %s:%d" + +-#: tree.c:10055 +-#, fuzzy, gcc-internal-format, gfc-internal-format ++#: tree.c:10063 ++#, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" +-msgstr "trækontrol: tilgik operand %d af %s med %d operander i %s, ved %s:%d" ++msgstr "trækontrol: tilgik operand %d af omp_clause %s med %d operander i %s, ved %s:%d" + +-#: tree.c:12867 +-#, fuzzy, gcc-internal-format +-#| msgid "`%s' is deprecated" ++#: tree.c:12875 ++#, gcc-internal-format + msgid "%qD is deprecated: %s" +-msgstr "'%s' er forældet" ++msgstr "%qD er forældet: %s" + +-#: tree.c:12870 +-#, fuzzy, gcc-internal-format +-#| msgid "`%s' is deprecated" ++#: tree.c:12878 ++#, gcc-internal-format + msgid "%qD is deprecated" +-msgstr "'%s' er forældet" ++msgstr "%qD er forældet" + +-#: tree.c:12894 tree.c:12916 +-#, fuzzy, gcc-internal-format +-#| msgid "`%s' is deprecated" ++#: tree.c:12902 tree.c:12924 ++#, gcc-internal-format + msgid "%qE is deprecated: %s" +-msgstr "'%s' er forældet" ++msgstr "%qE er forældet: %s" + +-#: tree.c:12897 tree.c:12919 +-#, fuzzy, gcc-internal-format +-#| msgid "`%s' is deprecated" ++#: tree.c:12905 tree.c:12927 ++#, gcc-internal-format + msgid "%qE is deprecated" +-msgstr "'%s' er forældet" ++msgstr "%qE er forældet" + +-#: tree.c:12903 tree.c:12924 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "type is deprecated" ++#: tree.c:12911 tree.c:12932 ++#, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" +-msgstr "type er forældet" ++msgstr "type er forældet: %s" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "type er forældet" +@@ -25772,275 +25750,270 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" +-msgstr "" ++msgstr "og felt" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" +-msgstr "" ++msgstr "typevariants TREE_TYPE" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" +-msgstr "" ++msgstr "types TREE_TYPE" + +-#: tree.c:13548 +-#, fuzzy, gcc-internal-format +-#| msgid "-march=%s is not compatible with the selected ABI" ++#: tree.c:13556 ++#, gcc-internal-format + msgid "type is not compatible with its variant" +-msgstr "-march=%s er ikke forenelig med den valgte ABI" ++msgstr "type er ikke forenelig med dens variant" + +-#: tree.c:13851 +-#, fuzzy, gcc-internal-format +-#| msgid "environment variable DJGPP not defined" ++#: tree.c:13859 ++#, gcc-internal-format + msgid "Main variant is not defined" +-msgstr "miljøvariablen DJGPP er ikke defineret" ++msgstr "Hovedvariant er ikke defineret" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 +-#, fuzzy, gcc-internal-format +-#| msgid "size of array `%s' has non-integer type" ++#: tree.c:14091 ++#, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" +-msgstr "størrelsen af tabellen '%s' er ikke af en heltalstype" ++msgstr "Tabellen TYPE_DOMAIN er ikke af en heltalstype" + +-#: tree.c:14092 +-#, fuzzy, gcc-internal-format +-#| msgid "field `%s' has incomplete type" ++#: tree.c:14100 ++#, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" +-msgstr "feltet '%s' er af en ufuldstændig type" ++msgstr "TYPE_FIELDS er defineret i en ufuldstændig type" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" +-msgstr "" ++msgstr "Forkert træ i TYPE_FIELDS-liste" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 +-#, fuzzy, gcc-internal-format +-#| msgid "verify_flow_info failed" ++#: tree.c:14229 ++#, gcc-internal-format + msgid "verify_type failed" +-msgstr "verify_flow_info mislykkedes" ++msgstr "verify_type mislykkedes" + + #: value-prof.c:515 + #, gcc-internal-format + msgid "dead histogram" +-msgstr "" ++msgstr "død histogram" + + #: value-prof.c:544 + #, gcc-internal-format +@@ -26048,10 +26021,9 @@ + msgstr "" + + #: value-prof.c:556 +-#, fuzzy, gcc-internal-format +-#| msgid "verify_flow_info failed" ++#, gcc-internal-format + msgid "verify_histograms failed" +-msgstr "verify_flow_info mislykkedes" ++msgstr "verify_histograms mislykkedes" + + #: value-prof.c:613 + #, gcc-internal-format, gfc-internal-format +@@ -26069,34 +26041,29 @@ + msgstr "" + + #: varasm.c:323 +-#, fuzzy, gcc-internal-format +-#| msgid "%J%D causes a section type conflict" ++#, gcc-internal-format + msgid "%+D causes a section type conflict with %D" +-msgstr "%J%D forårsager en sektionstypekonflikt" ++msgstr "%+D forårsager en sektionstypekonflikt med %D" + + #: varasm.c:326 +-#, fuzzy, gcc-internal-format +-#| msgid " conflict with `%D'" ++#, gcc-internal-format + msgid "section type conflict with %D" +-msgstr " konflikt med '%D'" ++msgstr "afsnitstypekonflikt med %D" + + #: varasm.c:331 +-#, fuzzy, gcc-internal-format +-#| msgid "%J%D causes a section type conflict" ++#, gcc-internal-format + msgid "%+D causes a section type conflict" +-msgstr "%J%D forårsager en sektionstypekonflikt" ++msgstr "%+D forårsager en sektionstypekonflikt" + + #: varasm.c:333 +-#, fuzzy, gcc-internal-format +-#| msgid "%J%D causes a section type conflict" ++#, gcc-internal-format + msgid "section type conflict" +-msgstr "%J%D forårsager en sektionstypekonflikt" ++msgstr "sektionstypekonflikt" + + #: varasm.c:1008 +-#, fuzzy, gcc-internal-format +-#| msgid "%Jalignment of '%D' is greater than maximum object file alignment. Using %d" ++#, gcc-internal-format + msgid "alignment of %q+D is greater than maximum object file alignment %d" +-msgstr "%Jjustering af '%D' er større end den maksimale objektfilsjustering - bruger %d" ++msgstr "justering af %q+D er større end den maksimale objektfilsjustering %d" + + #: varasm.c:1160 + #, fuzzy, gcc-internal-format +@@ -26105,22 +26072,19 @@ + msgstr "kun variabler uden startværdi kan placeres i .bss-sektionen" + + #: varasm.c:1367 varasm.c:1376 +-#, fuzzy, gcc-internal-format +-#| msgid "%Jregister name not specified for '%D'" ++#, gcc-internal-format + msgid "register name not specified for %q+D" +-msgstr "%Jregisternavn ikke angivet for '%D'" ++msgstr "registernavn ikke angivet for %q+D" + + #: varasm.c:1378 +-#, fuzzy, gcc-internal-format +-#| msgid "%Jinvalid register name for '%D'" ++#, gcc-internal-format + msgid "invalid register name for %q+D" +-msgstr "%Jugyldigt registernavn for '%D'" ++msgstr "ugyldigt registernavn for %q+D" + + #: varasm.c:1380 +-#, fuzzy, gcc-internal-format +-#| msgid "%Jdata type of '%D' isn't suitable for a register" ++#, gcc-internal-format + msgid "data type of %q+D isn%'t suitable for a register" +-msgstr "%Jdatatypen for '%D' passer ikke med et register" ++msgstr "datatypen for %q+D passer ikke med et register" + + #: varasm.c:1383 + #, gcc-internal-format +@@ -26128,10 +26092,9 @@ + msgstr "" + + #: varasm.c:1386 +-#, fuzzy, gcc-internal-format +-#| msgid "register used for two global register variables" ++#, gcc-internal-format + msgid "the register specified for %q+D is not general enough to be used as a register variable" +-msgstr "register brugt til to globale registervariabler" ++msgstr "registeret specificeret for %q+D er ikke generelt nok til at blive brugt som en registervariabel" + + #: varasm.c:1389 + #, fuzzy, gcc-internal-format +@@ -27132,7 +27095,7 @@ + msgid "% attribute specified with a parameter" + msgstr "standardparameter givet til %d. parameter for '%#D'" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to function" +@@ -27139,7 +27102,7 @@ + msgid "too few arguments to function %qE" + msgstr "for få parametre til funktionen" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to function" + msgid "too many arguments to function %qE" +@@ -27235,84 +27198,84 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%s' is too large" + msgid "size of array is too large" + msgstr "størrelsen af tabellen '%s' er for stor" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of `%s'" + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "typen af den %d. parameter i '%s' passer ikke" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to function `%s'" + msgid "incorrect number of arguments to function %qE" + msgstr "for få parametre til funktionen '%s'" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, fuzzy, gcc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "parameter til '%s' skal være en 2 bit-konstant" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, fuzzy, gcc-internal-format + #| msgid "argument of `asm' is not a constant string" + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "parameteren til 'asm' er ikke en konstant streng" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, fuzzy, gcc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "parameter til '%s' skal være en 2 bit-konstant" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, fuzzy, gcc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "argument %d of %qE must be a pointer type" + msgstr "parameter til '%s' skal være en 2 bit-konstant" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + #| msgid "argument of `asm' is not a constant string" + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "parameteren til 'asm' er ikke en konstant streng" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + #| msgid "argument 3 of `%s' must be a 2-bit literal" + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "parameter til '%s' skal være en 2 bit-konstant" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, fuzzy, gcc-internal-format + #| msgid "in passing argument %P of `%+D'" + msgid "size mismatch in argument %d of %qE" + msgstr "i overbringelse af parameter %P af '%+D'" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, fuzzy, gcc-internal-format + #| msgid "invalid type argument of `%s'" + msgid "invalid memory model argument %d of %qE" + msgstr "ugyldig typeparameter '%s'" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, fuzzy, gcc-internal-format + #| msgid "accumulator number is out of bounds" + msgid "index value is out of bound" + msgstr "akkumulatortal er uden for det gyldig interval" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -27320,24 +27283,24 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, fuzzy, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "den indbyggede funktion '%s' er erklæret som noget der ikke er en funktion" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%s' is too large" + msgid "size of array %qE is too large" + msgstr "størrelsen af tabellen '%s' er for stor" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%s' is too large" + msgid "size of unnamed array is too large" + msgstr "størrelsen af tabellen '%s' er for stor" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -29271,7 +29234,7 @@ + msgid "too many input files" + msgstr "for mange inddatafiler" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "ukendt værdi %qs for -mcpu" +@@ -29760,201 +29723,201 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "%s fra en henvisningstype der ikke er forenelig med målets" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid range %s in option %s" + msgid "tuning string missing in option (%s)" + msgstr "ugyldigt interval %s i tilvalg %s" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unknown spec function `%s'" + msgid "unknown tuning option (%s)" + msgstr "ukendt specifikationsfunktion '%s'" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of `%s' attribute" + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "ugyldig parameter til egenskaben '%s'" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, fuzzy, gcc-internal-format + #| msgid "missing argument to \"-%s\"" + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "der mangler en parameter til tilvalget '-%s'" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + #| msgid "unknown machine mode `%s'" + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "ukendt maskintilstand '%s'" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, fuzzy, gcc-internal-format + #| msgid "missing argument to \"-%s\"" + msgid "missing arch name in %<-march=%s%>" + msgstr "der mangler en parameter til tilvalget '-%s'" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "unknown value %qs for -march" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "et filnavn mangler efter '-%s'" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, fuzzy, gcc-internal-format + #| msgid "missing argument to \"-%s\"" + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "der mangler en parameter til tilvalget '-%s'" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "ukendt værdi %qs for -mtune" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "switch -mcpu=%s conflicts with -march= switch" + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "tilvalget -mcpu=%s er i konflikt med tilvalget -march=" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, fuzzy, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" + msgstr "%s understøtter ikke %s" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "missing argument to \"-%s\"" + msgid "missing architecture name in 'arch' target %s" + msgstr "der mangler en parameter til tilvalget '-%s'" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, fuzzy, gcc-internal-format + #| msgid "bad value (%s) for -march= switch" + msgid "unknown value %qs for 'arch' target %s" + msgstr "ugyldig værdi (%s) til tilvalget -march=" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "et filnavn mangler efter '-%s'" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "missing argument to \"-%s\"" + msgid "missing cpu name in 'cpu' target %s" + msgstr "der mangler en parameter til tilvalget '-%s'" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -mcpu" + msgid "unknown value %qs for 'cpu' target %s" + msgstr "ukendt værdi %qs for -mcpu" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "et filnavn mangler efter '-%s'" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -mtune" + msgid "unknown value %qs for 'tune' target %s" + msgstr "ukendt værdi %qs for -mtune" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "et filnavn mangler efter '-%s'" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "et filnavn mangler efter '-%s'" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed spec function arguments" + msgid "malformed target %s" + msgstr "forkert udformede specifikationsfunktionsparametre" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, fuzzy, gcc-internal-format + #| msgid "%s only accepts 1 argument" + msgid "target %s %qs does not accept an argument" + msgstr "%s accepterer kun 1 parameter" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, fuzzy, gcc-internal-format + #| msgid "target system does not support the %qs debug format" + msgid "target %s %qs does not allow a negated form" + msgstr "målarkitektursystem understøtter ikke %qs-fejlsøgningsformatet" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "\"%s\" is not defined" + msgid "target %s %s=%s is not valid" + msgstr "\"%s\" er ikke defineret" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute argument not a string constant" + msgid "attribute % argument not a string" + msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed spec function name" + msgid "malformed target %s value" + msgstr "forkert udformet specifikationsfunktionsnavn" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "target %s %qs is invalid" + msgstr "skabelonsparameter %d er ugyldig" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, fuzzy, gcc-internal-format + #| msgid "line number out of range" + msgid "%Klane %wd out of range %wd - %wd" + msgstr "linjenummer er uden for det gyldige interval" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, fuzzy, gcc-internal-format + #| msgid "line number out of range" + msgid "lane %wd out of range %wd - %wd" +@@ -30391,64 +30354,64 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, fuzzy, gcc-internal-format + #| msgid "-msystem-v and -p are incompatible" + msgid "iWMMXt and NEON are incompatible" + msgstr "-msystem-v og -p er indbyrdes uforenelige" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support APCS-32" + msgid "target CPU does not support ARM mode" + msgstr "målprocessoren understøtter ikke APCS-32" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "aktivering af tilbagesporingsunderstøttelse giver kun mening ved oversættelse for en Thumb" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "aktivering af interarbejdeunderstøttelse for kaldte objekter giver kun mening ved oversættelse for en Thumb" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g med -mno-apcs-frame giver måske ikke fornuftig fejlanalysering" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "målprocessoren understøtter ikke THUMB-instruktioner" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "target CPU does not support unaligned accesses" +@@ -30456,134 +30419,140 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, fuzzy, gcc-internal-format + #| msgid "-mpcrel -fPIC is not currently supported on selected cpu" + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-mpcrel -fPIC er i øjeblikket ikke understøttet på valgt cpu" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "målprocessoren understøtter ikke interarbejde" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check og -mno-apcs-frame er indbyrdes uforenelige" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "APCS-genindtrædelig kode er ikke understøttet - ignoreret" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + #| msgid "-mrelocatable and -msdata=%s are incompatible" + msgid "selected fp16 options are incompatible" + msgstr "-mrelocatable og -msdata=%s er indbyrdes uforenelige" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "målprocessoren understøtter ikke interarbejde" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "målprocessoren understøtter ikke interarbejde" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, fuzzy, gcc-internal-format + #| msgid "structure size boundary can only be set to 8 or 32" + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "strukturstørrelsesgrænse kan kun sættes til 8 eller 32" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "strukturstørrelsesgrænse kan kun sættes til 8 eller 32" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= er ubrugelig uden -fpic" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "kan ikke bruge '%s' til PIC-register" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, fuzzy, gcc-internal-format + #| msgid "-fdata-sections not supported for this target" + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-fdata-sections understøttes ikke på målarkitekturen" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support THUMB instructions" + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "målprocessoren understøtter ikke THUMB-instruktioner" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -30600,79 +30569,79 @@ + msgid "%qE attribute only applies to functions" + msgstr "egenskaben '%s' kan kun anvendes sammen med funktioner" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute only applies to functions" + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "egenskaben '%s' kan kun anvendes sammen med funktioner" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, fuzzy, gcc-internal-format + #| msgid "`%D' must take either one or two arguments" + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "'%D' skal tage mod én eller to parametre" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute only applies to functions" + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "egenskaben '%s' kan kun anvendes sammen med funktioner" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute ignored for `%s'" + msgid "%qE attribute ignored without -mcmse option." + msgstr "'%s'-egenskaben ignoreret for '%s'" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, fuzzy, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "'%s'-egenskaben kan kun anvendes sammen med funktioner" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute only applies to function types" + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "egenskaben '%s' kan kun anvendes sammen med funktionstyper" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, fuzzy, gcc-internal-format + #| msgid "line number out of range" + msgid "%K%s %wd out of range %wd - %wd" + msgstr "linjenummer er uden for det gyldige interval" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, fuzzy, gcc-internal-format + #| msgid "line number out of range" + msgid "%s %wd out of range %wd - %wd" + msgstr "linjenummer er uden for det gyldige interval" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "kan ikke beregne virkelig placering af stakkede parametre" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "ingen lave registre er tilgængelige til at modtage værdier fra høje registre" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "afbrydelsesservicerutiner kan ikke kodes i Thumb-tilstand" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid vector type for attribute `%s'" + msgid "invalid fpu for attribute(target(\"%s\"))" +@@ -30681,13 +30650,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "" +@@ -31025,27 +30994,24 @@ + msgstr "" + + #: config/bfin/bfin.c:2394 +-#, fuzzy, gcc-internal-format +-#| msgid "-frepo must be used with -c" ++#, gcc-internal-format + msgid "-mcorea should be used with -mmulticore" +-msgstr "-frepo skal bruges med -c" ++msgstr "-mcorea skal bruges med -mmulticore" + + #: config/bfin/bfin.c:2397 +-#, fuzzy, gcc-internal-format +-#| msgid "-frepo must be used with -c" ++#, gcc-internal-format + msgid "-mcoreb should be used with -mmulticore" +-msgstr "-frepo skal bruges med -c" ++msgstr "-mcoreb skal bruges med -mmulticore" + + #: config/bfin/bfin.c:2400 +-#, fuzzy, gcc-internal-format +-#| msgid "-mapcs-26 and -mapcs-32 may not be used together" ++#, gcc-internal-format + msgid "-mcorea and -mcoreb can%'t be used together" +-msgstr "-mapcs-26 og -mapcs-32 kan ikke bruges på samme tid" ++msgstr "-mcorea og -mcoreb kan ikke bruges på samme tid" + + #: config/bfin/bfin.c:4678 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "multiple function type attributes specified" +-msgstr "inline funktion '%s' givet egenskaben noinline" ++msgstr "der er angivet flere funktionstypeattributter" + + #: config/bfin/bfin.c:4745 + #, gcc-internal-format +@@ -31053,21 +31019,19 @@ + msgstr "" + + #: config/bfin/bfin.c:4802 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "%qE attribute cannot be specified for local variables" +-msgstr "sektionsegenskaben kan ikke angives for lokale variabler" ++msgstr "%qE-attribut kan ikke angives for lokale variabler" + + #: config/c6x/c6x.c:239 +-#, fuzzy, gcc-internal-format +-#| msgid "Profiling is not supported on this target." ++#, gcc-internal-format + msgid "-fpic and -fPIC not supported without -mdsbt on this target" +-msgstr "Profilering er ikke understøttet på målarkitekturen." ++msgstr "-fpic og -fPIC er ikke understøttet uden -mdsbt på denne målarkitektur" + + #: config/c6x/c6x.h:365 config/nvptx/nvptx.h:181 +-#, fuzzy, gcc-internal-format +-#| msgid "profiling not implemented yet" ++#, gcc-internal-format + msgid "profiling is not yet implemented for this architecture" +-msgstr "profilering understøttes ikke endnu" ++msgstr "profilering er endnu ikke implementerer for denne arkitektur" + + #: config/cr16/cr16.c:294 + #, gcc-internal-format +@@ -31075,15 +31039,14 @@ + msgstr "" + + #: config/cr16/cr16.c:297 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "invalid option `-mshort-data-%s'" ++#, gcc-internal-format, gfc-internal-format + msgid "invalid data model option -mdata-model=%s" +-msgstr "ugyldigt tilvalg '-mshort-data-%s'" ++msgstr "ugyldigt tilvalg for datamodel -mdata-model=%s" + + #: config/cr16/cr16.h:431 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "profiler support for CR16" +-msgstr "function_profiler-understøttelse for MMIX" ++msgstr "profiler-understøttelse for CR16" + + #. This function is for retrieving a part of an instruction name for + #. an operator, for immediate output. If that ever happens for +@@ -31095,10 +31058,9 @@ + msgstr "" + + #: config/cris/cris.c:885 +-#, fuzzy, gcc-internal-format +-#| msgid "invalid operand for 'b' modifier" ++#, gcc-internal-format + msgid "invalid use of ':' modifier" +-msgstr "ugyldig operand til 'b'-ændring" ++msgstr "ugyldig brug af »:«-ændring" + + #: config/cris/cris.c:1119 config/moxie/moxie.c:182 + #, gcc-internal-format, gfc-internal-format +@@ -31111,10 +31073,9 @@ + msgstr "intern fejl: bivirkningsinstruktion påvirker hovedvirkning" + + #: config/cris/cris.c:1967 +-#, fuzzy, gcc-internal-format +-#| msgid "unknown relocation unspec" ++#, gcc-internal-format + msgid "unknown cc_attr value" +-msgstr "ukendt relokaliserings-unspec" ++msgstr "ukendt cc_attr-værdi" + + #. If we get here, the caller got its initial tests wrong. + #: config/cris/cris.c:2394 +@@ -31143,16 +31104,14 @@ + msgstr "-fPIC og -fpic understøttes ikke af denne konfiguration" + + #: config/cris/cris.c:2967 +-#, fuzzy, gcc-internal-format +-#| msgid "unknown insn mode" ++#, gcc-internal-format + msgid "unknown src" +-msgstr "ukendt instruktionstilstand" ++msgstr "ukendt src" + + #: config/cris/cris.c:3022 +-#, fuzzy, gcc-internal-format +-#| msgid "unknown insn mode" ++#, gcc-internal-format + msgid "unknown dest" +-msgstr "ukendt instruktionstilstand" ++msgstr "ukendt dest" + + #: config/cris/cris.c:3303 + #, gcc-internal-format, gfc-internal-format +@@ -31162,11 +31121,10 @@ + #: config/cris/cris.c:3791 config/cris/cris.c:3819 + #, gcc-internal-format + msgid "expand_binop failed in movsi got" +-msgstr "" ++msgstr "expand_binop mislykkedes i movsi got" + + #: config/cris/cris.c:3914 +-#, fuzzy, gcc-internal-format +-#| msgid "emitting PIC operand, but PIC register isn't set up" ++#, gcc-internal-format + msgid "emitting PIC operand, but PIC register isn%'t set up" + msgstr "udsender PIC-operand, men PIC-register er ikke sat op" + +@@ -31237,13 +31195,12 @@ + #: config/epiphany/epiphany.c:1525 + #, gcc-internal-format + msgid "stack_offset must be at least 4" +-msgstr "" ++msgstr "stack_offset skal være mindst 4" + + #: config/epiphany/epiphany.c:1527 +-#, fuzzy, gcc-internal-format +-#| msgid "stack frame not a multiple of 8 bytes: %d" ++#, gcc-internal-format + msgid "stack_offset must be a multiple of 4" +-msgstr "stakramme ikke et produkt af 8 byte: %d" ++msgstr "stack_offset skal gå op i 4" + + #: config/frv/frv.c:8593 + #, gcc-internal-format +@@ -31256,16 +31213,14 @@ + msgstr "akkumulatortal er uden for det gyldig interval" + + #: config/frv/frv.c:8609 +-#, fuzzy, gcc-internal-format +-#| msgid "inappropriate accumulator for `%s'" ++#, gcc-internal-format + msgid "inappropriate accumulator for %qs" +-msgstr "forkert akkumulator for '%s'" ++msgstr "upassende akkumulator for %qs" + + #: config/frv/frv.c:8685 +-#, fuzzy, gcc-internal-format +-#| msgid "invalid type argument" ++#, gcc-internal-format + msgid "invalid IACC argument" +-msgstr "ugyldig typeparameter" ++msgstr "ugyldig IACC-parameter" + + #: config/frv/frv.c:8708 + #, fuzzy, gcc-internal-format +@@ -31343,55 +31298,49 @@ + msgstr "-ms2600 benyttet uden -ms" + + #: config/h8300/h8300.c:354 +-#, fuzzy, gcc-internal-format +-#| msgid "-mn is used without -mh or -ms" ++#, gcc-internal-format + msgid "-mn is used without -mh or -ms or -msx" +-msgstr "-mn benyttet uden -mh eller -ms" ++msgstr "-mn bruges uden -mh eller -ms eller -msx" + + #: config/h8300/h8300.c:360 +-#, fuzzy, gcc-internal-format +-#| msgid "-ms2600 is used without -ms" ++#, gcc-internal-format + msgid "-mexr is used without -ms" +-msgstr "-ms2600 benyttet uden -ms" ++msgstr "-mexr bruges uden -ms" + + #: config/h8300/h8300.c:366 +-#, fuzzy, gcc-internal-format +-#| msgid "Profiling is not supported on this target." ++#, gcc-internal-format + msgid "-mint32 is not supported for H8300 and H8300L targets" +-msgstr "Profilering er ikke understøttet på målarkitekturen." ++msgstr "-mint32 er ikke understøttet for H8300- og H8300L-målarkitekturer" + + #: config/h8300/h8300.c:372 +-#, fuzzy, gcc-internal-format +-#| msgid "-mn is used without -mh or -ms" ++#, gcc-internal-format + msgid "-mexr is used without -ms or -msx" +-msgstr "-mn benyttet uden -mh eller -ms" ++msgstr "-mexr bruges uden -ms eller msx" + + #: config/h8300/h8300.c:378 + #, gcc-internal-format + msgid "-mno-exr valid only with -ms or -msx - Option ignored!" +-msgstr "" ++msgstr "-mno-exr er kun gyldig med -ms eller -msx - Tilvalg ignoreret!" + + #: config/h8300/h8300.c:385 +-#, fuzzy, gcc-internal-format +-#| msgid "Profiling is not supported on this target." ++#, gcc-internal-format + msgid "-mn is not supported for linux targets" +-msgstr "Profilering er ikke understøttet på målarkitekturen." ++msgstr "-mn er ikke understøttet for Linux-målarkitekturer" + + #: config/i386/host-cygwin.c:62 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "can%'t extend PCH file: %m" +-msgstr "kan ikke læse fra midlertidig fil" ++msgstr "kan ikke udvide PCH-filen: %m" + + #: config/i386/host-cygwin.c:73 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "can%'t set position in PCH file: %m" +-msgstr "kan ikke oprette informationsfilen '%s' til opbevaringssted" ++msgstr "kan ikke angive position i PCH-filen: %m" + + #: config/i386/i386.c:4692 +-#, fuzzy, gcc-internal-format +-#| msgid "error in args to spec function `%s'" ++#, gcc-internal-format + msgid "wrong argument %qs to option %qs" +-msgstr "fejl i parametre til specifikationsfunktion '%s'" ++msgstr "forkert parameter %qs for tilvalget %qs" + + #: config/i386/i386.c:4698 + #, gcc-internal-format +@@ -31399,23 +31348,20 @@ + msgstr "" + + #: config/i386/i386.c:4708 +-#, fuzzy, gcc-internal-format +-#| msgid "return type specified for `operator %T'" ++#, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" +-msgstr "returtype angivet for 'operator %T'" ++msgstr "forkert strateginavn %qs er angivet for tilvalget %qs" + + #. rep; movq isn't available in 32-bit code. + #: config/i386/i386.c:4734 +-#, fuzzy, gcc-internal-format +-#| msgid "return type specified for `operator %T'" ++#, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" +-msgstr "returtype angivet for 'operator %T'" ++msgstr "strateginavnet %qs angivet for tilvalget %qs er ikke understøttet for 32-bit kode" + + #: config/i386/i386.c:4747 +-#, fuzzy, gcc-internal-format +-#| msgid "Tune alignment for the specified chip or CPU version" ++#, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" +-msgstr "Finjustér justering til en given chip- eller processorversion" ++msgstr "ukendt justering %qs angivet for tilvalget %qs" + + #: config/i386/i386.c:4757 + #, gcc-internal-format +@@ -31454,34 +31400,30 @@ + msgstr "" + + #: config/i386/i386.c:5316 +-#, fuzzy, gcc-internal-format +-#| msgid "code model `%s' not supported in the %s bit mode" ++#, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" +-msgstr "kodemodellen %s er ikke understøttet i %s bit-tilstand" ++msgstr "adressetilstanden %qs er ikke understøttet i %s bit-tilstand" + + #: config/i386/i386.c:5342 config/i386/i386.c:5351 config/i386/i386.c:5363 + #: config/i386/i386.c:5374 config/i386/i386.c:5385 +-#, fuzzy, gcc-internal-format +-#| msgid "code model `%s' not supported in the %s bit mode" ++#, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" +-msgstr "kodemodellen %s er ikke understøttet i %s bit-tilstand" ++msgstr "kodemodellen %qs er ikke understøttet i %s bit-tilstand" + + #: config/i386/i386.c:5354 config/i386/i386.c:5366 +-#, fuzzy, gcc-internal-format +-#| msgid "code model %s not supported in PIC mode" ++#, gcc-internal-format + msgid "code model %qs not supported in x32 mode" +-msgstr "kodemodellen %s er ikke understøttet i PIC-tilstand" ++msgstr "kodemodellen %qs er ikke understøttet i x32-tilstand" + + #: config/i386/i386.c:5372 config/i386/i386.c:5381 config/i386/i386.c:6556 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "code model %s not supported in PIC mode" ++#, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" +-msgstr "kodemodellen %s er ikke understøttet i PIC-tilstand" ++msgstr "kodemodellen %s understøtter ikke PIC-tilstand" + + #: config/i386/i386.c:5409 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "-masm=intel not supported in this configuration" +-msgstr "%s understøttes ikke af denne konfiguration" ++msgstr "-masm=intel understøttes ikke af denne konfiguration" + + #: config/i386/i386.c:5414 + #, gcc-internal-format, gfc-internal-format +@@ -31714,9 +31656,9 @@ + msgstr "" + + #: config/i386/i386.c:7267 +-#, fuzzy, gcc-internal-format, gfc-internal-format ++#, gcc-internal-format, gfc-internal-format + msgid "%s instructions aren't allowed in %s service routine" +-msgstr "'%D' blev ikke erklæret i dette virkefelt" ++msgstr "%s-instruktioner er ikke tilladt i %s-tjenesterutinen" + + #: config/i386/i386.c:7271 + #, gcc-internal-format, gfc-internal-format +@@ -31729,28 +31671,24 @@ + msgstr "fastcall og regparm er indbyrdes uforenelige" + + #: config/i386/i386.c:7688 +-#, fuzzy, gcc-internal-format +-#| msgid "fastcall and stdcall attributes are not compatible" ++#, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" +-msgstr "fastcall og stdcall er indbyrdes uforenelige" ++msgstr "regparam og thiscall er indbyrdes uforenelige" + + #: config/i386/i386.c:7695 config/i386/i386.c:41349 +-#, fuzzy, gcc-internal-format +-#| msgid "`%s' attribute requires an integer constant argument" ++#, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" +-msgstr "egenskaben '%s' kræver en heltalskonstant som parameter" ++msgstr "%qE-egenskaben kræver en heltalskonstant som parameter" + + #: config/i386/i386.c:7701 +-#, fuzzy, gcc-internal-format +-#| msgid "argument to `%s' attribute larger than %d" ++#, gcc-internal-format + msgid "argument to %qE attribute larger than %d" +-msgstr "parameter til egenskaben '%s' er større end %d" ++msgstr "parameter til %qE-egenskaben er større end %d" + + #: config/i386/i386.c:7726 config/i386/i386.c:7769 +-#, fuzzy, gcc-internal-format +-#| msgid "fastcall and stdcall attributes are not compatible" ++#, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" +-msgstr "fastcall og stdcall er indbyrdes uforenelige" ++msgstr "fastcall og cdecl er indbyrdes uforenelige" + + #: config/i386/i386.c:7730 + #, gcc-internal-format +@@ -31758,40 +31696,34 @@ + msgstr "fastcall og stdcall er indbyrdes uforenelige" + + #: config/i386/i386.c:7738 config/i386/i386.c:7787 +-#, fuzzy, gcc-internal-format +-#| msgid "fastcall and stdcall attributes are not compatible" ++#, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" +-msgstr "fastcall og stdcall er indbyrdes uforenelige" ++msgstr "fastcall og thiscall er indbyrdes uforenelige" + + #: config/i386/i386.c:7748 config/i386/i386.c:7765 +-#, fuzzy, gcc-internal-format +-#| msgid "fastcall and stdcall attributes are not compatible" ++#, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" +-msgstr "fastcall og stdcall er indbyrdes uforenelige" ++msgstr "stdcall og cdecl er indbyrdes uforenelige" + + #: config/i386/i386.c:7752 +-#, fuzzy, gcc-internal-format +-#| msgid "fastcall and stdcall attributes are not compatible" ++#, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" +-msgstr "fastcall og stdcall er indbyrdes uforenelige" ++msgstr "stdcall og fastcall er indbyrdes uforenelige" + + #: config/i386/i386.c:7756 config/i386/i386.c:7783 +-#, fuzzy, gcc-internal-format +-#| msgid "fastcall and stdcall attributes are not compatible" ++#, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" +-msgstr "fastcall og stdcall er indbyrdes uforenelige" ++msgstr "stdcall og thiscall er indbyrdes uforenelige" + + #: config/i386/i386.c:7773 config/i386/i386.c:7791 +-#, fuzzy, gcc-internal-format +-#| msgid "fastcall and stdcall attributes are not compatible" ++#, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" +-msgstr "fastcall og stdcall er indbyrdes uforenelige" ++msgstr "cdecl og thiscall er indbyrdes uforenelige" + + #: config/i386/i386.c:7779 +-#, fuzzy, gcc-internal-format +-#| msgid "`%s' attribute ignored for `%s'" ++#, gcc-internal-format + msgid "%qE attribute is used for non-class method" +-msgstr "'%s'-egenskaben ignoreret for '%s'" ++msgstr "%qE-egenskaben bruges til ikke-klasse metode" + + #: config/i386/i386.c:8023 + #, gcc-internal-format +@@ -31804,15 +31736,14 @@ + msgstr "" + + #: config/i386/i386.c:8342 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "X32 does not support ms_abi attribute" +-msgstr "%s understøtter ikke %s" ++msgstr "X32 understøtter ikke egenskaben ms_abi" + + #: config/i386/i386.c:8374 +-#, fuzzy, gcc-internal-format +-#| msgid "-march=%s is not compatible with the selected ABI" ++#, gcc-internal-format + msgid "ms_hook_prologue is not compatible with nested function" +-msgstr "-march=%s er ikke forenelig med den valgte ABI" ++msgstr "ms_hook_prologue er ikke forenelig med den indlejrede funktion" + + #: config/i386/i386.c:8687 + #, gcc-internal-format +@@ -31928,10 +31859,9 @@ + msgstr "-mips%d understøtter ikke 64-bit kommatalsregistre" + + #: config/i386/i386.c:17672 config/i386/i386.c:17686 +-#, fuzzy, gcc-internal-format +-#| msgid "unsupported operand size for extended register" ++#, gcc-internal-format + msgid "unsupported size for integer register" +-msgstr "ikke-understøttet operandstørrelse for udvidede registre" ++msgstr "størrelse er ikke understøttet for heltalsregister" + + #: config/i386/i386.c:17718 + #, gcc-internal-format +@@ -33513,7 +33443,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "vec_insert accepterer kun 3 parametre" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, fuzzy, gcc-internal-format + #| msgid "vec_insert only accepts 3 arguments" + msgid "vec_adde only accepts 3 arguments" +@@ -33525,43 +33455,43 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "vec_insert accepterer kun 3 parametre" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%s accepterer kun %d parametre" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%s accepterer kun 1 parameter" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%s accepterer kun 2 parametre" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "vec_extract accepterer kun 2 parametre" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "vec_insert accepterer kun 3 parametre" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + #| msgid "cast from `%T' to `%T' discards qualifiers from pointer target type" + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "typeomtvingning fra '%T' til '%T' kasserer modifikationer på henvisningsmålets type" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "%s understøttes ikke af denne konfiguration" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid register in the instruction" + msgid "invalid parameter combination for AltiVec intrinsic %s" +@@ -34689,113 +34619,113 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, fuzzy, gcc-internal-format + #| msgid "Total size of local variables exceeds architecture limit." + msgid "total size of local variables exceeds architecture limit" + msgstr "Total størrelse af lokale variable overstiger arkitekturgrænsen." + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, fuzzy, gcc-internal-format + #| msgid "%Jsize of '%D' is %d bytes" + msgid "frame size of %qs is %wd bytes" + msgstr "%Jstørrelsen af '%D' er %d byte" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "fældetilstand understøttes ikke på Unicos/Mk" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, fuzzy, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "kodemodellen %s er ikke understøttet i PIC-tilstand" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Use hardware floating point instructions" + msgid "hardware vector support not available on %s" + msgstr "Benyt hardware-kommatalsinstruktioner" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Use hardware floating point instructions" + msgid "hardware decimal floating point instructions not available on %s" + msgstr "Benyt hardware-kommatalsinstruktioner" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, fuzzy, gcc-internal-format + #| msgid "Use hardware floating point instructions" + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "Benyt hardware-kommatalsinstruktioner" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + msgid "arguments to %qs should be non-negative integers" + msgstr "parameter til '%s' skal være en 2 bit-konstant uden fortegn" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + #| msgid "argument to `%s' attribute larger than %d" + msgid "argument to %qs is too large (max. %d)" +@@ -34802,7 +34732,7 @@ + msgstr "parameter til egenskaben '%s' er større end %d" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + #| msgid "__builtin_trap not supported by this target" + msgid "value %qs is not supported by attribute %" +@@ -40385,10 +40315,9 @@ + msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" + + #: c/c-typeck.c:13274 +-#, fuzzy, gcc-internal-format +-#| msgid "`%s' is not a valid class name" ++#, gcc-internal-format + msgid "%<_Atomic%> %qD in % clause" +-msgstr "'%s' er et ugyldigt klassenavn" ++msgstr "%<_Atomic%> %qD i %-klausul" + + #: c/c-typeck.c:13281 + #, gcc-internal-format +@@ -40396,10 +40325,9 @@ + msgstr "" + + #: c/c-typeck.c:13336 cp/semantics.c:6634 +-#, fuzzy, gcc-internal-format +-#| msgid "`%s' is not a valid class name" ++#, gcc-internal-format + msgid "%qE is not a variable in % clause" +-msgstr "'%s' er et ugyldigt klassenavn" ++msgstr "%qE er ikke en variable i %-klausul" + + #: c/c-typeck.c:13358 cp/semantics.c:6665 + #, gcc-internal-format +@@ -40410,32 +40338,29 @@ + #: cp/semantics.c:6841 + #, gcc-internal-format + msgid "%qD appears more than once in motion clauses" +-msgstr "" ++msgstr "%qD fremgår mere end en gang i motion-klausuller" + + #: c/c-typeck.c:13388 c/c-typeck.c:13520 cp/semantics.c:6690 + #: cp/semantics.c:6845 + #, gcc-internal-format + msgid "%qD appears more than once in map clauses" +-msgstr "" ++msgstr "%qD fremgår mere end en gang i map-klausuller" + + #: c/c-typeck.c:13420 cp/semantics.c:6731 +-#, fuzzy, gcc-internal-format +-#| msgid "`%D' does not declare a template type" ++#, gcc-internal-format + msgid "%qE does not have a mappable type in %qs clause" +-msgstr "'%D' erklærer ikke en skabelonstype" ++msgstr "%qE har ikke en mappable-type i %qs-klausul" + + #: c/c-typeck.c:13480 c/c-typeck.c:13570 cp/semantics.c:6806 + #: cp/semantics.c:6945 +-#, fuzzy, gcc-internal-format +-#| msgid "`%D' does not declare a template type" ++#, gcc-internal-format + msgid "%qD does not have a mappable type in %qs clause" +-msgstr "'%D' erklærer ikke en skabelonstype" ++msgstr "%qD har ikke en mappable-type i %qs-klausul" + + #: c/c-typeck.c:13551 cp/semantics.c:6925 +-#, fuzzy, gcc-internal-format +-#| msgid "`%s' is not a valid class name" ++#, gcc-internal-format + msgid "%qE is neither a variable nor a function name in clause %qs" +-msgstr "'%s' er et ugyldigt klassenavn" ++msgstr "%qE er hverken en variabel eller et funktionsnavn i klausul %qs" + + #: c/c-typeck.c:13579 cp/semantics.c:6954 + #, gcc-internal-format +Index: gcc/po/tr.po +=================================================================== +--- a/src/gcc/po/tr.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/tr.po (.../branches/gcc-7-branch) +@@ -7,7 +7,7 @@ + msgstr "" + "Project-Id-Version: gcc 5.2.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2015-09-11 20:22+0300\n" + "Last-Translator: Nilgün Belma Bugüner \n" + "Language-Team: Turkish \n" +@@ -3107,46 +3107,46 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "Unsupported operand for code '%c'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand for '%%%c'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "terim eksik" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, fuzzy, c-format + #| msgid "invalid insn:" + msgid "invalid constant" + msgstr "geçersiz komut:" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, fuzzy, c-format + #| msgid "invalid %%d operand" + msgid "invalid operand" + msgstr "geçersiz %%d terimi" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, fuzzy, c-format + #| msgid "invalid operand code '%c'" + msgid "invalid operand prefix '%%%c'" +@@ -3311,30 +3311,30 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "terim olarak UNSPEC geçersiz" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, fuzzy, c-format + #| msgid "invalid %%f operand" + msgid "invalid shift operand" + msgstr "geçersiz %%f terimi" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "isnatlı Thumb komutu" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "koşullu dizilimde isnatlı komut" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3342,7 +3342,7 @@ + msgid "invalid operand for code '%c'" + msgstr "terim, kod `%c' için geçersiz" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, fuzzy, c-format + #| msgid "instruction never exectued" + msgid "instruction never executed" +@@ -3349,7 +3349,7 @@ + msgstr "komut hiç çalıştırılmadı" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" +@@ -4226,114 +4226,114 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "adres çözümlenemez" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid comparison operator for 'E' output modifier" + msgstr "'b' değiştirici için terim geçersiz" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid reference for 'J' output modifier" + msgstr "'b' değiştirici için terim geçersiz" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, fuzzy, c-format + #| msgid "invalid operand for 'O' modifier" + msgid "invalid address for 'O' output modifier" + msgstr "'O' değiştiricisi için terim geçersiz" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid address for 'R' output modifier" + msgstr "'b' değiştirici için terim geçersiz" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid address for 'S' output modifier" + msgstr "'b' değiştirici için terim geçersiz" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, fuzzy, c-format + #| msgid "invalid operand for 'o' modifier" + msgid "invalid constant for output modifier '%c'" + msgstr "'o' değiştiricisi için terim geçersiz" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, fuzzy, c-format + #| msgid "invalid operand output code" + msgid "invalid constant - try using an output modifier" + msgstr "geçersiz terim çıktı kodu" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, fuzzy, c-format + #| msgid "invalid operand for 'o' modifier" + msgid "invalid constant vector for output modifier '%c'" + msgstr "'o' değiştiricisi için terim geçersiz" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, fuzzy, c-format + #| msgid "invalid expression as operand" + msgid "invalid expression - try using an output modifier" + msgstr "terim olarak ifade geçersiz" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, fuzzy, c-format + #| msgid "invalid operand for 'o' modifier" + msgid "invalid expression for output modifier '%c'" + msgstr "'o' değiştiricisi için terim geçersiz" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "AltiVec argument passed to unprototyped function" + msgid "vector argument passed to unprototyped function" + msgstr "AltiVec argümanı prototipsiz işleve aktarıldı" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + #, fuzzy + #| msgid "pointer targets in return differ in signedness" + msgid "types differ in signedness" + msgstr "dönüş değerinde gösterici hedefleri farklı signed'lıkta" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + #, fuzzy + #| msgid "target format does not support infinity" + msgid "binary operator does not support vector bool operand" + msgstr "hedef biçim sonsuzu desteklemiyor" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -21487,7 +21487,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "fold sınaması: özgün ağac fold tarafından değiştirildi" +@@ -22084,8 +22084,8 @@ + msgid "null pointer dereference" + msgstr "PRINT_OPERAND boş gösterici" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -22100,300 +22100,300 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + #| msgid "Too many arguments to %s at %L" + msgid "directive argument %qE" + msgstr "%s için argümanlar %L'de çok fazla" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, fuzzy, gcc-internal-format + #| msgid "selector must be an integer constant in the range 0..%wi" + msgid "directive argument in the range [%E, %E]" + msgstr "seçici 0..%wi aralığında bir tamsayı sabit olmalı" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + #| msgid "PRINT_OPERAND null pointer" + msgid "null destination pointer" + msgstr "PRINT_OPERAND boş gösterici" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + #| msgid "%s in format string at %C" + msgid "null format string" +@@ -24712,165 +24712,165 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "makina dilinde referanslandıktan sonra %D yeniden isimlendirilmiş." + +-#: symtab.c:970 ++#: symtab.c:978 + #, fuzzy, gcc-internal-format + #| msgid "function returning a function" + msgid "function symbol is not function" + msgstr "bir işlev döndüren işlev" + +-#: symtab.c:978 ++#: symtab.c:986 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to variables" + msgid "variable symbol is not variable" + msgstr "%qs özniteliği sadece değişkenlere uygulanır" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + #| msgid "called object %qE is not a function" + msgid "node is analyzed but it is not a definition" + msgstr "çağrılan nesne %qE bir işlev değil" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, fuzzy, gcc-internal-format + #| msgid "%Jold-style function definition" + msgid "node is alias but not definition" + msgstr "%Jeski tarz işlev tanımı" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, fuzzy, gcc-internal-format + #| msgid "%Jold-style function definition" + msgid "node is transparent_alias but not an alias" + msgstr "%Jeski tarz işlev tanımı" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, fuzzy, gcc-internal-format + #| msgid "verify_ssa failed" + msgid "symtab_node::verify failed" + msgstr "verify_ssa başarısız" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, fuzzy, gcc-internal-format + #| msgid "function %q+D redeclared as inline" + msgid "function %q+D part of alias cycle" + msgstr "işlev %q+D 'inline' olarak yeniden bildirilmiş" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, fuzzy, gcc-internal-format + #| msgid "variable %q+D declared %" + msgid "variable %q+D part of alias cycle" + msgstr "% bildirimli %q+D değişkeni" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -26681,8 +26681,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -26718,97 +26718,97 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "işlev dizileri anlamlı değil" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "işlevin dönüş türü işlev olamaz" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "ağaç denetimi: %1$s, %4$s dosyasının %5$d. satırında %3$s işlevinde %2$s var" + +-#: tree.c:9868 ++#: tree.c:9876 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "ağaç denetimi: %1$s umulmuyordu, %4$s dosyasının %5$d. satırında %3$s işlevinde %2$s var" + +-#: tree.c:9881 ++#: tree.c:9889 + #, fuzzy, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "ağaç denetimi: %1$qs sınıfı umuluyordu, %5$s dosyasının %6$d. satırında %4$s işlevinde %2$qs (%3$s) var" + +-#: tree.c:9930 ++#: tree.c:9938 + #, fuzzy, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "ağaç denetimi: %1$qs sınıfı umuluyordu, %5$s dosyasının %6$d. satırında %4$s işlevinde %2$qs (%3$s) var" + +-#: tree.c:9943 ++#: tree.c:9951 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "ağaç denetimi: %1$s umulmuyordu, %4$s dosyasının %5$d. satırında %3$s işlevinde %2$s var" + +-#: tree.c:10003 ++#: tree.c:10011 + #, fuzzy, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "ağaç denetimi: %1$qs yapısını içeren ağaç umuluyordu, %4$s dosyasının %5$d. satırında %3$s işlevinde %2$qs var" + +-#: tree.c:10017 ++#: tree.c:10025 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "ağaç denetimi: %4$s dosyasının %5$d. satırında %3$s işlevinde %2$d öğelik ağaç vektörünün %1$d. öğesine erişildi" + +-#: tree.c:10029 ++#: tree.c:10037 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "ağaç denetimi: %4$s dosyasının %5$d. satırında %3$s işlevinde %2$d öğelik ağaç vektörünün %1$d. öğesine erişildi" + +-#: tree.c:10042 ++#: tree.c:10050 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "ağaç denetimi: %5$s dosyasının %6$d. satırında %4$s işlevinde %3$d terimli %2$s düğümünün %1$d. terimine erişildi" + +-#: tree.c:10055 ++#: tree.c:10063 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "ağaç denetimi: %5$s dosyasının %6$d. satırında %4$s işlevinde %3$d terimli %2$s düğümünün %1$d. terimine erişildi" + +-#: tree.c:12867 ++#: tree.c:12875 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qD is deprecated: %s" + msgstr "%qs önerilmiyor" + +-#: tree.c:12870 ++#: tree.c:12878 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qD is deprecated" + msgstr "%qs önerilmiyor" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qE is deprecated: %s" + msgstr "%qs önerilmiyor" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qE is deprecated" + msgstr "%qs önerilmiyor" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "type is deprecated" + msgid "type is deprecated: %s" + msgstr "tür önerilmiyor" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "tür önerilmiyor" +@@ -26835,267 +26835,267 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, fuzzy, gcc-internal-format + #| msgid "%s:stamp mismatch with graph file\n" + msgid "first mismatch is field" + msgstr "%s: zaman damgası çizge dosyası ile çelişiyor\n" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, fuzzy, gcc-internal-format + #| msgid "-march=%s is not compatible with the selected ABI" + msgid "type is not compatible with its variant" + msgstr "-march=%s seçilen ABI ile uyumsuz" + +-#: tree.c:13851 ++#: tree.c:13859 + #, fuzzy, gcc-internal-format + #| msgid "environment variable DJGPP not defined" + msgid "Main variant is not defined" + msgstr "ortam değişkeni DJGPP atanmamış" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qs has non-integer type" + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "%qs dizisinin boyutu tamsayı tür değil" + +-#: tree.c:14092 ++#: tree.c:14100 + #, fuzzy, gcc-internal-format + #| msgid "field %qs has incomplete type" + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "%qs alanı tamamlanmamış türde" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, fuzzy, gcc-internal-format + #| msgid "verify_stmts failed" + msgid "verify_type failed" +@@ -28167,13 +28167,13 @@ + msgid "% attribute specified with a parameter" + msgstr "öntanımlı argüman %2$q#D bildiriminin %1$d. parametresi için" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "%qE işlevi için çok az argüman belirtildi" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "%qE işlevi için çok fazla argüman belirtildi" +@@ -28268,81 +28268,81 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qs is too large" + msgid "size of array is too large" + msgstr "%qs dizisinin boyutu çok büyük" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, fuzzy, gcc-internal-format + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "%2$qE işlevinin %1$d. argümanı için tür uyumsuz" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to function %qE" + msgid "incorrect number of arguments to function %qE" + msgstr "%qE işlevi için çok az argüman belirtildi" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs must be a 2-bit unsigned literal" + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "%qs argümanı 2 bitlik işaretsiz bir sabit olmalı" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, fuzzy, gcc-internal-format + #| msgid "%Hfirst argument of %D must be a pointer, second integer constant" + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "%H%D için ilk argüman bir gösterici, ikinci argüman sabit olmalıdır" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, fuzzy, gcc-internal-format + #| msgid "%Hfirst argument of %D must be a pointer, second integer constant" + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "%H%D için ilk argüman bir gösterici, ikinci argüman sabit olmalıdır" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "%2$qE işlevinin %1$d. argümanına uyumsuz gösterici türünde aktarım" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + #| msgid "%Hfirst argument of %D must be a pointer, second integer constant" + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "%H%D için ilk argüman bir gösterici, ikinci argüman sabit olmalıdır" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "%2$qE işlevinin %1$d. argümanına uyumsuz gösterici türünde aktarım" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, fuzzy, gcc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "size mismatch in argument %d of %qE" + msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, fuzzy, gcc-internal-format + #| msgid "invalid type argument of %qs" + msgid "invalid memory model argument %d of %qE" + msgstr "%qs için tür argümanı geçersiz" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, fuzzy, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "%2$qE işlevinin %1$d. argümanı için tür uyumsuz" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, fuzzy, gcc-internal-format + #| msgid "Substring end index at %L is out of bounds" + msgid "index value is out of bound" + msgstr "%L'deki altdizge son indisi sınırların dışında" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, fuzzy, gcc-internal-format + #| msgid "conversion from %qT to %qT is ambiguous" +@@ -28351,25 +28351,25 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, fuzzy, gcc-internal-format + #| msgid "built-in function %q+D declared as non-function" + msgid "built-in function %qE must be directly called" + msgstr "yerleşik işlev `%q+D işlev olarak bildirilmemiş" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qs is too large" + msgid "size of array %qE is too large" + msgstr "%qs dizisinin boyutu çok büyük" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qs is too large" + msgid "size of unnamed array is too large" + msgstr "%qs dizisinin boyutu çok büyük" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -30266,7 +30266,7 @@ + msgid "too many input files" + msgstr "girdi dosyası sayısı çok fazla" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, fuzzy, gcc-internal-format + #| msgid "bad value %qs for -mcpu switch" + msgid "unknown value %qs for -mcpu" +@@ -30753,207 +30753,207 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "assert: %s %s ile uyumlu atanıyor" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid floating point option: -mfpu=%s" + msgid "tuning string missing in option (%s)" + msgstr "geçersiz gerçel değer seçeneği: -mfpu=%s" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unknown spec function '%s'" + msgid "unknown tuning option (%s)" + msgstr "bilinmeyen '%s' spec işlevi" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, fuzzy, gcc-internal-format + #| msgid "invalid argument of %qs attribute" + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "%qs özniteliğinin argümanı geçersiz" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, fuzzy, gcc-internal-format + #| msgid "missing path after %qs" + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "%qs den sonra yol eksik" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + #| msgid "missing filename after %qs" + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "%qs den sonra dosyaismi yok" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, fuzzy, gcc-internal-format + #| msgid "missing path after %qs" + msgid "missing arch name in %<-march=%s%>" + msgstr "%qs den sonra yol eksik" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, fuzzy, gcc-internal-format + #| msgid "Unknown value %qs of -mmacosx-version-min" + msgid "unknown value %qs for -march" + msgstr "-mmacosx-version-min için %qs değeri bilinmiyor" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + #| msgid "missing filename after %qs" + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "%qs den sonra dosyaismi yok" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, fuzzy, gcc-internal-format + #| msgid "missing path after %qs" + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "%qs den sonra yol eksik" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, fuzzy, gcc-internal-format + #| msgid "Unknown value %qs of -mmacosx-version-min" + msgid "unknown value %qs for -mtune" + msgstr "-mmacosx-version-min için %qs değeri bilinmiyor" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "switch -mcpu=%s conflicts with -march= switch" + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "-mcpu=%s ile -march= seçenekleri çelişiyor" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, fuzzy, gcc-internal-format + #| msgid "does not support multilib" + msgid "Assembler does not support -mabi=ilp32" + msgstr "multilib desteklenmiyor" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "missing path after %qs" + msgid "missing architecture name in 'arch' target %s" + msgstr "%qs den sonra yol eksik" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, fuzzy, gcc-internal-format + #| msgid "Unknown value %qs of -mmacosx-version-min" + msgid "unknown value %qs for 'arch' target %s" + msgstr "-mmacosx-version-min için %qs değeri bilinmiyor" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, fuzzy, gcc-internal-format + #| msgid "missing filename after %qs" + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "%qs den sonra dosyaismi yok" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "missing path after %qs" + msgid "missing cpu name in 'cpu' target %s" + msgstr "%qs den sonra yol eksik" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, fuzzy, gcc-internal-format + #| msgid "bad value %qs for -mcpu switch" + msgid "unknown value %qs for 'cpu' target %s" + msgstr "-mcpu seçeneği için değer %qs hatalı" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, fuzzy, gcc-internal-format + #| msgid "missing filename after %qs" + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "%qs den sonra dosyaismi yok" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, fuzzy, gcc-internal-format + #| msgid "Unknown value %qs of -mmacosx-version-min" + msgid "unknown value %qs for 'tune' target %s" + msgstr "-mmacosx-version-min için %qs değeri bilinmiyor" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + #| msgid "missing filename after %qs" + msgid "missing feature modifier in target %s %qs" + msgstr "%qs den sonra dosyaismi yok" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + #| msgid "missing filename after %qs" + msgid "invalid feature modifier in target %s %qs" + msgstr "%qs den sonra dosyaismi yok" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed spec function arguments" + msgid "malformed target %s" + msgstr "belirtim işlevinin argümanları bozuk" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, fuzzy, gcc-internal-format + #| msgid "%q+D takes only zero or two arguments" + msgid "target %s %qs does not accept an argument" + msgstr "%q+D ya iki argüman alır ya da hiç almaz" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, fuzzy, gcc-internal-format + #| msgid "target system does not support the \"%s\" debug format" + msgid "target %s %qs does not allow a negated form" + msgstr "hedef sistem \"%s\" hata ayıklama biçimini desteklemiyor" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "spec '%s' is invalid" + msgid "target %s %s=%s is not valid" + msgstr "spec '%s' geçersiz" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + #| msgid "alias argument not a string" + msgid "attribute % argument not a string" + msgstr "alias argümanı bir dizge değil" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed spec function name" + msgid "malformed target %s value" + msgstr "bozuk spec işlevi ismi" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + #| msgid "multilib select '%s' is invalid" + msgid "target %s %qs is invalid" + msgstr "multilib seçimi '%s' geçersiz" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" +@@ -31379,66 +31379,66 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, fuzzy, gcc-internal-format + #| msgid "-fpic and -mapcs-reent are incompatible" + msgid "iWMMXt and NEON are incompatible" + msgstr "-fpic ve -mapcs-reent uyumsuz" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "target CPU does not support ARM mode" + msgstr "hedef işlemci beraber çalışmayı desteklemiyor" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "geri izleme desteğinin etkinleştirilmesi sadece Thumb komut seti için derleme yapılırken anlamlidir" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "çağrılan ile birlikte çalışma desteğinin etkinleştirilmesi sadece Thumb için derleme esnasında anlamlıdır" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g ile -mno-apcs-frame anlamlı hata ayıklama bilgisi vermeyebilir" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, fuzzy, gcc-internal-format + #| msgid "can not use -mtp=cp15 with -mthumb" + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "-mtp=cp15, -mthumb ile kullanılamaz" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, fuzzy, gcc-internal-format + #| msgid "assert: %s is assign compatible with %s" + msgid "RTP PIC is incompatible with Thumb" + msgstr "assert: %s %s ile uyumlu atanıyor" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "hedef işlemci THUMB komutlarını desteklemiyor" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "target CPU does not support unaligned accesses" +@@ -31446,136 +31446,142 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, fuzzy, gcc-internal-format + #| msgid "-fPIC is not currently supported on the 68000 or 68010" + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-fPIC su an 68000 veya 68010 için desteklenmiyor" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "hedef işlemci beraber çalışmayı desteklemiyor" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check ile -mno-apcs-frame uyumsuz" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic ve -mapcs-reent uyumsuz" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "APCS yeniden girişli kod desteklenmiyor. Yoksayıldi" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + #| msgid "-mrelocatable and -msdata=%s are incompatible" + msgid "selected fp16 options are incompatible" + msgstr "-mrelocatable ile -msdata=%s uyumsuz" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "iwmmxt, düzgün işlem için ABI uyumlu bir AAPCS gerektiriyor" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "iwmmxt abi bir iwmmxt yetenekli işlemci gerektiriyor" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "hedef işlemci beraber çalışmayı desteklemiyor" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "hedef işlemci beraber çalışmayı desteklemiyor" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, fuzzy, gcc-internal-format + #| msgid "-mfloat-abi=hard and VFP" + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "-mfloat-abi=hard ve VFP" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mfloat-abi=hard ve VFP" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, fuzzy, gcc-internal-format + #| msgid "structure size boundary can only be set to %s" + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "veri yapısı boyut sınırı sadece %s ye ayarlanabilir" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, fuzzy, gcc-internal-format + #| msgid "structure size boundary can only be set to %s" + msgid "structure size boundary can only be set to 8 or 32" + msgstr "veri yapısı boyut sınırı sadece %s ye ayarlanabilir" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register=, -fpic olmaksızın kullanışsız" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "PIC yazmacı için '%s' kullanılamıyor" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-freorder-blocks-and-partition bu mimaride çalışmaz" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support THUMB instructions" + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "hedef işlemci THUMB komutlarını desteklemiyor" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -31592,79 +31598,79 @@ + msgid "%qE attribute only applies to functions" + msgstr "%qs özniteliği sadece işlevlere uygulanır" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to functions" + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "%qs özniteliği sadece işlevlere uygulanır" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qD must not have variable number of arguments" + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "%qD değişken sayıda argümana sahip olmamalı" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to functions" + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "%qs özniteliği sadece işlevlere uygulanır" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute ignored without -mcmse option." + msgstr "%qE özniteliği sınıf türleri dışında yoksayılır" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute have effect only on public objects" + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "%qE özniteliği sadece genel nesnelerde etkilidir" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to function types" + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "%qs özniteliği sadece işlev türlerine uygulanır" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "yığıttaki parametrenin gerçek konumu hesaplanamıyor" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected end of module" + msgid "Unexpected thumb1 far jump" + msgstr "Beklenmeyen modül sonu" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "yüksek yazmaçları çekmeye elverişli düşük yazmaç yok" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "sistem kesmesi Servis İşlemleri Thumb kipinde kodlanamaz" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid vector type for attribute %qE" + msgid "invalid fpu for attribute(target(\"%s\"))" +@@ -31673,13 +31679,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "" +@@ -34544,7 +34550,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "%q+D ya iki argüman alır ya da hiç almaz" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, fuzzy, gcc-internal-format + #| msgid "%q+D takes only zero or two arguments" + msgid "vec_adde only accepts 3 arguments" +@@ -34556,46 +34562,46 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "%q+D ya iki argüman alır ya da hiç almaz" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%q+D takes only zero or two arguments" + msgid "%s only accepts %d arguments" + msgstr "%q+D ya iki argüman alır ya da hiç almaz" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%q+D takes only zero or two arguments" + msgid "%s only accepts 1 argument" + msgstr "%q+D ya iki argüman alır ya da hiç almaz" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%q+D takes only zero or two arguments" + msgid "%s only accepts 2 arguments" + msgstr "%q+D ya iki argüman alır ya da hiç almaz" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "%2$qE işlevinin %1$d. argümanın aktarımı gösterici hedef türündeki niteleyicileri iptal ediyor" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "-m%s not supported in this configuration" + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "-m%s bu yapılandırmada desteklenmiyor" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid parameter combination for AltiVec intrinsic" + msgid "invalid parameter combination for AltiVec intrinsic %s" +@@ -35729,112 +35735,112 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "Yerel değişkenlerin toplam boyutu mimarinin izin verdigi sınırı aşıyor" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, fuzzy, gcc-internal-format + #| msgid "frame size of %qs is " + msgid "frame size of %qs is %wd bytes" + msgstr "%qs çerçevi boyutu " + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "%qs özdevimli yığıt tahsisi kullanıyor" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "z/Architecture kipi %s üzerinde desteklenmiyor" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "ESA/390 kipinde 64 bitlik ABI desteklenmiyor." + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Restrict the use of hardware floating-point instructions to 32-bit operations" + msgid "hardware vector support not available on %s" + msgstr "Donanım kayan nokta komutlarının kullanımını 32 bitlik işlemlerle sınırlar" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Restrict the use of hardware floating-point instructions to 32-bit operations" + msgid "hardware decimal floating point instructions not available on %s" + msgstr "Donanım kayan nokta komutlarının kullanımını 32 bitlik işlemlerle sınırlar" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "-mbackchain -mpacked-stack -mhard-float bir arada desteklenmiyor" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "yığıt boyutunun yığıt koruma değerinden büyük olması gerekir" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "yığıt boyutu 64k'dan büyük olmamalıdır" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "-mstack-guard, -mstack-size uyguluyor" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + #| msgid "argument to \"%s\" should be a non-negative integer" + msgid "arguments to %qs should be non-negative integers" + msgstr "\"%s\" için argüman sıfır ya da pozitif bir tamsayı olmalı" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs attribute larger than %d" + msgid "argument to %qs is too large (max. %d)" +@@ -35841,7 +35847,7 @@ + msgstr "%qs özniteliğine argüman %d den büyük" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + #| msgid "__builtin_saveregs not supported by this target" + msgid "value %qs is not supported by attribute %" +Index: gcc/po/be.po +=================================================================== +--- a/src/gcc/po/be.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/be.po (.../branches/gcc-7-branch) +@@ -6,7 +6,7 @@ + msgstr "" + "Project-Id-Version: gcc 3.1\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2002-05-17 15:54+0200\n" + "Last-Translator: Ales Nyakhaychyk \n" + "Language-Team: Belarusian \n" +@@ -2843,43 +2843,43 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, fuzzy, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, fuzzy, c-format + msgid "invalid operand for '%%%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, fuzzy, c-format + msgid "missing operand" + msgstr "прапушчан ініцыялізатар" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, fuzzy, c-format + msgid "invalid constant" + msgstr "Нерэчаісны выбар %s" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, fuzzy, c-format + #| msgid "invalid %%d operand" + msgid "invalid operand" + msgstr "нерэчаісны %%d аперанд" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, fuzzy, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "Нерэчаісны выбар \"%s\"" +@@ -3038,30 +3038,30 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "нерэчаісны %%-код" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, fuzzy, c-format + #| msgid "invalid %%f operand" + msgid "invalid shift operand" + msgstr "нерэчаісны %%f аперанд" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, fuzzy, c-format + msgid "predicated Thumb instruction" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3069,13 +3069,13 @@ + msgid "invalid operand for code '%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" +@@ -3916,100 +3916,100 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, fuzzy, c-format + msgid "cannot decompose address" + msgstr "невядомая назва рэгістра: %s" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "too few arguments to function" + msgid "vector argument passed to unprototyped function" + msgstr "не хапае аргументаў у функцыі" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + msgid "types differ in signedness" + msgstr "" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -18089,7 +18089,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "" +@@ -18647,8 +18647,8 @@ + msgid "null pointer dereference" + msgstr "" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -18663,297 +18663,297 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, gcc-internal-format + msgid "directive argument %qE" + msgstr "" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, gcc-internal-format + msgid "null destination pointer" + msgstr "" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, gcc-internal-format + msgid "null format string" + msgstr "" +@@ -21153,159 +21153,159 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "" + +-#: symtab.c:970 ++#: symtab.c:978 + #, fuzzy, gcc-internal-format + #| msgid "function does not return string type" + msgid "function symbol is not function" + msgstr "функцыя не вяртае тып string" + +-#: symtab.c:978 ++#: symtab.c:986 + #, fuzzy, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, fuzzy, gcc-internal-format + #| msgid "label `%s' used but not defined" + msgid "node is alias but not definition" + msgstr "адмеціна `%s' выкарыстоўвываецца, але ня вызначана" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -22991,8 +22991,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -23029,92 +23029,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "" + +-#: tree.c:10017 ++#: tree.c:10025 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:12867 ++#: tree.c:12875 + #, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "" + +-#: tree.c:12870 ++#: tree.c:12878 + #, gcc-internal-format + msgid "%qD is deprecated" + msgstr "" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "" +@@ -23141,263 +23141,263 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "" + +-#: tree.c:13851 ++#: tree.c:13859 + #, gcc-internal-format + msgid "Main variant is not defined" + msgstr "" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%D' has non-integer type" + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "памер масіва `%D' не цэлалікавы тып" + +-#: tree.c:14092 ++#: tree.c:14100 + #, fuzzy, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, gcc-internal-format + msgid "verify_type failed" + msgstr "" +@@ -24409,7 +24409,7 @@ + msgid "% attribute specified with a parameter" + msgstr "" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to function" +@@ -24416,7 +24416,7 @@ + msgid "too few arguments to function %qE" + msgstr "не хапае аргументаў у функцыі" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to function" + msgid "too many arguments to function %qE" +@@ -24506,74 +24506,74 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%s' is too large" + msgid "size of array is too large" + msgstr "памер масіва \"%s\" вельмі вялікі" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, gcc-internal-format + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to function `%s'" + msgid "incorrect number of arguments to function %qE" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -24581,24 +24581,24 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%s' is too large" + msgid "size of array %qE is too large" + msgstr "памер масіва \"%s\" вельмі вялікі" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%s' is too large" + msgid "size of unnamed array is too large" + msgstr "памер масіва \"%s\" вельмі вялікі" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -26393,7 +26393,7 @@ + msgid "too many input files" + msgstr "вельмі шмат уваходзячых файлаў" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "" +@@ -26856,180 +26856,180 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "Нераспазнаны выбар \"%s\"" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "невядомая назва рэгістра: %s\n" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support %s" + msgid "Assembler does not support -mabi=ilp32" + msgstr "%s не падтрымлівае %s" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, gcc-internal-format + msgid "target %s %qs does not allow a negated form" + msgstr "" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" + msgstr "" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" +@@ -27441,62 +27441,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" +@@ -27503,127 +27503,133 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, gcc-internal-format + msgid "selected fp16 options are incompatible" + msgstr "" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, fuzzy, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -27639,72 +27645,72 @@ + msgid "%qE attribute only applies to functions" + msgstr "\"%s\" звычайна функцыя" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, gcc-internal-format + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + msgid "%qE attribute ignored without -mcmse option." + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "\"%s\" звычайна функцыя" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, gcc-internal-format, gfc-internal-format + msgid "invalid fpu for attribute(target(\"%s\"))" + msgstr "" +@@ -27712,13 +27718,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "" +@@ -30365,7 +30371,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "" +@@ -30375,42 +30381,42 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, gcc-internal-format + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, gcc-internal-format, gfc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %s" + msgstr "" +@@ -31469,116 +31475,116 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, fuzzy, gcc-internal-format + #| msgid "size of `%s' is %d bytes" + msgid "frame size of %qs is %wd bytes" + msgstr "памер \"%s\" - %d байт" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "-pipe не падтрымліваецца" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + #| msgid "first argument of `%s' should be `int'" + msgid "arguments to %qs should be non-negative integers" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "памер \"%s\" больш чам %d байт" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" +Index: gcc/po/ru.po +=================================================================== +--- a/src/gcc/po/ru.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/ru.po (.../branches/gcc-7-branch) +@@ -12,7 +12,7 @@ + msgstr "" + "Project-Id-Version: gcc 6.1.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2016-05-25 15:46+0300\n" + "Last-Translator: Pavel Maryanov \n" + "Language-Team: Russian \n" +@@ -3103,45 +3103,45 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Неподдерживаемый операнд для кода '%c'" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand for '%%%c'" + msgstr "недопустимый операнд для кода '%c'" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "отсутствует операнд" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, fuzzy, c-format + #| msgid "invalid insn:" + msgid "invalid constant" + msgstr "недопустимая инструкция:" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, fuzzy, c-format + #| msgid "invalid %%d operand" + msgid "invalid operand" + msgstr "некорректный операнд для %%d" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, fuzzy, c-format + #| msgid "invalid operand code '%c'" + msgid "invalid operand prefix '%%%c'" +@@ -3306,29 +3306,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "некорректный операнд UNSPEC" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "некорректный оператор сдвига" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "предикативная инструкция для архитектуры Thumb" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "предикативная инструкция в условной последовательности" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3336,13 +3336,13 @@ + msgid "invalid operand for code '%c'" + msgstr "недопустимый операнд для кода '%c'" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "инструкция никогда не выполняется" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, fuzzy, c-format + #| msgid "Unsupported operand for code '%c'" + msgid "obsolete Maverick format code '%c'" +@@ -4186,103 +4186,103 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "символьные ссылки на память поддерживаются только для z10 или более поздних версий" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "ошибка при декомпозиции адреса" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "некорректный оператор сравнения для 'E' модификатора вывода" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "некорректная ссылка для 'J' модификатора вывода" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "некорректный адрес для 'O' модификатора вывода" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "некорректный адрес для 'R' модификатора вывода" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "ожидалась ссылка на память для 'S' модификатора вывода" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "некорректный адрес для 'S' модификатора вывода" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "ожидалось выражении из регистров и памяти для 'N' модификатора вывода" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "ожидался регистр или выражение памяти для модификатора вывода 'M'" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "некорректная константа для модификатора вывода '%c'" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "некорректная константа - попытайтесь использовать модификатор вывода" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, fuzzy, c-format + #| msgid "invalid constant for output modifier '%c'" + msgid "invalid constant vector for output modifier '%c'" + msgstr "некорректная константа для модификатора вывода '%c'" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "некорректное выражение - попытайтесь использовать модификатор вывода" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "некорректное выражение для модификатора вывода '%c'" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "AltiVec argument passed to unprototyped function" + msgid "vector argument passed to unprototyped function" + msgstr "Аргумент AltiVec передан в функцию без прототипа" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + #, fuzzy + #| msgid "pointer targets in return differ in signedness" + msgid "types differ in signedness" + msgstr "при возврате результата указуемые типы различаются знаковостью" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -21426,7 +21426,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "предполагается, что при комбинировании констант вокруг сравнения не произошло переполнение" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "проверка fold: исходное дерево изменено функцией fold" +@@ -21982,8 +21982,8 @@ + msgid "null pointer dereference" + msgstr "нулевой указатель" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -21997,300 +21997,300 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + #| msgid "Extension: Negative argument N at %L" + msgid "directive argument %qE" + msgstr "Расширение: Отрицательный аргумент N в %L" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, fuzzy, gcc-internal-format + #| msgid "disable pass %s for functions in the range of [%u, %u]" + msgid "directive argument in the range [%E, %E]" + msgstr "отключить проход %s для функций в диапазоне [%u, %u]" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + #| msgid "null pointer" + msgid "null destination pointer" + msgstr "нулевой указатель" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + #| msgid "%s in format string at %L" + msgid "null format string" +@@ -24600,7 +24600,7 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "переименование %D после ссылки в ассемблерном коде" + +-#: symtab.c:970 ++#: symtab.c:978 + #, fuzzy, gcc-internal-format + #| msgid "function returning a function" + msgid "function symbol is not function" +@@ -24607,163 +24607,163 @@ + msgstr "функция возвращает функцию" + + # +-#: symtab.c:978 ++#: symtab.c:986 + #, fuzzy, gcc-internal-format + #| msgid "array is not addressable" + msgid "variable symbol is not variable" + msgstr "массив неадресуем" + +-#: symtab.c:984 ++#: symtab.c:992 + #, fuzzy, gcc-internal-format + #| msgid "node has wrong clone list" + msgid "node has unknown type" + msgstr "узел имеет некорректный список клонов" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, fuzzy, gcc-internal-format + #| msgid "node not found in cgraph_hash" + msgid "node not found in symtab assembler name hash" + msgstr "не найден узел в cgraph_hash" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, fuzzy, gcc-internal-format + #| msgid "double linked list of clones corrupted" + msgid "double linked list of assembler names corrupted" + msgstr "испорчен двусвязный список клонов" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, fuzzy, gcc-internal-format + #| msgid "%qD used before its definition" + msgid "node has body_removed but is definition" + msgstr "%qD использована до своего определения" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + #| msgid "node is in clone list but it is not clone" + msgid "node is analyzed but it is not a definition" + msgstr "узел в списке клонов, но не является клоном" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, fuzzy, gcc-internal-format + #| msgid "node is in clone list but it is not clone" + msgid "node is alias but not definition" + msgstr "узел в списке клонов, но не является клоном" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, fuzzy, gcc-internal-format + #| msgid "node is in clone list but it is not clone" + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "узел в списке клонов, но не является клоном" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, fuzzy, gcc-internal-format + #| msgid "same_comdat_group is not a circular list" + msgid "same_comdat_group list across different groups" + msgstr "same_comdat_group не является циклическим списком" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "только один узел в comdat группе" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group не является циклическим списком" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, fuzzy, gcc-internal-format + #| msgid "node is alone in a comdat group" + msgid "Both section and comdat group is set" + msgstr "только один узел в comdat группе" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, fuzzy, gcc-internal-format + #| msgid "verify_ssa failed" + msgid "symtab_node::verify failed" + msgstr "процедура verify_ssa выявила ошибки" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "функция %q+D является частью цикла алиасов" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "переменная %q+D входит в цикл алиасов" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -26466,8 +26466,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -26503,95 +26503,95 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qE предполагает видимость по умолчанию, но %qD уже был декларирован с другим атрибутом видимости" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "массивы функций не имеют осмысленной интерпретации" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "результат функции не может иметь тип функции" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "дерево: %s, имеется %s в %s, на %s:%d" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "дерево: не ожидалось ничего из %s, обнаружено %s в %s, на %s:%d" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "дерево: ожидался класс %qs, обнаружен %qs (%s) в %s, на %s:%d" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "дерево: не ожидался класс %qs, обнаружен %qs (%s) в %s, на %s:%d" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "дерево: ожидалось omp_clause %s, обнаружено %s в %s, на %s:%d" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "дерево: ожидалось дерево, содержащее структуру %qs, обнаружено %qs в %s, на %s:%d" + +-#: tree.c:10017 ++#: tree.c:10025 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "дерево: доступ к элементу %d вектора tree_vec с %d элементами в %s, на %s:%d" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "дерево: доступ к элементу %d вектора tree_vec с %d элементами в %s, на %s:%d" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "дерево: доступ к операнду %d функции %s с %d операндами в %s, в %s:%d" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "дерево: доступ к операнду %d функции omp_clause %s с %d операндами в %s, в %s:%d" + +-#: tree.c:12867 ++#: tree.c:12875 + #, fuzzy, gcc-internal-format + #| msgid "%qE is deprecated: %s" + msgid "%qD is deprecated: %s" + msgstr "%qE устаревшее: %s" + +-#: tree.c:12870 ++#: tree.c:12878 + #, fuzzy, gcc-internal-format + #| msgid "%qE is deprecated" + msgid "%qD is deprecated" + msgstr "имя %qE будет исключено в будущих версиях" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "%qE устаревшее: %s" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "имя %qE будет исключено в будущих версиях" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "поддержка данного типа будет исключена в будущих версиях: %s" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "поддержка данного типа будет исключена в будущих версиях" +@@ -26618,266 +26618,266 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not compatible with %qD" + msgid "type is not compatible with its variant" + msgstr "%qD не совместим с %qD" + +-#: tree.c:13851 ++#: tree.c:13859 + #, fuzzy, gcc-internal-format + #| msgid "environment variable %qs not defined" + msgid "Main variant is not defined" + msgstr "переменная окружения %qs не определена" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qE has non-integer type" + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "размер массива %qE имеет не целочисленный тип" + +-#: tree.c:14092 ++#: tree.c:14100 + #, fuzzy, gcc-internal-format + #| msgid "field %qE has incomplete type" + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "поле %qE имеет неполный тип" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, fuzzy, gcc-internal-format + #| msgid "verify_gimple failed" + msgid "verify_type failed" +@@ -27911,13 +27911,13 @@ + msgid "% attribute specified with a parameter" + msgstr "задан аргумент по умолчанию для lambda-параметра" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "слишком мало аргументов в вызове функции %qE" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "слишком много аргументов в вызове функции %qE" +@@ -28008,75 +28008,75 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "индекс %E обозначает смещение, превышающее размер %qT" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "размер массива слишком велик" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "несовместимый тип аргумента %d функции %qE" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "неправильное число аргументов в вызове функции %qE" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "аргумент 1 для %qE должен быть не-void указателем" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "аргумент 1 для %qE должен быть типом с константным размером" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "аргумент 1 для %qE должен быть указателем на объект ненулевого размера" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "аргумент %d для %qE должен быть указателем" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + #| msgid "argument 1 of %qE must be a pointer to a constant size type" + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "аргумент 1 для %qE должен быть типом с константным размером" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + #| msgid "argument %d of %qE must be a pointer type" + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "аргумент %d для %qE должен быть указателем" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "несоответствие размера в аргументе %d для %qE" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "некорректный аргумент %d модели памяти для %qE" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "нецелочисленный аргумент %d модели памяти для %qE" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "значение индекса вне диапазона" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, fuzzy, gcc-internal-format + #| msgid "conversion of scalar to vector involves truncation" +@@ -28085,23 +28085,23 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, fuzzy, gcc-internal-format + #| msgid "built-in function %qD takes one argument only" + msgid "built-in function %qE must be directly called" + msgstr "внутренняя функция %qD принимает только один аргумент" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "размер массива %qE слишком велик" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "размер безымянного массива слишком велик" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -29905,7 +29905,7 @@ + msgstr "слишком много входных файлов" + + # +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for -mcpu" +@@ -30384,47 +30384,47 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "%qs несовместим с %qs" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Invalid range %s in option %s" + msgid "tuning string missing in option (%s)" + msgstr "некорректный диапазон %s для ключа %s" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unknown spec function %qs" + msgid "unknown tuning option (%s)" + msgstr "неизвестная функция %qs в спецификации" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "допустимые аргументы %qs: %s" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, fuzzy, gcc-internal-format + #| msgid "missing path after %qs" + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "не задан маршрут после %qs" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + #| msgid "invalid pointer mode %qs" + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "неизвестная машинный режим %qs для указателя" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, fuzzy, gcc-internal-format + #| msgid "missing path after %qs" + msgid "missing arch name in %<-march=%s%>" +@@ -30431,19 +30431,19 @@ + msgstr "не задан маршрут после %qs" + + # +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for -march" + msgstr "неизвестное значение %s для ключа -mfpu" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + #| msgid "invalid data model option -mdata-model=%s" + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "некорректная опция модели данных -mdata-model=%s" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, fuzzy, gcc-internal-format + #| msgid "missing filename after %qs" + msgid "missing cpu name in %<-mtune=%s%>" +@@ -30450,51 +30450,51 @@ + msgstr "не задано имя файла после %qs" + + # +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for -mtune" + msgstr "неизвестное значение %s для ключа -mfpu" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "ключ -mcpu=%s несовместим с ключом -march=%s" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, fuzzy, gcc-internal-format + #| msgid "does not support multilib" + msgid "Assembler does not support -mabi=ilp32" + msgstr "не поддерживает мультибиблиотеку" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "" + + # +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for 'arch' target %s" + msgstr "неизвестное значение %s для ключа -mfpu" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "missing makefile target after %qs" + msgid "missing cpu name in 'cpu' target %s" +@@ -30501,91 +30501,91 @@ + msgstr "не задана цель после %qs" + + # +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for 'cpu' target %s" + msgstr "неизвестное значение %s для ключа -mfpu" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "" + + # +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for 'tune' target %s" + msgstr "неизвестное значение %s для ключа -mfpu" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + #| msgid "missing makefile target after %qs" + msgid "missing feature modifier in target %s %qs" + msgstr "не задана цель после %qs" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + #| msgid "invalid memory model argument %d of %qE" + msgid "invalid feature modifier in target %s %qs" + msgstr "некорректный аргумент %d модели памяти для %qE" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed spec function arguments" + msgid "malformed target %s" + msgstr "некорректные аргументы spec-функции" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, fuzzy, gcc-internal-format + #| msgid "%s only accepts 1 argument" + msgid "target %s %qs does not accept an argument" + msgstr "%s принимает только 1 аргумент" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, fuzzy, gcc-internal-format + #| msgid "matching constraint does not allow a register" + msgid "target %s %qs does not allow a negated form" + msgstr "ограничитель не допускает использование регистра" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s\"%s\"%s is invalid" + msgid "target %s %s=%s is not valid" + msgstr "%s\"%s\"%s некорректно" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + #| msgid "attribute %qE argument not a string" + msgid "attribute % argument not a string" + msgstr "аргумент атрибута %qE не является строковой константой" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed #pragma call" + msgid "malformed target %s value" + msgstr "некорректный синтаксис #pragma call" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + #| msgid "%s\"%s\"%s is invalid" + msgid "target %s %qs is invalid" + msgstr "%s\"%s\"%s некорректно" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" +@@ -31010,63 +31010,63 @@ + msgstr "" + + # +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, fuzzy, gcc-internal-format + #| msgid "-fPIC and -G are incompatible" + msgid "iWMMXt and NEON are incompatible" + msgstr "ключи -fPIC и -G несовместимы" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "целевой процессор не поддерживает режим ARM" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "поддержка backtrace имеет смысл только для Thumb" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "-mcallee-super-interworking имеет смысл только при компиляции для Thumb" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g с -mno-apcs-frame может создать проблемы при отладке" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "недопустимо использовать -mtp=cp15 с 16-битным Thumb" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "позиционно-независимый RTP несовместим с Thumb" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "целевой процессор не поддерживает команды THUMB" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "целевой процессор не поддерживает невыровненные доступы" +@@ -31073,131 +31073,137 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, fuzzy, gcc-internal-format + #| msgid "-mpcrel -fPIC is not currently supported on selected cpu" + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-mpcrel -fPIC в настоящее время не поддерживается на выбранном процессоре" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "целевой процессор не поддерживает interworking" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "ключ -mapcs-stack-check несовместим с -mno-apcs-frame" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "ключи -fpic и -mapcs-reent несовместимы" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "реентерабельный код APCS не поддерживается. Ключ игнорируется." + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + #| msgid "-mrelocatable and -msdata=%s are incompatible" + msgid "selected fp16 options are incompatible" + msgstr "ключи -mrelocatable и -msdata=%s несовместимы" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "iwmmxt требует AAPCS совместимого ABI для правильной работы" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "для работы с iwmmxt ABI требуется процессор с поддержкой iwmmxt" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "AAPCS не поддерживает -mcaller-super-interworking" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "AAPCS не поддерживает -mcaller-super-interworking" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "__fp16 и нет ldrh" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, fuzzy, gcc-internal-format + #| msgid "-mfloat-abi=hard and VFP" + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "-mflat-abi=hard и VFP" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mflat-abi=hard и VFP" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "граница размера структуры может быть только 8, 32 или 64" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "граница размера структуры может быть только 8 или 32" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "позиционно-независимый RTP несовместим с -msingle-pic-base" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= не имеет смысла без -fpic" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "использование '%s' как PIC-регистра невозможно" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-freorder-blocks-and-partition не поддерживается на этой архитектуре" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support THUMB instructions" + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "целевой процессор не поддерживает команды THUMB" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "non-AAPCS производный PCS вариант" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "вариантные функции должны использовать базовый AAPCS вариант" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "PCS вариант" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "Thumb-1 аппаратный плавающий VFP ABI" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -31213,79 +31219,79 @@ + msgid "%qE attribute only applies to functions" + msgstr "%qE атрибут применим только к функциям" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to functions, not %s" + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "атрибут %qE применим только к функциям, а не к %s" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qD must not have variable number of arguments" + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "%qD не может иметь переменное число аргументов" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to functions, not %s" + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "атрибут %qE применим только к функциям, а не к %s" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute ignored without -mcmse option." + msgstr "атрибут %qE для не классовых типов игнорируется" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute has no effect on unit local functions" + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "атрибут %qE не действует для локальных функций" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to function types" + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "атрибут %qE допустим только для функций" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "невозможно вычислить фактическое положение параметра в стеке" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected end of module" + msgid "Unexpected thumb1 far jump" + msgstr "Неожиданный конец модуля" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "нет свободных low-регистров для выталкивания high-регистров" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "подпрограммы Service Routines для прерываний не могут использоваться в режиме Thumb" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid vector type for attribute %qs" + msgid "invalid fpu for attribute(target(\"%s\"))" +@@ -31294,13 +31300,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "attribute(target(\"%s\")) неизвестен" +@@ -34095,7 +34101,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "vec_insert принимает только 3 аргумента" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, fuzzy, gcc-internal-format + #| msgid "vec_insert only accepts 3 arguments" + msgid "vec_adde only accepts 3 arguments" +@@ -34107,44 +34113,44 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "vec_insert принимает только 3 аргумента" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%s принимает только %d аргументов" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%s принимает только 1 аргумент" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%s принимает только 2 аргумента" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "vec_extract принимает только 2 аргумента" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "vec_insert принимает только 3 аргумента" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + #| msgid "passing arg %d of %qE discards qualifiers frompointer target type" + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "передача arg %d от %qE отменяет квалификаторы frompointer указуемого типа" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ifunc is not supported in this configuration" + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "ifunc в данной конфигурации не поддерживается" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid parameter combination for AltiVec intrinsic" + msgid "invalid parameter combination for AltiVec intrinsic %s" +@@ -35254,112 +35260,112 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "суммарный размер локальных переменных превышает архитектурный предел" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "размер кадра функции %qs равен %wd байт, что превышает предоставленный пользователем лимит стека в %d байт. Добавлен безусловный trap." + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "размер кадра функции %qs равен %wd байт, что больше половины размера стека. Динамическая проверка не будет надежной. Для этой функции проверка не сгенерирована." + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "размер кадра %qs равен %wd байт" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "%qs использует динамическое размещение стека" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "% is deprecated and will be removed in a future release" + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "% не рекомендуется и не будет поддерживаться в будущих версиях" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "% is deprecated and will be removed in a future release" + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "% не рекомендуется и не будет поддерживаться в будущих версиях" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "режим z/Architecture не поддерживается на %s" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "64-битный ABI в режиме ESA/390 не поддерживается" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "hardware decimal floating point instructions not available on %s" + msgid "hardware vector support not available on %s" + msgstr "аппаратные инструкции десятичной плавающей точки отсутствуют на %s" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "аппаратные инструкции десятичной плавающей точки отсутствуют на %s" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "аппаратные инструкции десятичной плавающей точки отсутствуют в режиме ESA/390" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "ключ -mhard-dfp не может быть использован вместе с -msoft-float" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "сочетание ключей -mbackchain -mpacked-stack -mhard-float не поддерживается" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "размер стека должен быть больше чем охраняющее значение стека" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "размер стека должен быть больше чем 64k" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "ключ -mstack-guard влечет использование ключа -mstack-size" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs should be a non-negative integer" + msgid "arguments to %qs should be non-negative integers" + msgstr "аргумент %qs должен быть неотрицательным целым числом" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qE attribute larger than %d" + msgid "argument to %qs is too large (max. %d)" +@@ -35366,7 +35372,7 @@ + msgstr "аргумент для %qE атрибута больше чем %d" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + #| msgid "%<__int128%> is not supported by this target" + msgid "value %qs is not supported by attribute %" +Index: gcc/po/sv.po +=================================================================== +--- a/src/gcc/po/sv.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/sv.po (.../branches/gcc-7-branch) +@@ -17,13 +17,14 @@ + # rank ordning + # scope räckvidd + # store lagra ++# tile bricka + # thunk snutt + msgid "" + msgstr "" +-"Project-Id-Version: gcc 7.1-b20170226\n" ++"Project-Id-Version: gcc 7.1.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" +-"PO-Revision-Date: 2017-03-09 22:05+0100\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" ++"PO-Revision-Date: 2017-05-15 14:41+0200\n" + "Last-Translator: Göran Uddeborg \n" + "Language-Team: Swedish \n" + "Language: sv\n" +@@ -691,7 +692,7 @@ + #: gcov-tool.c:419 + #, c-format + msgid " overlap [options] Compute the overlap of two profiles\n" +-msgstr " overlap [flaggor] Beräkna överlappningen mellan två profiler\n" ++msgstr " overlap [flaggor] Beräkna överlappningen mellan två profiler\n" + + #: gcov-tool.c:421 + #, c-format +@@ -780,15 +781,12 @@ + "\n" + + #: gcov.c:656 +-#, fuzzy, c-format +-#| msgid "" +-#| "Usage: gcov [OPTION]... SOURCE|OBJ...\n" +-#| "\n" ++#, c-format + msgid "" + "Usage: gcov [OPTION...] SOURCE|OBJ...\n" + "\n" + msgstr "" +-"Användning: gcov [FLAGGA]... KÄLLA|OBJ...\n" ++"Användning: gcov [FLAGGA…] KÄLLA|OBJ…\n" + "\n" + + #: gcov.c:657 +@@ -1969,7 +1967,7 @@ + #: params.def:552 + #, no-c-format + msgid "Maximum number of arguments in a PHI supported by TREE if-conversion unless the loop is marked with simd pragma." +-msgstr "Maximalt antal argument i en PHI som stödjs av TREE if-konvertering om inte slingan är märked med simd-pragma." ++msgstr "Maximalt antal argument i en PHI som stödjs av TREE if-konvertering om inte slingan är märkt med simd-pragma." + + #: params.def:558 + #, no-c-format +@@ -1982,8 +1980,7 @@ + msgstr "Gräns för antalet körtidskontroller som läggs in av vektoriserarens slingversionering för aliaskontroller." + + #: params.def:568 +-#, fuzzy, no-c-format +-#| msgid "Max number of loop peels to enhancement alignment of data references in a loop." ++#, no-c-format + msgid "Maximum number of loop peels to enhance alignment of data references in a loop." + msgstr "Maximala antalet slingavskalningar för att förbättra justering av datareferenser i en slinga." + +@@ -2195,7 +2192,7 @@ + #: params.def:858 + #, no-c-format + msgid "size of tiles for loop blocking." +-msgstr "storlek på bitar för slingblockning." ++msgstr "storlek på brickor för slingblockning." + + #: params.def:865 + #, no-c-format +@@ -2383,14 +2380,12 @@ + msgstr "Maximalt antal liknande gb att jämföra ett gb med." + + #: params.def:1104 +-#, fuzzy, no-c-format +-#| msgid "Allow the store merging pass to introduce unaligned stores if it is legal to do so" ++#, no-c-format + msgid "Allow the store merging pass to introduce unaligned stores if it is legal to do so." +-msgstr "Tillåt passet för lagringssammanslagning att introducera ojusterade lagringar om det är tillåtet att göra det" ++msgstr "Tillåt passet för lagringssammanslagning att introducera ojusterade lagringar om det är tillåtet att göra det." + + #: params.def:1110 +-#, fuzzy, no-c-format +-#| msgid "Maximum number of constant stores to merge in the store merging pass" ++#, no-c-format + msgid "Maximum number of constant stores to merge in the store merging pass." + msgstr "Maximalt antal konstantlagringar att slå samman i passet för sammanslagning av lagring." + +@@ -2817,42 +2812,42 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Ej stödd operand för kod ”%c”" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "ogiltig operand för ”%%%c”" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "inkompatibla flyttals-/vektorregisteroperander för ”%%%c”" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "operand saknas" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, c-format + msgid "invalid constant" + msgstr "ogiltig konstant" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, c-format + msgid "invalid operand" + msgstr "ogiltig operand" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "ogiltig operandprefix ”%%%c”" +@@ -3010,29 +3005,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "ogiltig UNSPEC som operand: %d" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "ogiltig skiftoperand" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "förutsade Thumb-instruktion" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "förutsade instruktion i villkorlig sekvens" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3040,13 +3035,13 @@ + msgid "invalid operand for code '%c'" + msgstr "ogiltig operand för kod ”%c”" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "instruktionen aldrig utförd" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "föråldrad Maverick-formatkod ”%c”" +@@ -3119,34 +3114,24 @@ + msgstr "ej stödd fixdecimalskonvertering" + + #: config/avr/avr.c:9803 +-#, fuzzy +-#| msgid "Loop variable" + msgid "variable" +-msgstr "Slingvariabel" ++msgstr "variabel" + + #: config/avr/avr.c:9808 +-#, fuzzy +-#| msgid "redefinition of parameter %q+D" + msgid "function parameter" +-msgstr "omdefinition av parametern %q+D" ++msgstr "funktionsparameter" + + #: config/avr/avr.c:9813 +-#, fuzzy +-#| msgid "struct defined here" + msgid "structure field" +-msgstr "post definierad här" ++msgstr "postfält" + + #: config/avr/avr.c:9819 +-#, fuzzy +-#| msgid "creating array of functions" + msgid "return type of function" +-msgstr "skapar vektor av funktioner" ++msgstr "returtyp för en funktion" + + #: config/avr/avr.c:9824 +-#, fuzzy +-#| msgid "null pointer" + msgid "pointer" +-msgstr "nollpekare" ++msgstr "pekare" + + #: config/avr/driver-avr.c:48 + #, c-format +@@ -3456,10 +3441,9 @@ + msgstr "operanden är inte ett heltal, ogiltig operandkod ”R”" + + #: config/i386/i386.c:18261 +-#, fuzzy, c-format +-#| msgid "operand is not a specific integer, invalid operand code 'r'" ++#, c-format + msgid "operand is not a specific integer, invalid operand code 'R'" +-msgstr "operanden är inte ett specifikt heltal, ogiltig operandkod ”r”" ++msgstr "operanden är inte ett specifikt heltal, ogiltig operandkod ”R”" + + #: config/i386/i386.c:18357 + #, c-format +@@ -3865,98 +3849,98 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "emit_fusion_p9_store inte MEM" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "symboliska minnesreferenser stödjs endast på z10 eller senare" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "kan inte dekomponera adress." + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "ogiltig jämförelseoperator för utmatningsmodifieraren ”E”" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "ogiltig referens för utmatningsmodifieraren ”J”" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "ogiltig adress för utmatningsmodifieraren ”O”" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "ogiltig adress för utmatningsmodifieraren ”R”" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "minnesreferens förväntas för utmatningsmodifieraren ”S”" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "ogiltig adress för ”S”-utmatningsmodifierare" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "register- eller minnesuttryck förväntas för utmatningsmodifieraren ”N”" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "register- eller minnesuttryck förväntas för utmatningsmodifieraren ”M”" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "ogiltig konstant för utmatningsmodifieraren ”%c”" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "ogiltig konstant - försök med att använda en utmatningsmodifierare" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "ogiltig konstant vektor för utmatningsmodifieraren ”%c”" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "ogiltigt uttryck - försök med att använda en utmatningsmodifierare" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "ogiltigt uttryck för utmatningsmodifieraren ”%c”" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + msgid "vector argument passed to unprototyped function" + msgstr "vektorargument skickat till funktion utan prototyp" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + msgid "types differ in signedness" + msgstr "typer skiljer i teckenhet" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "binäroperator stödjer inte två vektorbooleanoperander" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "den binära operatorn stödjer inte vektor-bool-operand" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "binär operator stödjer inte blandning av operanderna vektorboolean och flyttalsvektor" + +@@ -5653,7 +5637,7 @@ + + #: fortran/lang.opt:266 + msgid "Warn on intrinsics not part of the selected standard." +-msgstr "Inbyggd för inbyggda som inte är med i den valda standarden." ++msgstr "Varna för inbyggda som inte är med i den valda standarden." + + #: fortran/lang.opt:278 + msgid "Warn about USE statements that have no ONLY qualifier." +@@ -6186,10 +6170,8 @@ + msgstr "Varna för ”new” av en typ med utökad justering utan -faligned-new." + + #: c-family/c.opt:296 +-#, fuzzy +-#| msgid "-Waligned-new=all Warn even if 'new' uses a class member allocation function." + msgid "-Waligned-new=[none|global|all]\tWarn even if 'new' uses a class member allocation function." +-msgstr "-Waligned-new=all Varna även om ”new” använder en allokeringsfunktion som är klassmedlem." ++msgstr "-Waligned-new=[none|global|all]\tVarna även om ”new” använder en allokeringsfunktion som är klassmedlem." + + #: c-family/c.opt:300 ada/gcc-interface/lang.opt:57 + msgid "Enable most warning messages." +@@ -6208,10 +6190,8 @@ + msgstr "-Walloc-zero Varna för anrop till allokeringsfunktioner som anger noll byte." + + #: c-family/c.opt:317 +-#, fuzzy +-#| msgid "-Walloca-larger-than= Warn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than bytes." + msgid "-Walloca-larger-than=\tWarn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than bytes." +-msgstr "-Walloca-larger-than= Varna vid obegränsade användningar av alloca, och vid begränsade användningar av alloca vars gränser kan bara större än byte." ++msgstr "-Walloca-larger-than=\tVarna vid obegränsade användningar av alloca, och vid begränsade användningar av alloca vars gränser kan vara större än byte." + + #: c-family/c.opt:331 + msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector." +@@ -6362,10 +6342,8 @@ + msgstr "Varna för en tom kropp i en if- eller else-sats." + + #: c-family/c.opt:489 +-#, fuzzy +-#| msgid "Warn about stray tokens after #elif and #endif." + msgid "Warn about stray tokens after #else and #endif." +-msgstr "Varna för vilsekomna symboler efter #elif och #endif." ++msgstr "Varna för vilsekomna symboler efter #else och #endif." + + #: c-family/c.opt:493 + msgid "Warn about comparison of different enum types." +@@ -6393,7 +6371,7 @@ + + #: c-family/c.opt:525 + msgid "Warn if passing too many arguments to a function for its format string." +-msgstr "Varna för för många argument argument till en funktion för dess formatsträng." ++msgstr "Varna för för många argument till en funktion för dess formatsträng." + + #: c-family/c.opt:529 + msgid "Warn about format strings that are not literals." +@@ -6457,7 +6435,7 @@ + + #: c-family/c.opt:600 + msgid "Warn if \"defined\" is used outside #if." +-msgstr "Varna om ”definied” är utanför #if." ++msgstr "Varna om ”defined” är utanför #if." + + #: c-family/c.opt:604 + msgid "Warn about implicit function declarations." +@@ -6477,7 +6455,7 @@ + + #: c-family/c.opt:623 + msgid "Warn for suspicious integer expressions in boolean context." +-msgstr "Varna för misstänkta heltalsutttryck i booleska sammanhang." ++msgstr "Varna för misstänkta heltalsuttryck i booleska sammanhang." + + #: c-family/c.opt:627 + msgid "Warn when there is a cast to a pointer from an integer of a different size." +@@ -6637,11 +6615,11 @@ + + #: c-family/c.opt:785 + msgid "Warn if C++1z noexcept function type will change the mangled name of a symbol." +-msgstr "" ++msgstr "Varna om funktionstypen noexcept i C++1z kommer ändra det manglade namnet på en symbol." + + #: c-family/c.opt:789 + msgid "Warn when non-templatized friend functions are declared within a template." +-msgstr "Varna när en vänfuktion som inte är en mall deklareras inuti en mall." ++msgstr "Varna när en vänfunktion som inte är en mall deklareras inuti en mall." + + #: c-family/c.opt:793 + msgid "Warn about non-virtual destructors." +@@ -6741,7 +6719,7 @@ + + #: c-family/c.opt:924 + msgid "Warn about uses of register storage specifier." +-msgstr "Varna för användning av lagringsspecificeraren register." ++msgstr "Varna för användning av lagringsspecificeraren ”register”." + + #: c-family/c.opt:928 + msgid "Warn when the compiler reorders code." +@@ -6880,10 +6858,8 @@ + msgstr "Varna om en vektor med variabel längd används." + + #: c-family/c.opt:1104 +-#, fuzzy +-#| msgid "-Wvla-larger-than= Warn on unbounded uses of variable-length arrays, and on bounded uses of variable-length arrays whose bound can be larger than bytes." + msgid "-Wvla-larger-than=\tWarn on unbounded uses of variable-length arrays, and on bounded uses of variable-length arrays whose bound can be larger than bytes." +-msgstr "-Wvla-larger-than= Varna för obegränsade användningar av vektorer med variabel längd, och för begräsade användningar av vektorer med variabel längd var gräns kan vara större än byte." ++msgstr "-Wvla-larger-than=\tVarna för obegränsade användningar av vektorer med variabel längd, och för begränsade användningar av vektorer med variabel längd vars gräns kan vara större än byte." + + #: c-family/c.opt:1110 + msgid "Warn when a register variable is declared volatile." +@@ -6992,7 +6968,7 @@ + + #: c-family/c.opt:1235 + msgid "Forces Pointer Bounds Checker to treat all trailing arrays in structures as possibly flexible. By default only arrays fields with zero length or that are marked with attribute bnd_variable_size are treated as flexible." +-msgstr "Tvingar pekargränskontrollen att behandla alla avslutande vektorer i poster som eventuellt flexibla. Som standard hanteras endast vektorfält med nolllängd eller som är märkta med attributet bnd_variable_size som flexibla." ++msgstr "Tvingar pekargränskontrollen att behandla alla avslutande vektorer i poster som eventuellt flexibla. Som standard hanteras endast vektorfält med nollängd eller som är märkta med attributet bnd_variable_size som flexibla." + + #: c-family/c.opt:1241 + msgid "Allow Pointer Bounds Checker optimizations. By default allowed on optimization levels >0." +@@ -7008,7 +6984,7 @@ + + #: c-family/c.opt:1254 + msgid "Use statically initialized variable for vars bounds instead of generating them each time it is required." +-msgstr "Använd en statiskt initierad för variabelgränser istället för att generera dem varje gång det behövs." ++msgstr "Använd en statiskt initierad variabel för variabelgränser istället för att generera dem varje gång det behövs." + + #: c-family/c.opt:1259 + msgid "Use statically initialized variable for constant bounds instead of generating them each time it is required." +@@ -7282,7 +7258,7 @@ + + #: c-family/c.opt:1608 + msgid "-fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments." +-msgstr "-fno-pretty-templates Finskriv inte mallspecialiceringar som mallsignaturer följda av argumenten." ++msgstr "-fno-pretty-templates Finskriv inte mallspecialiseringar som mallsignaturer följda av argumenten." + + #: c-family/c.opt:1612 + msgid "Treat known sprintf return values as constants." +@@ -7415,7 +7391,7 @@ + + #: c-family/c.opt:1790 + msgid "Interpret imaginary, fixed-point, or other gnu number suffix as the corresponding number literal rather than a user-defined number literal." +-msgstr "Tolka imaginära, flyttals-, eller andra gnu-suffix på tal som motsvarande talkonstant snarare än en användardefinierad talkonstant" ++msgstr "Tolka imaginära, flyttals-, eller andra gnu-suffix på tal som motsvarande talkonstant snarare än en användardefinierad talkonstant." + + #: c-family/c.opt:1795 + msgid "-idirafter \tAdd to the end of the system include path." +@@ -7535,7 +7511,7 @@ + + #: c-family/c.opt:1942 + msgid "Conform to the ISO 2014 C++ standard with GNU extensions." +-msgstr "Följ standarden ISO 2014 C++ med GNU-utökningar" ++msgstr "Följ standarden ISO 2014 C++ med GNU-utökningar." + + #: c-family/c.opt:1946 + msgid "Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support)." +@@ -7543,7 +7519,7 @@ + + #: c-family/c.opt:1953 + msgid "Conform to the ISO 2011 C standard with GNU extensions." +-msgstr "Följ standarden ISO 2011 C med GNU-utökningar" ++msgstr "Följ standarden ISO 2011 C med GNU-utökningar." + + #: c-family/c.opt:1957 + msgid "Deprecated in favor of -std=gnu11." +@@ -7611,7 +7587,7 @@ + + #: go/lang.opt:42 + msgid "-fgo-c-header=\tWrite Go struct definitions to file as C code." +-msgstr "-fdump-c-header=filnamn\tSkriv Go-postdefinitioner till en fil som C-kod." ++msgstr "-fgo-c-header=filnamn\tSkriv Go-postdefinitioner till en fil som C-kod." + + #: go/lang.opt:46 + msgid "Add explicit checks for division by zero." +@@ -7872,7 +7848,7 @@ + + #: config/bfin/bfin.opt:69 + msgid "Generate code that won't be linked against any other ID shared libraries, but may be used as a shared library." +-msgstr "Generera kod som inte kommer länkas mot några andra delade ID-bibliotek men kan användas av ett delat bibliotek." ++msgstr "Generera kod som inte kommer länkas mot några andra delade ID-bibliotek men kan användas som ett delat bibliotek." + + #: config/bfin/bfin.opt:74 config/m68k/m68k.opt:175 + msgid "ID of shared library to build." +@@ -8320,8 +8296,6 @@ + msgstr "Aktivera approximationen av division. Att aktivera detta reducerar precisionen på resultatet av division till ungefär 16 bitar för enkel precision och till 32 bitar för dubbel precision." + + #: config/aarch64/aarch64.opt:190 +-#, fuzzy +-#| msgid "Enables verbose cost model dummping in the debug dump files." + msgid "Enables verbose cost model dumping in the debug dump files." + msgstr "Aktiverar utförlig dump av kostnadsmodellen i dumpfilerna för felsökning." + +@@ -8587,7 +8561,7 @@ + + #: config/epiphany/epiphany.opt:28 + msgid "preferentially allocate registers that allow short instruction generation." +-msgstr "allokera företrädesvis register som tillåter generering av korta instruktioner" ++msgstr "allokera företrädesvis register som tillåter generering av korta instruktioner." + + #: config/epiphany/epiphany.opt:32 + msgid "Set branch cost." +@@ -8934,10 +8908,8 @@ + msgstr "Hopp är så här dyra (1-5, godtyckliga enheter)." + + #: config/i386/i386.opt:275 +-#, fuzzy +-#| msgid "Data greater than given threshold will go into .ldata section in x86-64 medium model." + msgid "-mlarge-data-threshold=\tData greater than given threshold will go into .ldata section in x86-64 medium model." +-msgstr "Data större än den angivna gränsen kommer hamna i .ldata-sektionen i x86-64 medelmodell." ++msgstr "-mlarge-data-threshold=\tData större än den angivna gränsen kommer hamna i .ldata-sektionen i x86-64 medelmodell." + + #: config/i386/i386.opt:279 + msgid "Use given x86-64 code model." +@@ -9114,7 +9086,7 @@ + + #: config/i386/i386.opt:569 + msgid "Generate cld instruction in the function prologue." +-msgstr "Generera cld-instruktioner i funktionsprologen" ++msgstr "Generera cld-instruktioner i funktionsprologen." + + # Det avbrutna meddelandet är felrapporterat: + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47103 +@@ -9124,7 +9096,7 @@ + + #: config/i386/i386.opt:578 + msgid "Disable Scalar to Vector optimization pass transforming 64-bit integer computations into a vector ones." +-msgstr "Avaktivera optimeringspasset skalär till vektor som transformera 64-bitars heltalsberäkningar till vektorberäkningar." ++msgstr "Avaktivera optimeringspasset skalär till vektor som transformerar 64-bitars heltalsberäkningar till vektorberäkningar." + + #: config/i386/i386.opt:583 + msgid "Do dispatch scheduling if processor is bdver1, bdver2, bdver3, bdver4 or znver1 and Haifa scheduling is selected." +@@ -9240,15 +9212,15 @@ + + #: config/i386/i386.opt:702 + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124FMAPS built-in functions and code generation." +-msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX512IFMAPS-funktioner och -kodgenerering." ++msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX5124FMAPS-funktioner och -kodgenerering." + + #: config/i386/i386.opt:706 + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124VNNIW built-in functions and code generation." +-msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX512VNNIW-funktioner och -kodgenerering." ++msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX5124VNNIW-funktioner och -kodgenerering." + + #: config/i386/i386.opt:710 + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VPOPCNTDQ built-in functions and code generation." +-msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX5124VNNIW-funktioner och -kodgenerering." ++msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX512VPOPCNTDQ-funktioner och -kodgenerering." + + #: config/i386/i386.opt:714 + msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation." +@@ -9400,11 +9372,11 @@ + + #: config/i386/i386.opt:862 + msgid "Emit profiling counter call at function entry before prologue." +-msgstr "Generera profileringsräknaranrop vid funktionsstart före prologen" ++msgstr "Generera profileringsräknaranrop vid funktionsstart före prologen." + + #: config/i386/i386.opt:866 + msgid "Generate __mcount_loc section with all mcount or __fentry__ calls." +-msgstr "Generera en __mcount_loc-sektion med alla mcount- eller __fentry__-anrop" ++msgstr "Generera en __mcount_loc-sektion med alla mcount- eller __fentry__-anrop." + + #: config/i386/i386.opt:870 + msgid "Generate mcount/__fentry__ calls as nops. To activate they need to be patched in." +@@ -9697,7 +9669,7 @@ + + #: config/nvptx/nvptx.opt:42 + msgid "Specify size of .local memory used for stack when the exact amount is not known." +-msgstr "" ++msgstr "Ange storleken på .local-minne använt till stack när den exakta mängden inte är känd." + + #: config/nvptx/nvptx.opt:46 + msgid "Generate code that can keep local state uniform across all lanes." +@@ -11599,7 +11571,7 @@ + + #: config/rx/rx.opt:50 + msgid "Specify the target RX cpu type." +-msgstr "Ange mål-RX-cpu-typen" ++msgstr "Ange mål-RX-cpu-typen." + + #: config/rx/rx.opt:71 + msgid "Data is stored in big-endian format." +@@ -12745,13 +12717,11 @@ + + #: config/mips/mips.opt:397 + msgid "Use 4-operand madd.s/madd.d and related instructions where applicable." +-msgstr "Anv-nd 4-operanders madd.s/madd.d och relaterade instruktioner där det går." ++msgstr "Använd 4-operanders madd.s/madd.d och relaterade instruktioner där det går." + + #: config/mips/mips.opt:409 +-#, fuzzy +-#| msgid "Use Virtualization Application Specific instructions." + msgid "Use Virtualization (VZ) instructions." +-msgstr "Använd instruktioner specifika för virtualiseringstillämpningar." ++msgstr "Använd virtualiseringsinstruktioner (VZ)." + + #: config/mips/mips.opt:413 + msgid "Use eXtended Physical Address (XPA) instructions." +@@ -13330,10 +13300,8 @@ + msgstr "Varna när stacköverskrivningsskydd inte läggs ut av någon anledning." + + #: common.opt:693 +-#, fuzzy +-#| msgid "Warn if stack usage might be larger than specified amount." + msgid "-Wstack-usage=\tWarn if stack usage might be larger than specified amount." +-msgstr "Varna om stackanvändningen kan vara större än den angivna mängden." ++msgstr "-Wstack-usage=\tVarna om stackanvändningen kan vara större än den angivna mängden." + + #: common.opt:697 common.opt:701 + msgid "Warn about code which might break strict aliasing rules." +@@ -13766,7 +13734,7 @@ + + #: common.opt:1339 + msgid "-fpermitted-flt-eval-methods=[c11|ts-18661]\tSpecify which values of FLT_EVAL_METHOD are permitted." +-msgstr "-fpermitted-flt-eval-methods=[c11|ts-18661]\tAngi vilka värden på FLT_EVAL_METHOD som är tillåtna." ++msgstr "-fpermitted-flt-eval-methods=[c11|ts-18661]\tAnge vilka värden på FLT_EVAL_METHOD som är tillåtna." + + #: common.opt:1342 + #, c-format +@@ -13794,10 +13762,8 @@ + msgstr "Utför ett framåtpropageringspass på RTL." + + #: common.opt:1379 +-#, fuzzy +-#| msgid "-ffp-contract=[off|on|fast] Perform floating-point expression contraction." + msgid "-ffp-contract=[off|on|fast]\tPerform floating-point expression contraction." +-msgstr "-ffp-contract=[off|on|fast] Utför kontraktion av flyttalsuttryck." ++msgstr "-ffp-contract=[off|on|fast]\tUtför kontraktion av flyttalsuttryck." + + #: common.opt:1382 + #, c-format +@@ -13898,10 +13864,8 @@ + msgstr "Utför konvertering av villkorliga hopp till villkorlig exekvering." + + #: common.opt:1531 +-#, fuzzy +-#| msgid "-fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables." + msgid "-fstack-reuse=[all|named_vars|none]\tSet stack reuse level for local variables." +-msgstr "-fstack-reuse=[all|named_vars|none] Ställ in stackåteranvändningsnivån för lokala variabler." ++msgstr "-fstack-reuse=[all|named_vars|none]\tStäll in stackåteranvändningsnivån för lokala variabler." + + #: common.opt:1534 + #, c-format +@@ -14001,10 +13965,8 @@ + msgstr "Utför IPA-propagering av värdeintervall." + + #: common.opt:1664 +-#, fuzzy +-#| msgid "-fira-algorithm=[CB|priority] Set the used IRA algorithm." + msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm." +-msgstr "-fira-algorithm=[CB|priority] Bestäm den använda IRA-algoritmen." ++msgstr "-fira-algorithm=[CB|priority]\tBestäm den använda IRA-algoritmen." + + #: common.opt:1667 + #, c-format +@@ -14012,10 +13974,8 @@ + msgstr "okänd IRA-algoritm %qs" + + #: common.opt:1677 +-#, fuzzy +-#| msgid "-fira-region=[one|all|mixed] Set regions for IRA." + msgid "-fira-region=[one|all|mixed]\tSet regions for IRA." +-msgstr "-fira-region=[one|all|mixed] Sätt regioner för IRA." ++msgstr "-fira-region=[one|all|mixed]\tSätt regioner för IRA." + + #: common.opt:1680 + #, c-format +@@ -14251,7 +14211,7 @@ + + #: common.opt:1950 + msgid "Specify a plugin to load." +-msgstr "Ange en instickmodul att läsa in." ++msgstr "Ange en insticksmodul att läsa in." + + #: common.opt:1954 + msgid "-fplugin-arg--[=]\tSpecify argument = for plugin ." +@@ -14288,7 +14248,7 @@ + #: common.opt:1986 + #, c-format + msgid "unknown profile update method %qs" +-msgstr "okänd prfiluppdateringsmetod %qs" ++msgstr "okänd profiluppdateringsmetod %qs" + + #: common.opt:1999 + msgid "Enable common options for generating profile info for profile feedback directed optimizations." +@@ -14351,10 +14311,8 @@ + msgstr "Flytta om grundblock för att förbättra kodplacering." + + #: common.opt:2076 +-#, fuzzy +-#| msgid "-freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm." + msgid "-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering algorithm." +-msgstr "-freorder-blocks-algorithm=[simple|stc] Sätt algoritmen att användas för ordningsändring av grundblock." ++msgstr "-freorder-blocks-algorithm=[simple|stc]\tSätt algoritmen att användas för ordningsändring av grundblock." + + #: common.opt:2079 + #, c-format +@@ -14696,11 +14654,11 @@ + + #: common.opt:2489 + msgid "Detect paths that trigger erroneous or undefined behavior due to dereferencing a null pointer. Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap." +-msgstr "Detektera vägar som utlöser felaktigt eller odefinierat beteende på grund av dereferering av nollpekare. Isolera dessa vägar från huvusakliga styrflödet och gör om satsen med det felaktiga elelr odefinierade beteendet till en fälla." ++msgstr "Detektera vägar som utlöser felaktigt eller odefinierat beteende på grund av dereferering av nollpekare. Isolera dessa vägar från huvudsakliga styrflödet och gör om satsen med det felaktiga eller odefinierade beteendet till en fälla." + + #: common.opt:2495 + msgid "Detect paths that trigger erroneous or undefined behavior due a null value being used in a way forbidden by a returns_nonnull or nonnull attribute. Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap." +-msgstr "Detektera vägar som utlöser felaktigt eller odefinierat beteende på grund av att ett nollvärde används på ett sätt som förbjuds av ett returns_nonnull- eller nonnull-attribut. Isolera dessa vägar från huvusakliga styrflödet och gör om satsen med det felaktiga elelr odefinierade beteendet till en fälla." ++msgstr "Detektera vägar som utlöser felaktigt eller odefinierat beteende på grund av att ett nollvärde används på ett sätt som förbjuds av ett returns_nonnull- eller nonnull-attribut. Isolera dessa vägar från huvudsakliga styrflödet och gör om satsen med det felaktiga eller odefinierade beteendet till en fälla." + + #: common.opt:2502 + msgid "Enable loop distribution on trees." +@@ -14723,10 +14681,8 @@ + msgstr "Aktivera slingoptimeringar på trädnivå." + + #: common.opt:2526 +-#, fuzzy +-#| msgid "Enable automatic parallelization of loops." + msgid "-ftree-parallelize-loops=\tEnable automatic parallelization of loops." +-msgstr "Aktivera automatisk parallellisering av slingor." ++msgstr "-ftree-parallelize-loops=\tAktivera automatisk parallellisering av slingor." + + #: common.opt:2530 + msgid "Enable hoisting loads from conditional pointers." +@@ -14742,7 +14698,7 @@ + + #: common.opt:2542 + msgid "Perform function-local points-to analysis on trees." +-msgstr "Utför funktionslokala pekar-på-analyser i träd" ++msgstr "Utför funktionslokala pekar-på-analyser i träd." + + #: common.opt:2546 + msgid "Enable reassociation on tree level." +@@ -14854,13 +14810,11 @@ + + #: common.opt:2693 + msgid "Specifies the cost model for vectorization. -fvect-cost-model=[unlimited|dynamic|cheap]\tSpecifies the cost model for vectorization." +-msgstr "" ++msgstr "Anger kostnadsmodellen för vektorisering. -fvect-cost-model=[unlimited|dynamic|cheap]\tAnger kostnadsmodellen för vektorisering." + + #: common.opt:2698 +-#, fuzzy +-#| msgid "Specifies the vectorization cost model for code marked with a simd directive." + msgid "-fsimd-cost-model=[unlimited|dynamic|cheap]\tSpecifies the vectorization cost model for code marked with a simd directive." +-msgstr "Anger kostnadsmodellen för vektorisering för kod markerad med ett simd-direktiv." ++msgstr "-fsimd-cost-model=[unlimited|dynamic|cheap]\tAnger kostnadsmodellen för vektorisering för kod markerad med ett simd-direktiv." + + #: common.opt:2701 + #, c-format +@@ -15552,10 +15506,9 @@ + msgstr "typattribut ignoreras efter att typen redan är definierad" + + #: auto-profile.c:347 +-#, fuzzy, gcc-internal-format +-#| msgid "Offset exceeds 16 bytes." ++#, gcc-internal-format + msgid "offset exceeds 16 bytes" +-msgstr "Avstånd överskrider 16 byte." ++msgstr "avstånd överskrider 16 byte" + + #: auto-profile.c:854 + #, gcc-internal-format +@@ -15563,40 +15516,34 @@ + msgstr "Ej förväntades TAGG." + + #: auto-profile.c:920 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Cannot open profile file %s." ++#, gcc-internal-format, gfc-internal-format + msgid "cannot open profile file %s" +-msgstr "Kan inte öppna profileringssfilen %s." ++msgstr "kan inte öppna profileringsfilen %s" + + #: auto-profile.c:926 +-#, fuzzy, gcc-internal-format +-#| msgid "AutoFDO profile magic number does not match." ++#, gcc-internal-format + msgid "AutoFDO profile magic number does not match" +-msgstr "AutoFDO-profilens magiska tal stämmer inte." ++msgstr "AutoFDO-profilens magiska tal stämmer inte" + + #: auto-profile.c:934 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "AutoFDO profile version %u does match %u." ++#, gcc-internal-format, gfc-internal-format + msgid "AutoFDO profile version %u does match %u" +-msgstr "AutoFDO-profilens version %u stämmer inte med %u." ++msgstr "AutoFDO-profilens version %u stämmer inte med %u" + + #: auto-profile.c:946 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Cannot read string table from %s." ++#, gcc-internal-format, gfc-internal-format + msgid "cannot read string table from %s" +-msgstr "Det går inte att läsa strängtabellen från %s." ++msgstr "det går inte att läsa strängtabellen från %s" + + #: auto-profile.c:954 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Cannot read function profile from %s." ++#, gcc-internal-format, gfc-internal-format + msgid "cannot read function profile from %s" +-msgstr "Det går inte att läsa profilen från %s." ++msgstr "det går inte att läsa profilen från %s" + + #: auto-profile.c:964 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Cannot read working set from %s." ++#, gcc-internal-format, gfc-internal-format + msgid "cannot read working set from %s" +-msgstr "Det går inte arbetsmängden från %s." ++msgstr "det går inte arbetsmängden från %s" + + #: bt-load.c:1564 + #, gcc-internal-format +@@ -15894,7 +15841,7 @@ + #: calls.c:1491 + #, gcc-internal-format + msgid "in a call to built-in allocation function %qD" +-msgstr "i ett anrop av den inbyggd allokeringsfunktionen %qD" ++msgstr "i ett anrop av den inbyggda allokeringsfunktionen %qD" + + #: calls.c:1494 + #, gcc-internal-format +@@ -15904,7 +15851,7 @@ + #: calls.c:1508 + #, gcc-internal-format, gfc-internal-format + msgid "cannot tail-call: %s" +-msgstr "kan inte göra svansarnop: %s" ++msgstr "kan inte göra svansanrop: %s" + + #: calls.c:3071 + #, gcc-internal-format +@@ -17051,10 +16998,9 @@ + msgstr "%qs har spillt över" + + #: coverage.c:332 +-#, fuzzy, gcc-internal-format +-#| msgid "%s:corrupted\n" ++#, gcc-internal-format + msgid "%qs is corrupted" +-msgstr "%s:trasig\n" ++msgstr "%qs är trasig" + + #: coverage.c:390 + #, gcc-internal-format +@@ -17351,7 +17297,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "antar att teckenspill inte förekommer vid kombination av konstanter runt en jämförelse" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "vikningskontroll: originalträdet ändrat av vikning" +@@ -17773,7 +17719,7 @@ + #: gcov-tool.c:123 + #, gcc-internal-format, gfc-internal-format + msgid "output file %s already exists in folder %s" +-msgstr "" ++msgstr "utdatafilen %s finns redan i mappen %s" + + #: gcov-tool.c:223 + #, gcc-internal-format +@@ -17887,8 +17833,8 @@ + msgid "null pointer dereference" + msgstr "nollpekardereferens" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -17902,297 +17848,297 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "icke-null-argument %qD jämfört med NULL" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "%qE-utdata kan ha trunkerats före det sista formattecknet" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "%qE-utdata trunkerades före det sista formattecknet" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "%qE kan skriva en avslutande nolla efter slutet på destinationen" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "%qE skriver en avslutande nolla efter slutet på destinationen" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när %wu byte skrevs till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> avhugget när %wu byte skrevs till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "direktivet %<%.*s%> skrev %wu byte till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när %wu byte skrevs till en region med storlek %wu" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> avhugget när %wu byte skrevs till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "direktivet %<%.*s%> skrev %wu byte till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när upp till %wu byte skrevs till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> avhugget när upp till %wu byte skrevs till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "direktivet %<%.*s%> skrev upp till %wu byte till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när antagligen %wu eller fler byte skrevs till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> avhugget när antagligen %wu eller fler byte skrevs till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "direktivet %<%.*s%> skrev antagligen %wu eller fler byte till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när mellan %wu och %wu byte skrevs till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> avhugget när mellan %wu och %wu byte skrevs till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "direktivet %<%.*s%> skrev mellan %wu och %wu byte till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när %wu eller fler byte skrevs till en region med storlek %wu" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "utdata från direktivet %<%.*s%> avhugget när %wu eller fler byte skrevs till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "direktivet %<%.*s%> skrev %wu eller fler byte till en region av storlek %wu" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när %wu byte skrevs till en region av storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "utdata från direktivet %<%.*s%> avhugget när %wu byte skrevs till en region av storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "direktivet %<%.*s%> skrev %wu byte till en region av storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när %wu byte skrevs till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "utdata från direktivet %<%.*s%> avhugget när %wu byte skrevs till en region av storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "direktivet %<%.*s%> skrev %wu byte till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" +-msgstr "utdata från direktivet %<%.*s%> kan ha huggts av när upp till %wu byte skrevs till en region med storlek mellan %wu och %wu" ++msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när upp till %wu byte skrevs till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "utdata från direktivet %<%.*s%> avhugget när upp till %wu byte skrevs till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "direktivet %<%.*s%> skrev upp till %wu byte till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" +-msgstr "utdata från direktivet %<%.*s%> kan ha huggts av när antagligen %wu eller fler byte skrevs till en region med storlek mellan %wu och %wu" ++msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när antagligen %wu eller fler byte skrevs till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "utdata från direktivet %<%.*s%> höggs av när antagligen %wu eller fler byte skrevs till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "direktivet %<%.*s%> skrev antagligen %wu eller fler byte till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när mellan %wu och %wu byte skrevs till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "utdata från direktivet %<%.*s%> höggs av när mellan %wu och %wu byte skrevs till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "direktivet %<%.*s%> skrev mellan %wu och %wu byte till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när %wu eller fler byte skrevs till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "utdata från direktivet %<%.*s%> höggs av när %wu eller fler byte skrevs till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "direktivet %<%.*s%> skrev %wu eller fler byte till en region med storlek mellan %wu och %wu" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "utdata från direktivet %<%.*s%> mellan %wu och %wu byte kan överskrida minsta nödvändiga storlek på 4095" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "utdata från direktivet %<%.*s%> mellan %wu och %wu byte överskrider minsta nödvändiga storlek på 4095" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "utdata från direktivet %<%.*s%> mellan %wu och %wu byte får resultatet att överskrida %" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "utdata från direktivet %<%.*s%> mellan %wu och %wu byte kan få resultatet att överskrida %" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "antar direktivutdata på %wu byte" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "antar direktivutdata på %wu byte" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, gcc-internal-format + msgid "directive argument %qE" + msgstr "direktivargument %qE" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "direktivargument i intervallet [%E, %E]" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" +-msgstr "använder intevallet [%E, %E] som direktivargument" ++msgstr "använder intervallet [%E, %E] som direktivargument" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "%qE-utdata på %wu byte in i en destination med storlek %wu" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "%qE-utdata på %wu byte in i en destination med storlek %wu" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "%qE-utdata mellan %wu och %wu byte in i en destination med storlek %wu" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "%qE-utdata på %wu eller fler byte (antar %wu) in i en destination med storlek %wu" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "%qE-utdata på %wu eller fler byte in i en destination med storlek %wu" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "angiven gräns på %wu överskrider maximal objektstorlek %wu" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "angiven gräns på %wu överskrider %" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, gcc-internal-format + msgid "null destination pointer" + msgstr "nolldestinationspekare" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "angiven gräns på %wu överskrider storleken %wu på destinationsobjektet" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, gcc-internal-format + msgid "null format string" + msgstr "nollformatsträng" +@@ -18348,16 +18294,14 @@ + msgstr "omgivande uppgift" + + #: gimplify.c:6852 +-#, fuzzy, gcc-internal-format +-#| msgid "%qE not specified in enclosing %s" ++#, gcc-internal-format + msgid "%qE not specified in enclosing %qs" +-msgstr "%qE inte angiven i omgivande %s" ++msgstr "%qE inte angiven i omgivande %qs" + + #: gimplify.c:6854 +-#, fuzzy, gcc-internal-format +-#| msgid "enclosing %s" ++#, gcc-internal-format + msgid "enclosing %qs" +-msgstr "omgivande %s" ++msgstr "omgivande %qs" + + #: gimplify.c:6965 + #, gcc-internal-format +@@ -18726,10 +18670,9 @@ + msgstr "den inkompatibla typen definierad i en annan översättningsenhet" + + #: ipa-devirt.c:1142 +-#, fuzzy, gcc-internal-format +-#| msgid "type name %<%s%> should match type name %<%s%>" ++#, gcc-internal-format + msgid "type name %qs should match type name %qs" +-msgstr "typnamnet %<%s%> skall matcha typnamnet %<%s%>" ++msgstr "typnamnet %qs skall matcha typnamnet %qs" + + #: ipa-devirt.c:1146 ipa-devirt.c:1238 + #, gcc-internal-format +@@ -18964,16 +18907,14 @@ + msgstr "ipa-inline-sammanfattning saknas i indatafil" + + #: ipa-pure-const.c:187 +-#, fuzzy, gcc-internal-format +-#| msgid "function might be candidate for attribute %<%s%>" ++#, gcc-internal-format + msgid "function might be candidate for attribute %qs" +-msgstr "funktionen kan vara en kandidat för attributet %<%s%>" ++msgstr "funktionen kan vara en kandidat för attributet %qs" + + #: ipa-pure-const.c:188 +-#, fuzzy, gcc-internal-format +-#| msgid "function might be candidate for attribute %<%s%> if it is known to return normally" ++#, gcc-internal-format + msgid "function might be candidate for attribute %qs if it is known to return normally" +-msgstr "funktionen kan vara en kandidat för attributet %<%s%> om man vet att den returnerar normalt" ++msgstr "funktionen kan vara en kandidat för attributet %qs om man vet att den returnerar normalt" + + #: ipa-reference.c:1182 + #, gcc-internal-format +@@ -19132,10 +19073,9 @@ + msgstr "bytekodström: oväntad LTO-sektion %s" + + #: lto-streamer.c:383 +-#, fuzzy, gcc-internal-format +-#| msgid "bytecode stream in file '%s' generated with LTO version %d.%d instead of the expected %d.%d" ++#, gcc-internal-format + msgid "bytecode stream in file %qs generated with LTO version %d.%d instead of the expected %d.%d" +-msgstr "bytekodströmmen i filen ”%s” är genererad med LTO-version %d.%d istället för den förväntade %d.%d" ++msgstr "bytekodströmmen i filen %qs är genererad med LTO-version %d.%d istället för den förväntade %d.%d" + + #: lto-wrapper.c:114 + #, gcc-internal-format +@@ -19213,10 +19153,9 @@ + msgstr "anropet behöver ifunc, som inte stödjs av detta mål" + + #: multiple_target.c:74 +-#, fuzzy, gcc-internal-format +-#| msgid "target OS does not support unaligned accesses" ++#, gcc-internal-format + msgid "target does not support function version dispatcher" +-msgstr "mål-OS:et stödjer inte ojusterade åtkomster" ++msgstr "målet stödjer inte funktionsversionsavsändare" + + #: multiple_target.c:83 + #, gcc-internal-format +@@ -19450,10 +19389,9 @@ + msgstr "operand till -fopenacc-dim är felformulerad vid ”%s”" + + #: omp-offload.c:1157 +-#, fuzzy, gcc-internal-format +-#| msgid "inner loop uses same OpenACC parallelism as containing loop" ++#, gcc-internal-format + msgid "routine call uses same OpenACC parallelism as containing loop" +-msgstr "den inre slingan använder samma OpenACC-parallellism som den omgivande slingan" ++msgstr "rutinanropet använder samma OpenACC-parallellism som den omgivande slingan" + + #: omp-offload.c:1161 omp-offload.c:1193 + #, gcc-internal-format +@@ -19461,16 +19399,14 @@ + msgstr "kringliggande slinga här" + + #: omp-offload.c:1166 +-#, fuzzy, gcc-internal-format +-#| msgid "%s uses OpenACC parallelism disallowed by containing routine" ++#, gcc-internal-format + msgid "routine call uses OpenACC parallelism disallowed by containing routine" +-msgstr "%s använder OpenACC-parallellism som är otillåtet av den omgivande rutinen" ++msgstr "rutinanropet använder OpenACC-parallellism som är otillåtet av den omgivande rutinen" + + #: omp-offload.c:1168 +-#, fuzzy, gcc-internal-format +-#| msgid "%s uses OpenACC parallelism disallowed by containing routine" ++#, gcc-internal-format + msgid "loop uses OpenACC parallelism disallowed by containing routine" +-msgstr "%s använder OpenACC-parallellism som är otillåtet av den omgivande rutinen" ++msgstr "slingan använder OpenACC-parallellism som är otillåtet av den omgivande rutinen" + + #: omp-offload.c:1173 + #, gcc-internal-format +@@ -19488,16 +19424,14 @@ + msgstr "otillräcklig partitionering tillgänglig för att parallellisera elementslinga" + + #: omp-offload.c:1335 +-#, fuzzy, gcc-internal-format +-#| msgid "insufficient partitioning available to parallelize element loop" ++#, gcc-internal-format + msgid "insufficient partitioning available to parallelize tile loop" +-msgstr "otillräcklig partitionering tillgänglig för att parallellisera elementslinga" ++msgstr "otillräcklig partitionering tillgänglig för att parallellisera brickslinga" + + #: omp-offload.c:1337 +-#, fuzzy, gcc-internal-format +-#| msgid "insufficient partitioning available to parallelize%s loop" ++#, gcc-internal-format + msgid "insufficient partitioning available to parallelize loop" +-msgstr "otillräcklig partitionering tillgänglig för att parallellisera%s slinga" ++msgstr "otillräcklig partitionering tillgänglig för att parallellisera slinga" + + #: omp-simd-clone.c:192 + #, gcc-internal-format +@@ -19696,10 +19630,9 @@ + msgstr "flaggan -fsanitize=all är inte giltig" + + #: opts.c:1642 +-#, fuzzy, gcc-internal-format +-#| msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs" ++#, gcc-internal-format + msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs?" +-msgstr "okänt argument till flaggan -f%ssanitize%s=: %q.*s; menade du %qs" ++msgstr "okänt argument till flaggan -f%ssanitize%s=: %q.*s; menade du %qs?" + + #: opts.c:1649 + #, gcc-internal-format +@@ -19799,7 +19732,7 @@ + #: opts.c:2602 + #, gcc-internal-format, gfc-internal-format + msgid "unrecognized gcc debugging option: %c" +-msgstr "ej igenkänd debuggningsflagga för gcc: %c" ++msgstr "ej igenkänd felsökningsflagga för gcc: %c" + + #: opts.c:2627 + #, gcc-internal-format, gfc-internal-format +@@ -19934,10 +19867,9 @@ + msgstr "insticksmodul %s skulle ha angetts före -fplugin-arg-%s på kommandoraden" + + #: plugin.c:350 +-#, fuzzy, gcc-internal-format +-#| msgid "unable to register info for plugin '%s' - plugin name not found" ++#, gcc-internal-format + msgid "unable to register info for plugin %qs - plugin name not found" +-msgstr "kan inte registrera information för insticksmodulen ”%s” – inget namn på insticksmodulen finns" ++msgstr "kan inte registrera information för insticksmodulen %qs – inget namn på insticksmodulen finns" + + #: plugin.c:446 + #, gcc-internal-format, gfc-internal-format +@@ -20027,10 +19959,9 @@ + msgstr "instruktion med UID %i finns inte för operand %i i instruktion %i" + + #: read-rtl-function.c:409 +-#, fuzzy, gcc-internal-format +-#| msgid "function %qs cannot be declared %" ++#, gcc-internal-format + msgid "%<__RTL%> function cannot be compiled with %<-flto%>" +-msgstr "funktionen %qs kan inte deklareras %" ++msgstr "en %<__RTL%>-funktion kan inte kompileras med %<-flto%>" + + #: read-rtl-function.c:710 + #, gcc-internal-format, gfc-internal-format +@@ -20379,157 +20310,157 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "%D byter namn efter att ha refererats i assembler" + +-#: symtab.c:970 ++#: symtab.c:978 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "funktionssymbol som inte är en funktion" + +-#: symtab.c:978 ++#: symtab.c:986 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "variabelsymbol är inte en variabel" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "noden har okänd typ" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "nod ej funnen found node->decl->decl_with_vis.symtab_node" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "noden skiljer från node->decl->decl_with_vis.symtab_node" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "hashlistan över assemblernamn trasig" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "nod finns inte i hashen av symboltabellassemblernamn" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "dubbellänkad lista av assemblernamn är trasig" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "noden har body_removed men är en definition" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "noden är analyserad men den är inte en definition" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "noden är ett alias men inte ett implicit alias" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "noden är ett alias men inte en definition" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "noden är weakref men inte ett transparent_alias" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "noden är transparent_alias men inte ett alias" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "noden är i same_comdat_group-listan men den har ingen comdat_group" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "same_comdat_group-lista över olika grupper" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "blandning av olika typer av symboler i samma comdat-grupper stödjs inte" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "noden är ensam i en comdat-grupp" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group är inte en cirkulär lista" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "comdat-lokal symbol refererad till av %s utanför dess comdat" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "flaggan implicit_section är satt men sektionen är inte det" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "både sektion och comdat-grupp är satt" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "Aliasets och målets sektion skiljer" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "Aliasets och målets comdat-grupper skiljer" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "Transparent alias och målets assemblernamn skiljer" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "Kedjade genomskinliga alias" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::verify misslyckades" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "Två symboler med samma comdat_group är inte länkade av listan same_comdat_group." + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "funktionen %q+D är en del av en aliascykel" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "variabeln %q+D är del i en aliascykel" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "sektionen för aliaset %q+D måste stämma med sektionen för dess mål" +@@ -20630,34 +20561,29 @@ + msgstr "Graphite-slingoptimeringar kan inte användas (isl är inte tillgängligt) (-fgraphite, -fgraphite-identity, -floop-nest-optimize, -floop-parallelize-all)" + + #: toplev.c:1273 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds is not supported for this target" ++#, gcc-internal-format + msgid "%<-fcheck-pointer-bounds%> is not supported for this target" +-msgstr "-fcheck-pointer-bounds stödjs inte för denna målarkitektur" ++msgstr "%<-fcheck-pointer-bounds%> stödjs inte för denna målarkitektur" + + #: toplev.c:1281 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds is not supported with -fsanitize=bounds" ++#, gcc-internal-format + msgid "%<-fcheck-pointer-bounds%> is not supported with %<-fsanitize=bounds-strict%>" +-msgstr "-fcheck-pointer-bounds stödjs inte med -fsanitize=bounds" ++msgstr "%<-fcheck-pointer-bounds%> stödjs inte med %<-fsanitize=bounds-strict%>" + + #: toplev.c:1288 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds is not supported with -fsanitize=bounds" ++#, gcc-internal-format + msgid "%<-fcheck-pointer-bounds%> is not supported with %<-fsanitize=bounds%>" +-msgstr "-fcheck-pointer-bounds stödjs inte med -fsanitize=bounds" ++msgstr "%<-fcheck-pointer-bounds%> stödjs inte med %<-fsanitize=bounds%>" + + #: toplev.c:1296 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds is not supported with Address Sanitizer" ++#, gcc-internal-format + msgid "%<-fcheck-pointer-bounds%> is not supported with Address Sanitizer" +-msgstr "-fcheck-pointer-bounds stödjs inte med adressrengöring" ++msgstr "%<-fcheck-pointer-bounds%> stödjs inte med adressrengöring" + + #: toplev.c:1304 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds is not supported with Address Sanitizer" ++#, gcc-internal-format + msgid "%<-fcheck-pointer-bounds%> is not supported with Thread Sanitizer" +-msgstr "-fcheck-pointer-bounds stödjs inte med adressrengöring" ++msgstr "%<-fcheck-pointer-bounds%> stödjs inte med trådrengöring" + + #: toplev.c:1320 + #, gcc-internal-format +@@ -21313,7 +21239,7 @@ + #: tree-cfg.c:4232 + #, gcc-internal-format + msgid "vector insertion not at element boundary" +-msgstr "vektorinsättning inte på elemntgräns" ++msgstr "vektorinsättning inte på elementgräns" + + #: tree-cfg.c:4264 + #, gcc-internal-format +@@ -21628,10 +21554,9 @@ + msgstr "minnesåtkomstkontrollen misslyckas alltid" + + #: tree-chkp.c:1996 +-#, fuzzy, gcc-internal-format +-#| msgid "-fcheck-pointer-bounds requires '%s' name for internal usage" ++#, gcc-internal-format + msgid "-fcheck-pointer-bounds requires %qs name for internal usage" +-msgstr "-fcheck-pointer-bounds kräver ”%s”-stöd för intern användning" ++msgstr "-fcheck-pointer-bounds kräver %qs-namn för intern användning" + + #: tree-chkp.c:2774 + #, gcc-internal-format, gfc-internal-format +@@ -21850,10 +21775,9 @@ + msgstr "i denna slinga" + + #: tree-ssa-loop-prefetch.c:2045 +-#, fuzzy, gcc-internal-format +-#| msgid "-faligned-new=%d is not a power of two" ++#, gcc-internal-format + msgid "% parameter is not a power of two %d" +-msgstr "-falign-new=%d är inte en exponent av två" ++msgstr "%-parametern är inte en potens av två %d" + + #: tree-ssa-operands.c:975 + #, gcc-internal-format +@@ -22199,8 +22123,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -22236,92 +22160,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qE implicerar standardsynlighet, men %qD har redan deklarerats med annan synlighet" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "vektorer av funktioner är inte meningsfulla" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "funktionsreturtyp kan inte vara funktion" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "trädkontroll: %s, har %s i %s, vid %s:%d" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "trädkontroll: förväntade ingen av %s, har %s i %s, vid %s:%d" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "trädkontroll: förväntade klass %qs, har %qs (%s) i %s, vid %s:%d" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "trädkontroll: klass %qs förväntades inte, har %qs (%s) i %s, vid %s:%d" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "trädkontroll: omp_clause %s förväntades, har %s i %s, vid %s:%d" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "trädkontroll: förväntade träd som innehåller posten %qs, har %qs i %s, vid %s:%d" + +-#: tree.c:10017 ++#: tree.c:10025 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "trädkontroll: använde element %d av tree_int_cst med %d element i %s, vid %s:%d" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "trädkontroll: använde element %d av tree_vec med %d element i %s, vid %s:%d" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "trädkontroll: använde operand %d av %s med %d operander i %s, vid %s:%d" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "trädkontroll: använde operand %d av omp_clause %s med %d operander i %s, vid %s:%d" + +-#: tree.c:12867 ++#: tree.c:12875 + #, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "%qD bör undvikas: %s" + +-#: tree.c:12870 ++#: tree.c:12878 + #, gcc-internal-format + msgid "%qD is deprecated" + msgstr "%qD bör undvikas" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "%qE bör undvikas: %s" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "%qE bör undvikas" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "typen bör undvikas: %s" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "typen bör undvikas" +@@ -22348,262 +22272,262 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "typvarianter skiljer i " + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "typvariant har en annan TYPE_SIZE_UNIT" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "typvariantens TYPE_SIZE_UNIT" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "typens TYPE_SIZE_UNIT" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "typvariant med TYPE_ALIAS_SET_KNOWN_P" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "typvariant har en annan TYPE_VFIELD" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "typvariant har TYPE_METHODS" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "typvariant har en annan TYPE_BINFO" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "typvariantens TYPE_BINFO" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "typens TYPE_BINFO" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "typvariant har andra TYPE_FIELDS" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "första som inte stämmer är fält" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "och fält" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "typvariant har en annan TREE_TYPE" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "typvariantens TREE_TYPE" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "typens TREE_TYPE" + +-#: tree.c:13548 ++#: tree.c:13556 + #, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "typen är inte kompatibel med sin variant" + +-#: tree.c:13851 ++#: tree.c:13859 + #, gcc-internal-format + msgid "Main variant is not defined" + msgstr "Huvudvariant är inte definierad" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "TYPE_MAIN_VARIANT har en annan TYPE_MAIN_VARIANT" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "TYPE_CANONICAL har en annan TYPE_CANONICAL" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "TYPE_CANONICAL är inte kompatibla" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "TYPE_MODE av TYPE_CANONICAL är inte kompatibla" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "TYPE_CANONICAL av huvudvarianten är inte en huvudvariant" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "TYPE_VFIELD är varken FIELD_DECL eller TREE_LIST" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "TYPE_NEXT_PTR_TO är inte POINTER_TYPE" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "TYPE_NEXT_REF_TO är inte REFERENCE_TYPE" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "TYPE_MINVAL icke-NULL" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "TYPE_METHODS är varken FUNCTION_DECL, TEMPLATE_DECL eller error_mark_node" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "TYPE_METHOD_BASETYPE är inte en post eller union" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "TYPE_OFFSET_BASETYPE är inte en post eller union" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "TYPE_ARRAY_MAX_SIZE inte INTEGER_CST" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "TYPE_MAXVAL icke-NULL" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "TYPE_BINFO är inte TREE_BINFO" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "TYPE_BINFO-typ är inte TYPE_MAIN_VARIANT" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "TYPE_LANG_SLOT_1 (binfo) fält är icke-NULL" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "Enum-värde är inte CONST_DECL eller INTEGER_CST" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "Enum-värdetyp är varken INTEGER_TYPE eller konvertibel till enum" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "Enum-värdenamn är inte IDENTIFIER_NODE" + +-#: tree.c:14083 ++#: tree.c:14091 + #, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "Vektorn TYPE_DOMAIN är inte av heltalstyp" + +-#: tree.c:14092 ++#: tree.c:14100 + #, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "TYPE_FIELDS definierad i ofullständig typ" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "Fel träd i TYPE_FIELDS-lista" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "TYPE_CACHED_VALUES_P är %i medan TYPE_CACHED_VALUES är %p" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "TYPE_CACHED_VALUES är inte TREE_VEC" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "fel TYPE_CACHED_VALUES-post" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "TREE_PURPOSE är icke-NULL i TYPE_ARG_TYPES-lista" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "Fel post i TYPE_ARG_TYPES-lista" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "TYPE_VALUES_RAW-fält är icke-NULL" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "TYPE_CACHED_VALUES_P är satt när det inte skulle vara det" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "TYPE_STRING_FLAG är satt på fel typkod" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "TYPE_STRING_FLAG är satt på på en typ som inte ser ut som vare sig char eller vektor av chars" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "TYPE_METHOD_BASETYPE är inte en huvudvariant" + +-#: tree.c:14221 ++#: tree.c:14229 + #, gcc-internal-format + msgid "verify_type failed" + msgstr "verify_type misslyckades" +@@ -23293,7 +23217,7 @@ + #: c-family/c-common.c:775 + #, gcc-internal-format + msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support" +-msgstr "stränglängden %qd är större än den längden %qd som ISO C%d kompilatorer skall stödja" ++msgstr "stränglängden %qd är större än den längden %qd som ISO C%d-kompilatorer skall stödja" + + #: c-family/c-common.c:959 + #, gcc-internal-format +@@ -23328,7 +23252,7 @@ + #: c-family/c-common.c:1263 + #, gcc-internal-format + msgid "negative integer implicitly converted to unsigned type" +-msgstr "negativt heltal implicit konverterat till unsigned typ" ++msgstr "negativt heltal implicit konverterat till teckenlös typ" + + #: c-family/c-common.c:1269 + #, gcc-internal-format +@@ -23428,7 +23352,7 @@ + #: c-family/c-common.c:3339 + #, gcc-internal-format + msgid "%<<<%> in boolean context, did you mean %<<%> ?" +-msgstr "%<<<%> in boolean context, did you mean %<<%>?" ++msgstr "%<<<%> i boolesk kontext, menade du %<<%>?" + + #: c-family/c-common.c:3355 + #, gcc-internal-format +@@ -23583,12 +23507,12 @@ + #: c-family/c-common.c:5537 c-family/c-common.c:5584 + #, gcc-internal-format + msgid "bad option %qs to attribute %" +-msgstr "felaktig flagga %s till attributet %" ++msgstr "felaktig flagga %qs till attributet %" + + #: c-family/c-common.c:5540 c-family/c-common.c:5588 + #, gcc-internal-format + msgid "bad option %qs to pragma %" +-msgstr "felaktig flagga %s till pragmat %" ++msgstr "felaktig flagga %qs till pragmat %" + + #: c-family/c-common.c:5620 + #, gcc-internal-format +@@ -23600,13 +23524,13 @@ + msgid "% attribute specified with a parameter" + msgstr "attributet % angivet med en parameter" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "för få argument till funktionen %qE" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "för många argument till funktionen %qE" +@@ -23684,7 +23608,7 @@ + #: c-family/c-common.c:6294 + #, gcc-internal-format + msgid "attempt to take address of bit-field structure member %qD" +-msgstr "försök att ta adressen till en medlemmen %qD i en bitfältspost" ++msgstr "försök att ta adressen till en medlem %qD i en bitfältspost" + + #: c-family/c-common.c:6346 + #, gcc-internal-format +@@ -23691,72 +23615,72 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "index %E anger ett avstånd större än storleken på %qT" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "storleken på vektorn är för stor" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, gcc-internal-format + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "operandtypen %qT är inkompatibel med argument %d till %qE" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "felaktigt antal argument till funktionen %qE" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "argument 1 till %qE måste vara pekartyp som inte pekar på void" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "argument 1 till %qE måste vara en pekare till en typ med konstant storlek" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "argument 1 till %qE måste vara en pekare till ett objekt av storlek större än noll" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "argument %d till %qE måste vara en pekartyp" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "argument %d till %qE måste vara en pekare till en typ med konstant storlek" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "argument %d till %qE får inte vara en pekare till en funktion" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "storleken stämmer inte i argument %d till %qE" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "ogiltig minnesmodellsargument %d till %qE" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "minnesmodellsargument %d som inte är heltal till %qE" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "indexvärdet är utanför gränsen" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -23764,22 +23688,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "inbyggd funktion %qE måste anropas direkt" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "storleken på vektorn %qE är för stor" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "storleken på en namnlös vektor är för stor" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "miljövariabeln SOURCE_DATE_EPOCH måste expandera till ett ickenegativt heltal mindre än eller lika med %wd" +@@ -23800,10 +23724,9 @@ + msgstr "argument för formatsträng är inte en strängtyp" + + #: c-family/c-format.c:210 +-#, fuzzy, gcc-internal-format +-#| msgid "found a %<%s%> reference but the format argument should be a string" ++#, gcc-internal-format + msgid "found a %qs reference but the format argument should be a string" +-msgstr "hittade en %<%s%>-referens men formatargumentet skall vara en sträng" ++msgstr "hittade en %qs-referens men formatargumentet skall vara en sträng" + + #: c-family/c-format.c:213 + #, gcc-internal-format +@@ -23811,16 +23734,14 @@ + msgstr "hittade en %qT men formatargumentet skall vara en sträng" + + #: c-family/c-format.c:223 +-#, fuzzy, gcc-internal-format +-#| msgid "format argument should be a %<%s%> reference but a string was found" ++#, gcc-internal-format + msgid "format argument should be a %qs reference but a string was found" +-msgstr "formatargumentet skulle vara en %<%s%>-referens men en sträng fanns" ++msgstr "formatargumentet skulle vara en %qs-referens men en sträng fanns" + + #: c-family/c-format.c:245 +-#, fuzzy, gcc-internal-format +-#| msgid "format argument should be a %<%s%> reference" ++#, gcc-internal-format + msgid "format argument should be a %qs reference" +-msgstr "formatargumentet skall vara en %<%s%>-referens" ++msgstr "formatargumentet skall vara en %qs-referens" + + #: c-family/c-format.c:289 + #, gcc-internal-format +@@ -24140,7 +24061,7 @@ + #: c-family/c-indentation.c:610 + #, gcc-internal-format + msgid "...this statement, but the latter is misleadingly indented as if it were guarded by the %qs" +-msgstr "" ++msgstr "… denna sats, men den senare är på ett missledande sätt indenterad som om den vore vaktad av %qs:en" + + #: c-family/c-lex.c:224 + #, gcc-internal-format +@@ -25047,7 +24968,7 @@ + #: c-family/c-warn.c:961 c-family/c-warn.c:965 + #, gcc-internal-format + msgid "conversion to %qT alters %qT constant value" +-msgstr "konvertering till %qT ändrar konstant %qT värde" ++msgstr "konvertering till %qT ändrar konstant %qT-värde" + + #: c-family/c-warn.c:985 c-family/c-warn.c:993 + #, gcc-internal-format +@@ -25062,7 +24983,7 @@ + #: c-family/c-warn.c:1024 + #, gcc-internal-format + msgid "large integer implicitly truncated to unsigned type" +-msgstr "stort heltal implicit trunkerat till unsigned typ" ++msgstr "stort heltal implicit trunkerat till teckenlös typ" + + #: c-family/c-warn.c:1030 c-family/c-warn.c:1037 c-family/c-warn.c:1045 + #, gcc-internal-format +@@ -25097,7 +25018,7 @@ + #: c-family/c-warn.c:1280 + #, gcc-internal-format + msgid "the omitted middle operand in ?: will always be %, suggest explicit middle operand" +-msgstr "de utelämnade mittoperanden i ?: kommer alltid att vara %, föreslår explicit mittoperand" ++msgstr "den utelämnade mittoperanden i ?: kommer alltid att vara %, föreslår explicit mittoperand" + + #: c-family/c-warn.c:1301 + #, gcc-internal-format +@@ -25423,7 +25344,7 @@ + #: c-family/c-warn.c:1830 + #, gcc-internal-format + msgid "promoted ~unsigned is always non-zero" +-msgstr "befordrat ~unsigned är alltid skild från noll" ++msgstr "befordrad ~unsigned är alltid skild från noll" + + #: c-family/c-warn.c:1833 + #, gcc-internal-format +@@ -25443,7 +25364,7 @@ + #: c-family/c-warn.c:1959 + #, gcc-internal-format + msgid "typedef %qD locally defined but not used" +-msgstr "typedef %q+D är lokalt definierad men inte använd" ++msgstr "typedef %qD är lokalt definierad men inte använd" + + #: c-family/c-warn.c:1994 + #, gcc-internal-format +@@ -25469,7 +25390,7 @@ + #: c-family/c-warn.c:2055 + #, gcc-internal-format + msgid "declaration of %q+D with attribute %qs follows declaration with attribute %qs" +-msgstr "deklarationen av %q+D med attributet %qs följer på en deklaration med attributet %qs " ++msgstr "deklarationen av %q+D med attributet %qs följer på en deklaration med attributet %qs" + + #: c-family/c-warn.c:2102 + #, gcc-internal-format +@@ -25542,7 +25463,7 @@ + msgid "too many input files" + msgstr "för många indatafiler" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "okänt värde %qs till -mcpu" +@@ -26000,184 +25921,179 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "funktionsmodifieraren %qs är inkompatibel med %s %s" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "okänd flagga skickad i -moverride=%s (%s)" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "%s-sträng är felformad\n" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "trimningssträngen saknas i flaggan (%s)" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "okänd trimningsflagga (%s)" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "giltiga argument är: %s; menade du %qs?" + +-#: config/aarch64/aarch64.c:8748 +-#, fuzzy, gcc-internal-format +-#| msgid "missing cpu name in -mcpu=%qs" ++#: config/aarch64/aarch64.c:8756 ++#, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" +-msgstr "cpu-namn saknas i -mcpu=%qs" ++msgstr "cpu-namn saknas i %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.c:8755 +-#, fuzzy, gcc-internal-format +-#| msgid "invalid feature modifier in -mcpu=%qs" ++#: config/aarch64/aarch64.c:8763 ++#, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" +-msgstr "ogiltig funktionsmodifierare i -mcpu=%qs" ++msgstr "ogiltig funktionsmodifierare i %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.c:8782 +-#, fuzzy, gcc-internal-format +-#| msgid "missing arch name in -march=%qs" ++#: config/aarch64/aarch64.c:8790 ++#, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" +-msgstr "arkitekturnamn saknas i -march=%qs" ++msgstr "arkitekturnamn saknas i %<-march=%s%>" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "okänt värde %qs till -march" + +-#: config/aarch64/aarch64.c:8789 +-#, fuzzy, gcc-internal-format +-#| msgid "invalid feature modifier in -march=%qs" ++#: config/aarch64/aarch64.c:8797 ++#, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" +-msgstr "ogiltig funktionsmodifierare i -march=%qs" ++msgstr "ogiltig funktionsmodifierare i %<-march=%s%>" + +-#: config/aarch64/aarch64.c:8815 +-#, fuzzy, gcc-internal-format +-#| msgid "missing cpu name in -mtune=%qs" ++#: config/aarch64/aarch64.c:8823 ++#, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" +-msgstr "cpu-namn saknas i -mtune=%qs" ++msgstr "cpu-namn saknas i %<-mtune=%s%>" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "okänt värde %qs till -mtune" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "flaggan -mcpu=%s står i konflikt med flaggan -march=%s" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" + msgstr "Assemblern stödjer inte -mabi=ilp32" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "Signering av returadress stödjs endast för -mabi=lp64" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "kodmodell %qs med -f%s" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "arkitekturnamn saknas i ”arch”-målet %s" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "okänt värde %qs till ”arch”-målet %s" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "ogiltig funktionsmodifierare %qs till ”arch”-målet %s" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "cpu-namn saknas till ”cpu”-målet %s" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "okänt värde %qs till ”cpu”-målet %s" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "ogiltig funktionsmodifierare %qs till ”cpu”-målet %s" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "okänt värde %qs till ”tune”-målet %s" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "funktionsmodifierare saknas till målet %s %qs" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "ogiltig funktionsmodifierare till målet %s %qs" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s" + msgstr "felaktigt mål %s" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "målet %s %qs tar inte något argument" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, gcc-internal-format + msgid "target %s %qs does not allow a negated form" + msgstr "målet %s %qs stödjer inte en negerad form" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "målet %s %s=%s är ogiltigt" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "argument till attribut % är inte en sträng" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" + msgstr "felaktigt målvärde %s" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "målet %s %qs är ogiltigt" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "felformad mål-%s-lista %qs" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "%Kbana %wd utanför intervallet %wd - %wd" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "bana %wd utanför intervallet %wd - %wd" +@@ -26279,7 +26195,7 @@ + #: config/arc/arc.c:850 config/arc/arc.c:858 + #, gcc-internal-format, gfc-internal-format + msgid "%s is not available for %s architecture" +-msgstr "%s är inte tillgängligt arkitekturen %s" ++msgstr "%s är inte tillgängligt för arkitekturen %s" + + #: config/arc/arc.c:879 + #, gcc-internal-format +@@ -26584,62 +26500,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "antalet skall inte vara mindre än 0. kontrollera den inbyggda _mm_sra_si64 i koden." + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "iWMMXt och NEON är inkompatibla" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "målprocessorn stödjer inte ARM-läge" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "aktivering av stöd för bakåtspårning är endast meningsfullt vid kompilering för Thumb" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "aktivering av stöd för anroparnätverkande är endast meningsfullt vid kompilering för Thumb" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g med -mno-apcs-frame ger kanske inte vettig felsökning" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "iWMMXt stödjs inte i Thumb-läge" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "det går inte att använda -mtp=cp15 med 16-bitars Thumb" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "RTP PIC är inkompatibel med Thumb" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "-mslow-flash-data stödjer endast icke-pic-kod på armv7-m-mål" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "-mpure-code stödjer endast icke-pic-kod på armv7-m-mål" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "målprocessorn stödjer inte THUMB-instruktioner" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "målprocessorn stödjer inte ojusterade åtkomster" +@@ -26646,128 +26562,133 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-mfpu=auto stödjs för närvarande inte utan en explicit CPU." + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "målprocessorn stödjer inte interworking" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check är inkompatibel med -mno-apcs-frame" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic och -mapcs-reent är inkompatibla" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "APCS-återanropsbar kod stödjs inte. Ignoreras" + +-#: config/arm/arm.c:3372 +-#, fuzzy, gcc-internal-format +-#| msgid "selected fp16 options are incompatible." ++#: config/arm/arm.c:3373 ++#, gcc-internal-format + msgid "selected fp16 options are incompatible" + msgstr "valda fp16-alternativ är inkompatibla" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "iwmmxt kräver ett AAPCS-kompatibelt ABI för att fungera riktigt" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "iwmmxt-abi kräver en CPU som klarar iwmmxt" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "AAPCS stödjer inte -mcaller-super-interworking" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "AAPCS stödjer inte -mcallee-super-interworking" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "__fp16 och ingen ldrh" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "-mfloat-abi=hard: den valda processorn saknar en FPU" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mfloat-abi=hard och VFP" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "storleksgräns för poster kan bara sättas till 8, 32 eller 64" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "storleksgräns för poster kan bara sättas till 8 eller 32" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "RTP PIC är inkompatibelt med -msingle-pic-base" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= är oanvändbar utan -fpic" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "kan inte använda ”%s” som PIC-register" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-freorder-blocks-and-partition stödjs inte på denna arkitektur" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, gcc-internal-format + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "målprocessorn stödjer inte ARMv8-M:s säkerhetstillägg" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "icke-AAPCS-härledd PCS-variant" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "variadiska funktioner måste använda bas-AAPCS-varianten" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "PCS-variant" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "Thumb-1 hårda flyttals VFP ABI" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "parameterskickandet för argument av typen %qT ändrades i GCC 7.1" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -26783,72 +26704,72 @@ + msgid "%qE attribute only applies to functions" + msgstr "attributet %qE är bara tillämpligt på funktioner" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "attributet %qE är inte tillgängligt för funktioner med argument som skickas på stacken" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, gcc-internal-format + msgid "%qE attribute not available to functions with variable number of arguments" +-msgstr "attributet %qE är inte tillgänglit för funktioner med ett variabelt antal argument" ++msgstr "attributet %qE är inte tillgängligt för funktioner med ett variabelt antal argument" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "attributet %qE är inte tillgängligt för funktioner som returnerar ett värde på stacken" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, gcc-internal-format + msgid "%qE attribute ignored without -mcmse option." + msgstr "attributet %qE ignorerat utan flaggan -mcmse." + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "attributet %qE har ingen effekt på funktioner med statisk länkklass" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, gcc-internal-format + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "attributet %qE är bara tillämpligt på bastypen av en funktionspekare" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "%K%s %wd utanför intervall %wd - %wd" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "%s %wd utanför intervall %wd - %wd" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "kan inte beräkna verklig plats för stackparameter" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "Oväntat långt thumb1-hopp" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "inga låga register tillgängliga för att poppa höga register" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "avbrottshanteringsrutiner kan inte kodas i Thumb-läge" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "-fstack-check=specific för Thumb-1" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, gcc-internal-format, gfc-internal-format + msgid "invalid fpu for attribute(target(\"%s\"))" + msgstr "ogiltig fpu för attribute(target(\"%s\"))" +@@ -26856,13 +26777,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" +-msgstr "automatiskt fpu-val är närvarande inte tillåtet här" ++msgstr "automatiskt fpu-val är för närvarande inte tillåtet här" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "attribute(target(\"%s\")) är okänt" +@@ -27045,7 +26966,7 @@ + #: config/avr/avr.c:9660 + #, gcc-internal-format + msgid "address space %qs not supported for devices with flash size up to %d KiB" +-msgstr "adressrymden %qs stödjs inte för enheter med flash-storlek upp til %d KiB" ++msgstr "adressrymden %qs stödjs inte för enheter med flash-storlek upp till %d KiB" + + #: config/avr/avr.c:9831 + #, gcc-internal-format +@@ -27503,7 +27424,7 @@ + #: config/i386/i386.c:4692 + #, gcc-internal-format + msgid "wrong argument %qs to option %qs" +-msgstr "felaktiga argument %qs till flaggan %qs" ++msgstr "felaktigt argument %qs till flaggan %qs" + + #: config/i386/i386.c:4698 + #, gcc-internal-format +@@ -27513,7 +27434,7 @@ + #: config/i386/i386.c:4708 + #, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" +-msgstr "felaktigt strateginamn %qs angivet till flaggan %s" ++msgstr "felaktigt strateginamn %qs angivet till flaggan %qs" + + #. rep; movq isn't available in 32-bit code. + #: config/i386/i386.c:4734 +@@ -27529,7 +27450,7 @@ + #: config/i386/i386.c:4757 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" +-msgstr "maxvärdet för den sista storleksintervallet skall vara -1 för flaggan %qs" ++msgstr "maxvärdet för det sista storleksintervallet skall vara -1 för flaggan %qs" + + #: config/i386/i386.c:4764 + #, gcc-internal-format +@@ -27549,13 +27470,12 @@ + #: config/i386/i386.c:5270 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" +-msgstr "% bör undvikas. Använd istället det som passar av % och %" ++msgstr "%<-mtune=x86-64%> bör undvikas. Använd istället det som passar av %<-mtune=k8%> och %<-mtune=generic%>" + + #: config/i386/i386.c:5272 +-#, fuzzy, gcc-internal-format +-#| msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" ++#, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" +-msgstr "% bör undvikas. Använd istället det som passar av % och %" ++msgstr "% bör undvikas. Använd istället det som passar av % och %" + + #. rep; movq isn't available in 32-bit code. + #: config/i386/i386.c:5299 +@@ -27602,10 +27522,9 @@ + + # "generic" är bokstavligt argument till flaggan + #: config/i386/i386.c:5425 +-#, fuzzy, gcc-internal-format +-#| msgid "% CPU can be used only for %<-mtune=%> switch" ++#, gcc-internal-format + msgid "% CPU can be used only for % attribute" +-msgstr "CPU % kan användas endast till flaggan %<-mtune=%>" ++msgstr "CPU % kan användas endast till attributet %" + + # "intel" är bokstavligt argument till flaggan + #: config/i386/i386.c:5432 +@@ -27615,10 +27534,9 @@ + + # "intel" är bokstavligt argument till flaggan + #: config/i386/i386.c:5434 +-#, fuzzy, gcc-internal-format +-#| msgid "% CPU can be used only for %<-mtune=%> switch" ++#, gcc-internal-format + msgid "% CPU can be used only for % attribute" +-msgstr "CPU % kan användas endast till flaggan %<-mtune=%>" ++msgstr "CPU % kan användas endast till attributet %" + + #: config/i386/i386.c:5442 config/i386/i386.c:5718 + #, gcc-internal-format +@@ -27636,10 +27554,9 @@ + msgstr "felaktigt värde (%qs) till flaggan %<-march=%>" + + #: config/i386/i386.c:5664 +-#, fuzzy, gcc-internal-format +-#| msgid "bad value (%qs) for %<-march=%> switch" ++#, gcc-internal-format + msgid "bad value (%qs) for % attribute" +-msgstr "felaktigt värde (%qs) till flaggan %<-march=%>" ++msgstr "felaktigt värde (%qs) till attributet %" + + #: config/i386/i386.c:5681 + #, gcc-internal-format +@@ -27647,10 +27564,9 @@ + msgstr "giltiga argument till flaggan %<-march=%> är: %s; menade du %qs?" + + #: config/i386/i386.c:5683 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" ++#, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" +-msgstr "giltiga argument till flaggan %<-march=%> är: %s; menade du %qs?" ++msgstr "giltiga argument till attributet % är: %s; menade du %qs?" + + #: config/i386/i386.c:5688 + #, gcc-internal-format +@@ -27658,10 +27574,9 @@ + msgstr "giltiga argument till flaggan %<-march=%> är: %s" + + #: config/i386/i386.c:5689 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %<-march=%> switch are: %s" ++#, gcc-internal-format + msgid "valid arguments to % attribute are: %s" +-msgstr "giltiga argument till flaggan %<-march=%> är: %s" ++msgstr "giltiga argument till attributet % är: %s" + + #: config/i386/i386.c:5736 + #, gcc-internal-format +@@ -27669,10 +27584,9 @@ + msgstr "felaktigt värde (%qs) till flaggan %<-mtune=%>" + + #: config/i386/i386.c:5737 +-#, fuzzy, gcc-internal-format +-#| msgid "bad value (%qs) for %<-mtune=%> switch" ++#, gcc-internal-format + msgid "bad value (%qs) for % attribute" +-msgstr "felaktigt värde (%qs) till flaggan %<-mtune=%>" ++msgstr "felaktigt värde (%qs) till attributet %" + + #: config/i386/i386.c:5752 + #, gcc-internal-format +@@ -27680,10 +27594,9 @@ + msgstr "giltiga argument till flaggan %<-mtune=%> är: %s; menade du %qs?" + + #: config/i386/i386.c:5754 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" ++#, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" +-msgstr "giltiga argument till flaggan %<-mtune=%> är: %s; menade du %qs?" ++msgstr "giltiga argument till attributet % är: %s; menade du %qs?" + + #: config/i386/i386.c:5759 + #, gcc-internal-format +@@ -27691,10 +27604,9 @@ + msgstr "giltiga argument till flaggan %<-mtune=%> är: %s" + + #: config/i386/i386.c:5760 +-#, fuzzy, gcc-internal-format +-#| msgid "valid arguments to %<-mtune=%> switch are: %s" ++#, gcc-internal-format + msgid "valid arguments to % attribute are: %s" +-msgstr "giltiga argument till flaggan %<-mtune=%> är: %s" ++msgstr "giltiga argument till attributet % är: %s" + + #: config/i386/i386.c:5826 + #, gcc-internal-format +@@ -27717,10 +27629,9 @@ + msgstr "%<-mrtd%> ignoreras i 64-bitsläge" + + #: config/i386/i386.c:5865 +-#, fuzzy, gcc-internal-format +-#| msgid "%<-mrtd%> is ignored in 64bit mode" ++#, gcc-internal-format + msgid "% is ignored in 64bit mode" +-msgstr "%<-mrtd%> ignoreras i 64-bitsläge" ++msgstr "% ignoreras i 64-bitsläge" + + #: config/i386/i386.c:5938 + #, gcc-internal-format +@@ -27753,10 +27664,9 @@ + msgstr "%<-msseregparm%> använd utan SSE aktiverat" + + #: config/i386/i386.c:5987 +-#, fuzzy, gcc-internal-format +-#| msgid "%<-msseregparm%> used without SSE enabled" ++#, gcc-internal-format + msgid "% used without SSE enabled" +-msgstr "%<-msseregparm%> använd utan SSE aktiverat" ++msgstr "% använt utan SSE aktiverat" + + #: config/i386/i386.c:5997 + #, gcc-internal-format +@@ -27774,10 +27684,9 @@ + msgstr "stackavkänning kräver %<-maccumulate-outgoing-args%> för att bli korrekt" + + #: config/i386/i386.c:6056 +-#, fuzzy, gcc-internal-format +-#| msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" ++#, gcc-internal-format + msgid "stack probing requires % for correctness" +-msgstr "stackavkänning kräver %<-maccumulate-outgoing-args%> för att bli korrekt" ++msgstr "stackavkänning kräver % för att bli korrekt" + + #: config/i386/i386.c:6070 + #, gcc-internal-format +@@ -27785,10 +27694,9 @@ + msgstr "fasta ebp-register kräver %<-maccumulate-outgoing-args%>" + + #: config/i386/i386.c:6072 +-#, fuzzy, gcc-internal-format +-#| msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" ++#, gcc-internal-format + msgid "fixed ebp register requires %" +-msgstr "fasta ebp-register kräver %<-maccumulate-outgoing-args%>" ++msgstr "fasta ebp-register kräver %" + + #: config/i386/i386.c:6178 + #, gcc-internal-format +@@ -27998,7 +27906,7 @@ + #: config/i386/i386.c:13824 + #, gcc-internal-format + msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." +-msgstr "Dynamic Realign Argument Pointer (DRAP) stödjs inte i avbrottshanteringsrutiner. Detta gan gås runt genom att undvika funktioner med sammansatta returvärden." ++msgstr "Dynamic Realign Argument Pointer (DRAP) stödjs inte i avbrottshanteringsrutiner. Detta kan gås runt genom att undvika funktioner med sammansatta returvärden." + + #: config/i386/i386.c:14836 + #, gcc-internal-format +@@ -28018,10 +27926,9 @@ + msgstr "-fsplit-stack stödjer inte 3 registerparametrar" + + #: config/i386/i386.c:17672 config/i386/i386.c:17686 +-#, fuzzy, gcc-internal-format +-#| msgid "unsupported operand size for extended register" ++#, gcc-internal-format + msgid "unsupported size for integer register" +-msgstr "ej stödd operandstorlek för utökat register" ++msgstr "ej stödd storlek för heltalsregister" + + #: config/i386/i386.c:17718 + #, gcc-internal-format +@@ -29028,16 +28935,14 @@ + msgstr "__delay_cycles() tar endast konstanta argument" + + #: config/msp430/msp430.c:2504 +-#, fuzzy, gcc-internal-format +-#| msgid "__delay_cycles only takes non-negative cycle counts." ++#, gcc-internal-format + msgid "__delay_cycles only takes non-negative cycle counts" +-msgstr "__delay_cycles tar endast ickenegativa antal cykler." ++msgstr "__delay_cycles tar endast ickenegativa antal cykler" + + #: config/msp430/msp430.c:2524 +-#, fuzzy, gcc-internal-format +-#| msgid "__delay_cycles is limited to 32-bit loop counts." ++#, gcc-internal-format + msgid "__delay_cycles is limited to 32-bit loop counts" +-msgstr "__delay_cycles är begränsad till 32-bitars slingräknare." ++msgstr "__delay_cycles är begränsad till 32-bitars slingräknare" + + #: config/msp430/msp430.c:2594 + #, gcc-internal-format +@@ -29102,10 +29007,9 @@ + msgstr "ogiltig warm-funktion för återställningsattribut" + + #: config/nds32/nds32.c:2707 +-#, fuzzy, gcc-internal-format +-#| msgid "position-independent code requires %qs" ++#, gcc-internal-format + msgid "position-independent code not supported" +-msgstr "positionsoberoende kod behöver %qs" ++msgstr "positionsoberoende kod stödjs inte" + + #: config/nios2/nios2.c:561 + #, gcc-internal-format +@@ -29313,10 +29217,9 @@ + msgstr "använder vector_length (%d), ignorerar %d" + + #: config/nvptx/nvptx.c:4675 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "using vector_length (%d), ignoring %d" ++#, gcc-internal-format, gfc-internal-format + msgid "using vector_length (%d), ignoring runtime setting" +-msgstr "använder vector_length (%d), ignorerar %d" ++msgstr "använder vector_length (%d), ignorerar körtidsinställningen" + + #: config/nvptx/nvptx.c:4685 + #, gcc-internal-format, gfc-internal-format +@@ -29498,7 +29401,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "vec_cmpne tar endast 2 argument" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "vec_adde tar endast 3 argument" +@@ -29508,42 +29411,42 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "vec_addec tar endast 3 argument" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%s tar endast %d argument" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%s tar endast ett argument" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%s tar bara 2 argument" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "vec_extract tar endast 2 argument" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "vec_insert tar endast 3 argument" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, gcc-internal-format + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "att skicka argument %d till %qE kastar kvalificerare från pekarmåltyp" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "Den inbyggda funktionen %s stödjs inte i denna kompilatorkonfiguration" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, gcc-internal-format, gfc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %s" + msgstr "ogiltigt parameterkombination för inbyggd %s i AltiVec" +@@ -29601,7 +29504,7 @@ + #: config/rs6000/rs6000.c:4145 + #, gcc-internal-format + msgid "not configured for SPE ABI" +-msgstr "inte konfigurerad för SPE-ABI:" ++msgstr "inte konfigurerad för SPE-ABI" + + #: config/rs6000/rs6000.c:4150 + #, gcc-internal-format +@@ -29636,15 +29539,14 @@ + #. Enforce that none of the ISA_3_0_MASKS_SERVER flags + #. were explicitly cleared. + #: config/rs6000/rs6000.c:4301 config/rs6000/rs6000.c:4312 +-#, fuzzy, gcc-internal-format +-#| msgid "-mcmodel incompatible with other toc options" ++#, gcc-internal-format + msgid "-mpower9-minmax incompatible with explicitly disabled options" +-msgstr "-mcmodel är inkompatibel med andra toc-flaggor" ++msgstr "-mpower9-minmax är inkompatibel med uttryckligen avaktiverade flaggor" + + #: config/rs6000/rs6000.c:4304 + #, gcc-internal-format + msgid "Power9 target option is incompatible with -mcpu= for less than power9" +-msgstr "" ++msgstr "Målflaggan för power9 är inkompatibel med -mcpu= för som är mindre än power9" + + #: config/rs6000/rs6000.c:4336 + #, gcc-internal-format +@@ -29723,7 +29625,7 @@ + #: config/rs6000/rs6000.c:4647 + #, gcc-internal-format + msgid "-mpower9-dform, -mpower9-dform-vector, -mpower9-dform-scalar require -mdirect-move" +-msgstr "" ++msgstr "-mpower9-dform, -mpower9-dform-vector, -mpower9-dform-scalar kräver -mdirect-move" + + #: config/rs6000/rs6000.c:4670 + #, gcc-internal-format +@@ -29791,10 +29693,9 @@ + msgstr "-mfloat128-hardware behöver fullt ISA 3.0-stöd" + + #: config/rs6000/rs6000.c:4867 +-#, fuzzy, gcc-internal-format +-#| msgid "-mfloat128-hardware requires -mfloat128-type" ++#, gcc-internal-format + msgid "-mfloat128-hardware requires -m64" +-msgstr "-mfloat128-hardware behöver -mfloat128-type" ++msgstr "-mfloat128-hardware behöver -m64" + + #: config/rs6000/rs6000.c:4931 + #, gcc-internal-format, gfc-internal-format +@@ -30211,13 +30112,12 @@ + #: config/rs6000/rs6000.c:39777 + #, gcc-internal-format, gfc-internal-format + msgid "-mno-%s turns off -m%s" +-msgstr "" ++msgstr "-mno-%s slår av -m%s" + + #: config/rs6000/rs6000.c:39794 +-#, fuzzy, gcc-internal-format +-#| msgid "-mpower9-vector requires -mpower8-vector" ++#, gcc-internal-format + msgid "-mno-power9-vector turns off -mpower9-dform" +-msgstr "-mpower9-vector behöver -mpower8-vector" ++msgstr "-mno-power9-vector slår av -mpower9-dform" + + #. Definitions of target machine for GNU compiler, + #. for IBM RS/6000 POWER running AIX version 4.3. +@@ -30508,22 +30408,19 @@ + msgstr "inbyggd %qF är endast för GCC:s interna användning." + + #: config/s390/s390-c.c:879 +-#, fuzzy, gcc-internal-format +-#| msgid "%qs is deprecated" ++#, gcc-internal-format + msgid "builtin %qF is deprecated." +-msgstr "%qs bör undvikas" ++msgstr "inbyggd %qF bör undvikas." + + #: config/s390/s390-c.c:883 +-#, fuzzy, gcc-internal-format +-#| msgid "-mvsx-timode requires -mvsx" ++#, gcc-internal-format + msgid "%qF requires -mvx" +-msgstr "-mvsx-timode behöver -mvsx" ++msgstr "%qF behöver -mvx" + + #: config/s390/s390-c.c:889 +-#, fuzzy, gcc-internal-format +-#| msgid "ABI requires -march=rv%d" ++#, gcc-internal-format + msgid "%qF requires -march=arch12 or higher" +-msgstr "ABI:et kräver -march=rv%d" ++msgstr "%qF behöver -march=arch12 eller högre" + + #: config/s390/s390-c.c:903 + #, gcc-internal-format +@@ -30543,13 +30440,12 @@ + #: config/s390/s390-c.c:966 + #, gcc-internal-format + msgid "%qs matching variant requires -march=arch12 or higher" +-msgstr "" ++msgstr "%qs-matchning kräver -march=arch12 eller högre" + + #: config/s390/s390-c.c:972 +-#, fuzzy, gcc-internal-format +-#| msgid "%qs is deprecated" ++#, gcc-internal-format + msgid "%qs matching variant is deprecated." +-msgstr "%qs bör undvikas" ++msgstr "%qs-matchningsvariant bör undvikas" + + #: config/s390/s390-c.c:1012 + #, gcc-internal-format +@@ -30572,15 +30468,14 @@ + msgstr "inbyggd %qF stödjs inte utan -mhtm (standard med -march=zEC12 och högre)." + + #: config/s390/s390.c:843 +-#, fuzzy, gcc-internal-format +-#| msgid "builtin %qF is not supported without -mvx (default with -march=z13 and higher)." ++#, gcc-internal-format + msgid "builtin %qF requires -mvx (default with -march=z13 and higher)." +-msgstr "inbyggd %qF stödjs inte utan -mvx (standard med -march=z13 och högre)." ++msgstr "inbyggd %qF behöver -mvx (standard med -march=z13 och högre)." + + #: config/s390/s390.c:850 + #, gcc-internal-format + msgid "Builtin %qF requires arch12 or higher." +-msgstr "" ++msgstr "Inbyggd %qF kräver arch12 eller högre." + + #: config/s390/s390.c:869 + #, gcc-internal-format +@@ -30603,114 +30498,114 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "begärt attribut %qE är inte ett kommaseparerat par av ickenegativa heltalskonstanter eller för stort (max. %d)" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "totala storleken på lokala variabler överskrider arkitekturens gräns" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "ramstorleken för funktionen %qs är %wd byte vilket överskrider användarens valda stackgräns på %d byte. En ovillkorlig fälla läggs till." + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "ramstorleken för funktionen %qs är %wd byte vilket är mer än hälften av stackstorleken. Den dynamiska kontrollen skulle inte vara pålitlig. Ingen kontroll läggs ut för denna funktion." + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "ramstorlek på %qs är %wd byte" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "%qs använder dynamisk stackallokering" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "CPU:er äldre än z900 stödjs inte med -fsplit-stack" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "%sarch=%s%s bör undvikas och kommer tas bort i framtida utgåvor; använd åtminstone %sarch=z900%s" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "%stune=%s%s bör undvikas och kommer tas bort i framtida utgåvor; använd åtminstone %stune=z900%s" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "z/Architecture-läge stödjs inte på %s" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "64-bits ABI stödjs inte i ESA/390-läge" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "vektorstöd i hårdvara är inte tillgängliga på %s" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "stöd för hårdvaruvektorer är inte tillgängligt med -msoft-float" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "hårdvaruinstruktioner för decimala flyttal är inte tillgängliga på %s" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "hårdvaruinstruktioner för decimalflyttal är inte tillgängliga i läget ESA/390" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "-mhard-dfp kan inte användas tillsammans med -msoft-float" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "-mbackchain -mpacked-stack -mhard-float stödjs inte i kombination" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "stackstorlek måste vara större än stackvaktsvärdet" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "stackstorlek får inte vara större än 64 k" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "-mstack-guard implicerar användning av -mstack-size" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, gcc-internal-format + msgid "arguments to %qs should be non-negative integers" + msgstr "argumenten till %qs skall vara ickenegativa heltal" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "argumentet till %qs är för stort (max. %d)" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "värdet %qs stödjs inte av attributet %" +@@ -33404,10 +33299,9 @@ + msgstr "kvalificeraren %E ignorerad på asm" + + #: c/c-parser.c:6175 +-#, fuzzy, gcc-internal-format +-#| msgid "expected %<,%> or %<)%>" ++#, gcc-internal-format + msgid "expected %<:%> or %<)%>" +-msgstr "%<,%> eller %<)%> förväntades" ++msgstr "%<:%> eller %<)%> förväntades" + + #: c/c-parser.c:6487 + #, gcc-internal-format +@@ -33480,10 +33374,9 @@ + msgstr "kompatibla typen finns här" + + #: c/c-parser.c:7466 +-#, fuzzy, gcc-internal-format +-#| msgid "%<_Generic> selector matches multiple associations" ++#, gcc-internal-format + msgid "%<_Generic%> selector matches multiple associations" +-msgstr "%<_Generic>-väljare matchar flera associationer" ++msgstr "%<_Generic%>-väljare matchar flera associationer" + + #: c/c-parser.c:7468 + #, gcc-internal-format +@@ -33666,10 +33559,9 @@ + #: cp/parser.c:35805 cp/parser.c:38116 cp/parser.c:38131 cp/parser.c:38147 + #: cp/parser.c:38163 cp/parser.c:38179 cp/parser.c:38207 cp/parser.c:38220 + #: cp/parser.c:38243 cp/parser.c:38256 +-#, fuzzy, gcc-internal-format +-#| msgid "%<#pragma omp flush%> may only be used in compound statements" ++#, gcc-internal-format + msgid "%<#pragma %s%> may only be used in compound statements" +-msgstr "%<#pragma omp flush%> får bara användas i sammansatta satser" ++msgstr "%<#pragma %s%> får bara användas i sammansatta satser" + + #: c/c-parser.c:10214 cp/parser.c:38233 + #, gcc-internal-format +@@ -33963,7 +33855,7 @@ + #: c/c-parser.c:13783 cp/parser.c:36161 + #, gcc-internal-format + msgid "array section in %<#pragma acc declare%>" +-msgstr "vektorsektionen i %" ++msgstr "vektorsektionen i %<#pragma acc declare%>" + + #: c/c-parser.c:13803 cp/parser.c:36181 + #, gcc-internal-format +@@ -33991,10 +33883,9 @@ + msgstr "variabeln %qD använd mer än en gång med %<#pragma acc declare%>" + + #: c/c-parser.c:13933 cp/parser.c:36305 +-#, fuzzy, gcc-internal-format +-#| msgid "expected % after %<#pragma acc enter%>" ++#, gcc-internal-format + msgid "expected % after %<#pragma acc %s%>" +-msgstr "% förväntades efter %<#pragma acc enter%>" ++msgstr "% förväntades efter %<#pragma acc %s%>" + + #: c/c-parser.c:13949 cp/parser.c:36322 + #, gcc-internal-format +@@ -34032,16 +33923,14 @@ + msgstr "%<#pragma acc routine%> redan använd på %qD" + + #: c/c-parser.c:14277 cp/parser.c:37585 +-#, fuzzy, gcc-internal-format +-#| msgid "%<#pragma acc routine%> must be applied before %s" ++#, gcc-internal-format + msgid "%<#pragma acc routine%> must be applied before use" +-msgstr "%<#pragma acc routine%> måste vara tillämpad före %s" ++msgstr "%<#pragma acc routine%> måste vara tillämpad före användning" + + #: c/c-parser.c:14278 cp/parser.c:37586 +-#, fuzzy, gcc-internal-format +-#| msgid "%<#pragma acc routine%> must be applied before %s" ++#, gcc-internal-format + msgid "%<#pragma acc routine%> must be applied before definition" +-msgstr "%<#pragma acc routine%> måste vara tillämpad före %s" ++msgstr "%<#pragma acc routine%> måste vara tillämpad före definitionen" + + #: c/c-parser.c:14321 cp/parser.c:36497 + #, gcc-internal-format +@@ -34196,7 +34085,7 @@ + #: c/c-parser.c:16813 cp/parser.c:36749 + #, gcc-internal-format + msgid "%<#pragma omp declare target%> with clauses in between %<#pragma omp declare target%> without clauses and %<#pragma omp end declare target%>" +-msgstr "%<#pragma omp declare target%> med klausuler mellan %<#pragma omp declare target%> utan klasusuler och %<#pragma omp end declare target%>" ++msgstr "%<#pragma omp declare target%> med klausuler mellan %<#pragma omp declare target%> utan klausuler och %<#pragma omp end declare target%>" + + #: c/c-parser.c:16832 cp/parser.c:36768 + #, gcc-internal-format +@@ -34888,7 +34777,7 @@ + #: c/c-typeck.c:5524 + #, gcc-internal-format, gfc-internal-format + msgid "cast to %s address space pointer from disjoint generic address space pointer" +-msgstr "typkonvertering till adressrymdspekare %s från skild generisk adressrymdspekare " ++msgstr "typkonvertering till adressrymdspekare %s från skild generisk adressrymdspekare" + + #: c/c-typeck.c:5529 + #, gcc-internal-format, gfc-internal-format +@@ -36082,7 +35971,7 @@ + #: cp/call.c:3509 + #, gcc-internal-format + msgid " conversion from return type %qT of template conversion function specialization to %qT is not an exact match" +-msgstr " konvertering från returtypen %qT för specialiceringen av mallkonverteringsfunktionen till %qT är inte en exakt matchning" ++msgstr " konvertering från returtypen %qT för specialiseringen av mallkonverteringsfunktionen till %qT är inte en exakt matchning" + + #: cp/call.c:3520 + #, gcc-internal-format +@@ -36529,16 +36418,14 @@ + msgstr "pure virtual %q#D anropad från initierare av ickestatisk datamedlem" + + #: cp/call.c:8777 +-#, fuzzy, gcc-internal-format +-#| msgid "pure virtual %q#D called from non-static data member initializer" ++#, gcc-internal-format + msgid "pure virtual %q#D called from constructor" +-msgstr "pure virtual %q#D anropad från initierare av ickestatisk datamedlem" ++msgstr "pure virtual %q#D anropad från en konstruerare" + + #: cp/call.c:8778 +-#, fuzzy, gcc-internal-format +-#| msgid "pure virtual %q#D called from non-static data member initializer" ++#, gcc-internal-format + msgid "pure virtual %q#D called from destructor" +-msgstr "pure virtual %q#D anropad från initierare av ickestatisk datamedlem" ++msgstr "pure virtual %q#D anropad från en destruerare" + + #: cp/call.c:8801 + #, gcc-internal-format +@@ -36839,7 +36726,7 @@ + #: cp/class.c:3788 + #, gcc-internal-format + msgid "non-static data member %q+D in a union may not have reference type %qT" +-msgstr "icke-statisk datamedlem %q#D i en union får inte ha referenstyp %qT" ++msgstr "icke-statisk datamedlem %q+D i en union får inte ha referenstyp %qT" + + #: cp/class.c:3798 + #, gcc-internal-format +@@ -37968,7 +37855,7 @@ + #: cp/decl.c:1325 + #, gcc-internal-format + msgid "redeclaration %qD differs in % from previous declaration" +-msgstr "omdeklaration av %q+D skiljer i % från tidigare deklaration" ++msgstr "omdeklaration av %qD skiljer i % från tidigare deklaration" + + #: cp/decl.c:1328 cp/decl.c:13702 + #, gcc-internal-format +@@ -38343,7 +38230,7 @@ + #: cp/decl.c:4178 + #, gcc-internal-format, gfc-internal-format + msgid "-faligned-new=%d is not a power of two" +-msgstr "-falign-new=%d är inte en exponent av två" ++msgstr "-faligned-new=%d är inte en exponent av två" + + #: cp/decl.c:4641 + #, gcc-internal-format +@@ -38740,7 +38627,7 @@ + #: cp/decl.c:6785 cp/decl.c:12397 + #, gcc-internal-format + msgid "ISO C++1z does not allow % storage class specifier" +-msgstr "ISO C++1z tillåter inte specificeraren % av lagringsklass" ++msgstr "ISO C++1z tillåter inte specificeraren % av lagringsklass" + + #: cp/decl.c:6789 cp/decl.c:12401 + #, gcc-internal-format +@@ -39036,7 +38923,7 @@ + #: cp/decl.c:8762 + #, gcc-internal-format + msgid "deduction guide %qD must be declared at namespace scope" +-msgstr "härledningsguden %qD måste deklareras med namnrymdsräckvidd" ++msgstr "härledningsguiden %qD måste deklareras med namnrymdsräckvidd" + + #: cp/decl.c:8768 + #, gcc-internal-format +@@ -39054,16 +38941,14 @@ + msgstr "%qD har en ogiltig argumentlista" + + #: cp/decl.c:8798 +-#, fuzzy, gcc-internal-format +-#| msgid "integer suffix %<%s%> shadowed by implementation" ++#, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" +-msgstr "heltalssuffixet %<%s%> skuggas av implementationen" ++msgstr "heltalssuffixet %qs skuggas av implementationen" + + #: cp/decl.c:8804 +-#, fuzzy, gcc-internal-format +-#| msgid "floating point suffix %<%s%> shadowed by implementation" ++#, gcc-internal-format + msgid "floating point suffix %qs shadowed by implementation" +-msgstr "flyttalssuffixet %<%s%> skuggas av implementationen" ++msgstr "flyttalssuffixet %qs skuggas av implementationen" + + #: cp/decl.c:8810 + #, gcc-internal-format +@@ -39118,17 +39003,17 @@ + #: cp/decl.c:9280 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" +-msgstr "% behövs för initiering i klassen av statisk datamedlem med icke heltaltyp %q#D" ++msgstr "% behövs för initiering i klassen av statisk datamedlem med icke heltalstyp %q#D" + + #: cp/decl.c:9284 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" +-msgstr "initiering i klassen av statisk datamedlem med icke heltaltyp %q#D" ++msgstr "initiering i klassen av statisk datamedlem med icke heltalstyp %q#D" + + #: cp/decl.c:9298 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" +-msgstr "ogiltig initiering i klassen av statisk datamedlem med icke heltaltyp %qT" ++msgstr "ogiltig initiering i klassen av statisk datamedlem med icke heltalstyp %qT" + + #: cp/decl.c:9305 + #, gcc-internal-format +@@ -39323,7 +39208,7 @@ + #: cp/decl.c:9846 + #, gcc-internal-format + msgid "inline variables are only available with -std=c++1z or -std=gnu++1z" +-msgstr "inline-variabler är endast tillgängliga med -std=c++11 eller -std=gnu++11" ++msgstr "inline-variabler är endast tillgängliga med -std=c++1z eller -std=gnu++1z" + + #: cp/decl.c:10099 + #, gcc-internal-format +@@ -39478,7 +39363,7 @@ + #: cp/decl.c:10590 + #, gcc-internal-format + msgid "template placeholder type %qT must be followed by a simple declarator-id" +-msgstr "mallens platshållartyp %qT måste följas av ett enklel deklarerar-id" ++msgstr "mallens platshållartyp %qT måste följas av ett enkelt deklarerar-id" + + #: cp/decl.c:10608 + #, gcc-internal-format +@@ -39563,7 +39448,7 @@ + #: cp/decl.c:10696 + #, gcc-internal-format + msgid "decomposition declaration cannot be declared %" +-msgstr "dekomoneringsdeklarationen får inte deklareras %" ++msgstr "dekomponeringsdeklarationen får inte deklareras %" + + #: cp/decl.c:10700 + #, gcc-internal-format +@@ -39573,7 +39458,7 @@ + #: cp/decl.c:10711 + #, gcc-internal-format + msgid "decomposition declaration cannot be declared with type %qT" +-msgstr "dekompneringsdeklarationen får inte deklareras med typen %qT" ++msgstr "dekomponeringsdeklarationen får inte deklareras med typen %qT" + + #: cp/decl.c:10714 + #, gcc-internal-format +@@ -39663,7 +39548,7 @@ + #: cp/decl.c:11007 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" +-msgstr "den avslutande returtypen %qT hos deduktionsguiden är inte en specialicering av %qT" ++msgstr "den avslutande returtypen %qT hos deduktionsguiden är inte en specialisering av %qT" + + #. Not using maybe_warn_cpp0x because this should + #. always be an error. +@@ -39703,10 +39588,9 @@ + msgstr "destruerare får inte vara ref-kvalificerade" + + #: cp/decl.c:11072 +-#, fuzzy, gcc-internal-format +-#| msgid "destructors may not be ref-qualified" ++#, gcc-internal-format + msgid "constructors may not be ref-qualified" +-msgstr "destruerare får inte vara ref-kvalificerade" ++msgstr "konstruerare får inte vara ref-kvalificerade" + + #: cp/decl.c:11090 + #, gcc-internal-format +@@ -39950,10 +39834,9 @@ + msgstr "ej statisk datamedlem deklarerad med platshållaren %qT" + + #: cp/decl.c:11873 +-#, fuzzy, gcc-internal-format +-#| msgid "ISO C++ forbids flexible array members" ++#, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" +-msgstr "ISO C++ förbjuder flexibla vektormedlemmar" ++msgstr "ISO C++ förbjuder den flexibla vektormedlemen %qs" + + #: cp/decl.c:11876 + #, gcc-internal-format +@@ -40503,10 +40386,9 @@ + msgstr "ökat uppräkningsvärde är för stort för %" + + #: cp/decl.c:14532 +-#, fuzzy, gcc-internal-format +-#| msgid "incremented enumerator value is too large for %" ++#, gcc-internal-format + msgid "incremented enumerator value is too large for %" +-msgstr "ökat uppräkningsvärde är för stort för %" ++msgstr "ökat uppräkningsvärde är för stort för %" + + #: cp/decl.c:14543 + #, gcc-internal-format +@@ -41354,13 +41236,12 @@ + #: cp/init.c:2868 + #, gcc-internal-format + msgid "non-constant array new length must be specified directly, not by typedef" +-msgstr "" ++msgstr "en ny längd för en icke-konstant vektor måste anges direkt, inte av en typedef" + + #: cp/init.c:2870 +-#, fuzzy, gcc-internal-format +-#| msgid "try removing the parentheses around the type-id" ++#, gcc-internal-format + msgid "non-constant array new length must be specified without parentheses around the type-id" +-msgstr "försök ta bort parenteserna runt typ-id:t" ++msgstr "new-längden för en icke-konstant vektor måste anges utan parenteserna runt typ-id:t" + + #: cp/init.c:2880 + #, gcc-internal-format +@@ -41691,7 +41572,7 @@ + #: cp/method.c:1799 + #, gcc-internal-format + msgid "%q#D inherits from multiple base subobjects" +-msgstr "%q#D ärver från flera bassubjobjekt" ++msgstr "%q#D ärver från flera bassubobjekt" + + #: cp/method.c:1819 + #, gcc-internal-format +@@ -42031,10 +41912,9 @@ + msgstr "argumentberoende uppslagning hittar %q+D" + + #: cp/name-lookup.c:6215 +-#, fuzzy, gcc-internal-format +-#| msgid "definition of std::initializer_list does not match #include " ++#, gcc-internal-format + msgid "declaration of std::initializer_list does not match #include , isn't a template" +-msgstr "definitionen av std::initializer_list matchar inte #include " ++msgstr "definitionen av std::initializer_list matchar inte #include , är inte en mall" + + #: cp/name-lookup.c:6526 + #, gcc-internal-format +@@ -44403,7 +44283,7 @@ + #: cp/pt.c:2993 + #, gcc-internal-format + msgid "friend declaration %qD is not visible to explicit specialization" +-msgstr "vändeklarationen %qD är inte synlig för en explicit specialisering" ++msgstr "vändeklarationen %qD är inte synlig för en explicit specialisering" + + #: cp/pt.c:2996 + #, gcc-internal-format +@@ -44736,7 +44616,7 @@ + #: cp/pt.c:6147 + #, gcc-internal-format + msgid " template parameter %qD is not a parameter pack, but argument %qD is" +-msgstr "mallparameter %qD är inte ett parameterpaket, men argument %qD är det" ++msgstr " mallparameter %qD är inte ett parameterpaket, men argument %qD är det" + + #: cp/pt.c:6158 + #, gcc-internal-format +@@ -45213,7 +45093,7 @@ + #: cp/pt.c:17236 + #, gcc-internal-format + msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" +-msgstr "" ++msgstr "%qD deklarerades inte i detta definitionsområde, och inga deklarationer hittades av en argumentberoende uppslagning vid instansieringspunkten" + + #: cp/pt.c:17265 + #, gcc-internal-format +@@ -45719,16 +45599,14 @@ + msgstr "användning av parameter från den kringliggande funktionen" + + #: cp/semantics.c:3514 +-#, fuzzy, gcc-internal-format +-#| msgid "use of parameter from containing function" ++#, gcc-internal-format + msgid "use of parameter outside function body" +-msgstr "användning av parameter från den kringliggande funktionen" ++msgstr "användning av parameter utanför funktionskroppen" + + #: cp/semantics.c:3524 +-#, fuzzy, gcc-internal-format +-#| msgid "missing template arguments after %qT" ++#, gcc-internal-format + msgid "missing template arguments" +-msgstr "mallargument saknas efter %qT" ++msgstr "mallargument saknas" + + #: cp/semantics.c:3551 + #, gcc-internal-format +@@ -46077,7 +45955,7 @@ + #: cp/tree.c:3893 + #, gcc-internal-format + msgid "%qE attribute applied to %qD with void return type" +-msgstr "attributet %qE tillämpad på %qD med returtypen void" ++msgstr "attributet %qE tillämpat på %qD med returtypen void" + + #: cp/tree.c:3900 + #, gcc-internal-format +@@ -46629,7 +46507,7 @@ + #: cp/typeck.c:5931 + #, gcc-internal-format + msgid "%<~%> on an expression of type bool" +-msgstr "%<~%> på ett yttryck av typ bool" ++msgstr "%<~%> på ett uttryck av typ bool" + + #: cp/typeck.c:5932 + #, gcc-internal-format +@@ -47183,10 +47061,9 @@ + msgstr "ogiltig användning av medlem %qD (glömde du %<&%>?)" + + #: cp/typeck2.c:529 +-#, fuzzy, gcc-internal-format +-#| msgid "invalid use of %qT" ++#, gcc-internal-format + msgid "invalid use of placeholder %qT" +-msgstr "ogiltigt användning av %qT" ++msgstr "ogiltig användning av platshållaren %qT" + + #: cp/typeck2.c:536 + #, gcc-internal-format +@@ -47873,10 +47750,9 @@ + msgstr "%qs vid %L måste vara ickenegativt" + + #: fortran/check.c:310 +-#, fuzzy, gcc-internal-format +-#| msgid "%qs argument of %qs intrinsic at %L must be %s" ++#, gcc-internal-format + msgid "%qs argument of %qs intrinsic at %L must be positive" +-msgstr "%qs-argumentet till inbyggd %qs vid %L måste vara %s" ++msgstr "%qs-argumentet till inbyggd %qs vid %L måste vara positivt" + + #: fortran/check.c:343 + #, gcc-internal-format +@@ -48030,16 +47906,14 @@ + msgstr "VALUE-argumentet till den inbyggda funktionen %s vid %L måste vara definierbart" + + #: fortran/check.c:1173 fortran/check.c:1187 +-#, fuzzy, gcc-internal-format +-#| msgid "%qs argument of %qs intrinsic at %L must be %s" ++#, gcc-internal-format + msgid "%qs argument of %qs intrinsic at %L not yet supported" +-msgstr "%qs-argumentet till inbyggd %qs vid %L måste vara %s" ++msgstr "%qs-argumentet till inbyggd %qs vid %L stödjs inte ännu" + + #: fortran/check.c:1207 +-#, fuzzy, gcc-internal-format +-#| msgid "%qs argument of %qs intrinsic at %L is not a valid dimension index" ++#, gcc-internal-format + msgid "%qs argument of %qs intrinsic at %L shall specify a valid integer kind" +-msgstr "%qs-argumentet till inbyggd %qs vid %L är inte ett giltigt dimensionsindex" ++msgstr "%qs-argumentet till inbyggd %qs vid %L skall ange en giltig heltalssort" + + #: fortran/check.c:1247 fortran/check.c:1344 + #, gcc-internal-format, gfc-internal-format +@@ -48355,7 +48229,7 @@ + #: fortran/check.c:3467 + #, gcc-internal-format, gfc-internal-format + msgid "The FROM and TO arguments at %L violate aliasing restrictions (F2003 12.4.1.7)" +-msgstr "Argumenten FROM och TO vid %L bryter mod restriktioner (F2003 12.4.1.7)" ++msgstr "Argumenten FROM och TO vid %L bryter aliasrestriktioner (F2003 12.4.1.7)" + + #: fortran/check.c:3494 + #, gcc-internal-format +@@ -48700,7 +48574,7 @@ + #: fortran/check.c:5454 + #, gcc-internal-format + msgid "%qs and %qs arguments of %qs intrinsic at %L must have identical shape." +-msgstr "%qs- och %qs-argumenten till inbyggd %qs vid %L måste ha identiska former" ++msgstr "%qs- och %qs-argumenten till inbyggd %qs vid %L måste ha identiska former." + + #: fortran/check.c:5710 fortran/check.c:5742 + #, gcc-internal-format +@@ -49067,7 +48941,7 @@ + #: fortran/decl.c:1878 + #, gcc-internal-format + msgid "Component %qs with CLASS at %C must be allocatable or pointer" +-msgstr "Procedur %qs med CLASS vid %C måste vara allokerbar eller en pekare" ++msgstr "Komponenten %qs med CLASS vid %C måste vara allokerbar eller en pekare" + + #: fortran/decl.c:1887 + #, gcc-internal-format, gfc-internal-format +@@ -49379,7 +49253,7 @@ + #: fortran/decl.c:4213 + #, gcc-internal-format, gfc-internal-format + msgid "%s at %L is a DEC extension, enable with -fdec-static" +-msgstr "%s vid %L är en DEC-utökning, aktivera den med -fdec-structure" ++msgstr "%s vid %L är en DEC-utökning, aktivera den med -fdec-static" + + #: fortran/decl.c:4229 + #, gcc-internal-format, gfc-internal-format +@@ -50128,10 +50002,9 @@ + msgstr "Misslyckades att skapa en post av typen ”%s” vid %C" + + #: fortran/decl.c:8590 +-#, fuzzy, gcc-internal-format +-#| msgid "Type definition of '%s' at %C was already defined at %L" ++#, gcc-internal-format + msgid "Type definition of %qs at %C was already defined at %L" +-msgstr "Typdefinitionen av ”%s” vid %C definierades redan vid %L" ++msgstr "Typdefinitionen av %qs vid %C definierades redan vid %L" + + #: fortran/decl.c:8637 + #, gcc-internal-format, gfc-internal-format +@@ -50159,10 +50032,9 @@ + msgstr "Skräp efter icke nästad STRUCTURE-sats vid %C" + + #: fortran/decl.c:8743 +-#, fuzzy, gcc-internal-format +-#| msgid "Structure name '%s' at %C cannot be the same as an intrinsic type" ++#, gcc-internal-format + msgid "Structure name %qs at %C cannot be the same as an intrinsic type" +-msgstr "Postnamnet ”%s” vid %C får inte vara samma som en inbyggd typ" ++msgstr "Postnamnet %qs vid %C får inte vara samma som en inbyggd typ" + + #: fortran/decl.c:8897 + #, gcc-internal-format, gfc-internal-format +@@ -50580,8 +50452,7 @@ + msgstr "Ogiltigt initieringsuttryck för ALLOCATABLE-komponent %qs i postkonstrueraren vid %L" + + #: fortran/expr.c:2323 +-#, fuzzy, gcc-internal-format +-#| msgid "Assumed or deferred character length variable %qs in constant expression at %L" ++#, gcc-internal-format + msgid "Assumed or deferred character length variable %qs in constant expression at %L" + msgstr "Teckenlängdsvariabel %qs med antagen eller fördröjd längd i konstant uttryck vid %L" + +@@ -50656,10 +50527,9 @@ + msgstr "Specifikationsfunktionen %qs vid %L måste vara PURE" + + #: fortran/expr.c:2795 +-#, fuzzy, gcc-internal-format +-#| msgid "Specification function '%s' at %L cannot be RECURSIVE" ++#, gcc-internal-format + msgid "Specification function %qs at %L cannot be RECURSIVE" +-msgstr "Specifikationsfunktionen ”%s” vid %L får inte vara RECURSIVE" ++msgstr "Specifikationsfunktionen %qs vid %L får inte vara RECURSIVE" + + #: fortran/expr.c:2941 + #, gcc-internal-format +@@ -50852,16 +50722,14 @@ + msgstr "Det stämmer inte i procedurpekartilldelningen vid %L: anropskonventionen stämmer inte" + + #: fortran/expr.c:3593 +-#, fuzzy, gcc-internal-format +-#| msgid "Interface mismatch in procedure pointer assignment at %L: '%s' is not a subroutine" ++#, gcc-internal-format + msgid "Interface mismatch in procedure pointer assignment at %L: %qs is not a subroutine" +-msgstr "Gränssnitten stämmer inte överens i procedurpekartilldelning vid %L: ”%s” är inte en subrutin" ++msgstr "Gränssnitten stämmer inte överens i procedurpekartilldelning vid %L: %qs är inte en subrutin" + + #: fortran/expr.c:3603 fortran/expr.c:3618 +-#, fuzzy, gcc-internal-format +-#| msgid "Explicit interface required for %qs at %L: %s" ++#, gcc-internal-format + msgid "Explicit interface required for component %qs at %L: %s" +-msgstr "Explicit gränssnitt krävs för %qs vid %L: %s" ++msgstr "Explicit gränssnitt krävs för komponenten %qs vid %L: %s" + + #: fortran/expr.c:3609 fortran/expr.c:3624 fortran/resolve.c:2458 + #, gcc-internal-format +@@ -51814,22 +51682,19 @@ + msgstr "Alternativ retur vid %L är inte tillåtet i en DTIO-procedur" + + #: fortran/interface.c:4697 +-#, fuzzy, gcc-internal-format +-#| msgid "DTIO procedure '%s' at %L must be a subroutine" ++#, gcc-internal-format + msgid "DTIO procedure %qs at %L must be a subroutine" +-msgstr "DTIO-proceduren ”%s” vid %L måste vara en subrutin" ++msgstr "DTIO-proceduren %qs vid %L måste vara en subrutin" + + #: fortran/interface.c:4706 +-#, fuzzy, gcc-internal-format +-#| msgid "Too few dummy arguments in DTIO procedure '%s' at %L" ++#, gcc-internal-format + msgid "Too few dummy arguments in DTIO procedure %qs at %L" +-msgstr "För få argument i DTIO-proceduren ”%s” vid %L" ++msgstr "För få attrappargument i DTIO-proceduren %qs vid %L" + + #: fortran/interface.c:4713 +-#, fuzzy, gcc-internal-format +-#| msgid "Too many dummy arguments in DTIO procedure '%s' at %L" ++#, gcc-internal-format + msgid "Too many dummy arguments in DTIO procedure %qs at %L" +-msgstr "För många attrappargument i DTIO-proceduren ”%s” vid %L" ++msgstr "För många attrappargument i DTIO-proceduren %qs vid %L" + + #: fortran/intrinsic.c:196 + #, gcc-internal-format, gfc-internal-format +@@ -52538,10 +52403,9 @@ + msgstr "Postkomponentnamn eller operatornamn förväntades efter ”.” vid %C" + + #: fortran/match.c:224 +-#, fuzzy, gcc-internal-format +-#| msgid "'%s' is neither a defined operator nor a structure component in dotted string at %C" ++#, gcc-internal-format + msgid "%qs is neither a defined operator nor a structure component in dotted string at %C" +-msgstr "”%s” är varken en definierad operator eller en postkomponent i en punktsträng vid %C" ++msgstr "%qs är varken en definierad operator eller en postkomponent i en punktsträng vid %C" + + #: fortran/match.c:294 + #, gcc-internal-format +@@ -52805,10 +52669,9 @@ + msgstr "%s-sats vid %C lämnar ett OpenACC-strukturerat block" + + #: fortran/match.c:2736 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "%s statement at %C leaving OpenACC structured block" ++#, gcc-internal-format, gfc-internal-format + msgid "%s statement at %C leaving OpenMP structured block" +-msgstr "%s-sats vid %C lämnar ett OpenACC-strukturerat block" ++msgstr "%s-sats vid %C lämnar ett OpenMP-strukturerat block" + + #: fortran/match.c:2760 + #, gcc-internal-format, gfc-internal-format +@@ -52912,23 +52775,20 @@ + + #: fortran/match.c:3144 fortran/match.c:3361 fortran/match.c:3573 + #: fortran/match.c:4083 fortran/match.c:4420 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Redundant STAT tag found at %L " ++#, gcc-internal-format, gfc-internal-format + msgid "Redundant STAT tag found at %L" +-msgstr "Överflödig STAT-tagg funnen vid %L " ++msgstr "Överflödig STAT-tagg funnen vid %L" + + #: fortran/match.c:3165 fortran/match.c:3382 fortran/match.c:3593 + #: fortran/match.c:4109 fortran/match.c:4445 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Redundant ERRMSG tag found at %L " ++#, gcc-internal-format, gfc-internal-format + msgid "Redundant ERRMSG tag found at %L" +-msgstr "Överflödig ERRMSG-tagg funnen vid %L " ++msgstr "Överflödig ERRMSG-tagg funnen vid %L" + + #: fortran/match.c:3186 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Redundant UNTIL_COUNT tag found at %L " ++#, gcc-internal-format, gfc-internal-format + msgid "Redundant UNTIL_COUNT tag found at %L" +-msgstr "Överflödig UNTIL_COUNT-tagg funnen vid %L " ++msgstr "Överflödig UNTIL_COUNT-tagg funnen vid %L" + + #: fortran/match.c:3252 + #, gcc-internal-format, gfc-internal-format +@@ -52941,10 +52801,9 @@ + msgstr "ENTRY WAIT-sats vid %C" + + #: fortran/match.c:3274 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "VALUE statement at %C" ++#, gcc-internal-format, gfc-internal-format + msgid "FAIL IMAGE statement at %C" +-msgstr "VALUE-sats vid %C" ++msgstr "FAIL IMAGE-sats vid %C" + + #: fortran/match.c:3309 + #, gcc-internal-format, gfc-internal-format +@@ -52962,10 +52821,9 @@ + msgstr "Bildstyrsatsen %s vid %C i DO CONCURRENT-block" + + #: fortran/match.c:3403 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Redundant ACQUIRED_LOCK tag found at %L " ++#, gcc-internal-format, gfc-internal-format + msgid "Redundant ACQUIRED_LOCK tag found at %L" +-msgstr "Överflödig ACQUIRED_LOCK-tagg funnen vid %L " ++msgstr "Överflödig ACQUIRED_LOCK-tagg funnen vid %L" + + #: fortran/match.c:3468 + #, gcc-internal-format, gfc-internal-format +@@ -53073,10 +52931,9 @@ + msgstr "SOURCE-tagg vid %L" + + #: fortran/match.c:4132 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Redundant SOURCE tag found at %L " ++#, gcc-internal-format, gfc-internal-format + msgid "Redundant SOURCE tag found at %L" +-msgstr "Överflödig SOURCE-tagg funnen vid %L " ++msgstr "Överflödig SOURCE-tagg funnen vid %L" + + #: fortran/match.c:4139 + #, gcc-internal-format, gfc-internal-format +@@ -53094,10 +52951,9 @@ + msgstr "MOLD-tagg vid %L" + + #: fortran/match.c:4169 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Redundant MOLD tag found at %L " ++#, gcc-internal-format, gfc-internal-format + msgid "Redundant MOLD tag found at %L" +-msgstr "Överflödig MOLD-tagg funnen vid %L " ++msgstr "Överflödig MOLD-tagg funnen vid %L" + + #: fortran/match.c:4176 + #, gcc-internal-format, gfc-internal-format +@@ -53434,10 +53290,9 @@ + msgstr "Byter namn på operatorer i USE-sats vid %C" + + #: fortran/module.c:678 +-#, fuzzy, gcc-internal-format +-#| msgid "The name %qs at %C has already been used as an external module name." ++#, gcc-internal-format + msgid "The name %qs at %C has already been used as an external module name" +-msgstr "Namnet %qs vid %C har redan använts som ett externt modulnamn." ++msgstr "Namnet %qs vid %C har redan använts som ett externt modulnamn" + + #: fortran/module.c:741 + #, gcc-internal-format, gfc-internal-format +@@ -53445,10 +53300,9 @@ + msgstr "SUBMODULE-deklaration vid %C" + + #: fortran/module.c:746 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "ENTRY statement at %C cannot appear within a contained subprogram" ++#, gcc-internal-format, gfc-internal-format + msgid "SUBMODULE declaration at %C cannot appear within another scoping unit" +-msgstr "ENTRY-sats vid %C kan inte förekomma inuti ett inneslutet underprogram" ++msgstr "SUBMODULE-deklarationen vid %C får inte förekomma i en annan räckviddsenhet" + + #: fortran/module.c:821 + #, gcc-internal-format, gfc-internal-format +@@ -53737,22 +53591,19 @@ + msgstr "!$OMP DECLARE REDUCTION %s finns inte vid %L" + + #: fortran/openmp.c:2062 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Invalid clause in module with $!ACC DECLARE at %L" ++#, gcc-internal-format, gfc-internal-format + msgid "Invalid clause in module with !$ACC DECLARE at %L" +-msgstr "Ogiltig klausul i modul med $!ACC DECLARE vid %L" ++msgstr "Ogiltig klausul i modul med !$ACC DECLARE vid %L" + + #: fortran/openmp.c:2072 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Variable is USE-associated with $!ACC DECLARE at %L" ++#, gcc-internal-format, gfc-internal-format + msgid "Variable is USE-associated with !$ACC DECLARE at %L" +-msgstr "Variabel i USE-associated med $!ACC DECLARE vid %L" ++msgstr "Variabel i USE-associated med !$ACC DECLARE vid %L" + + #: fortran/openmp.c:2080 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Assumed-size dummy array with $!ACC DECLARE at %L" ++#, gcc-internal-format, gfc-internal-format + msgid "Assumed-size dummy array with !$ACC DECLARE at %L" +-msgstr "Attrappvektor med antagen storlek med $!ACC DECLARE vid %L" ++msgstr "Attrappvektor med antagen storlek med !$ACC DECLARE vid %L" + + #: fortran/openmp.c:2127 + #, gcc-internal-format +@@ -53760,10 +53611,9 @@ + msgstr "% måste innehålla åtminstone en %- eller %- eller %-klausul vid %L" + + #: fortran/openmp.c:2175 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Invalid argument to $!ACC WAIT at %L" ++#, gcc-internal-format, gfc-internal-format + msgid "Invalid argument to !$ACC WAIT at %L" +-msgstr "Ogiltiga argument till $!ACC WAIT vid %L" ++msgstr "Ogiltiga argument till !$ACC WAIT vid %L" + + #: fortran/openmp.c:2184 + #, gcc-internal-format, gfc-internal-format +@@ -53863,7 +53713,7 @@ + #: fortran/openmp.c:3058 + #, gcc-internal-format, gfc-internal-format + msgid "Variable at %L mentioned multiple times in clauses of the same OMP DECLARE TARGET directive" +-msgstr "Variabeln vid %L nämnd flera gånger i klausuler av samm OMP DECLARE TARGET-direktiv" ++msgstr "Variabeln vid %L nämnd flera gånger i klausuler av samma OMP DECLARE TARGET-direktiv" + + #: fortran/openmp.c:3073 + #, gcc-internal-format, gfc-internal-format +@@ -53873,7 +53723,7 @@ + #: fortran/openmp.c:3079 + #, gcc-internal-format, gfc-internal-format + msgid "OMP DECLARE TARGET COMMON at %L previously mentioned in TO clause and later in LINK clause" +-msgstr "OMP DECLARE TARGET COMMON %L är tidigare nämnde i en TO-klausul och senare i en LINK-klausul" ++msgstr "OMP DECLARE TARGET COMMON %L är tidigare nämnd i en TO-klausul och senare i en LINK-klausul" + + #: fortran/openmp.c:3083 + #, gcc-internal-format, gfc-internal-format +@@ -53966,16 +53816,14 @@ + msgstr "POINTER-objekt %qs av härledd typ i %s-klausul vid %L" + + #: fortran/openmp.c:3735 +-#, fuzzy, gcc-internal-format +-#| msgid "Cray pointer object of derived type %qs in %s clause at %L" ++#, gcc-internal-format + msgid "Cray pointer object %qs of derived type in %s clause at %L" +-msgstr "Cray-pekareobjekt av härledd typ %qs i %s-klausul vid %L" ++msgstr "Cray-pekarobjekt %qs av härledd typ i %s-klausul vid %L" + + #: fortran/openmp.c:3738 +-#, fuzzy, gcc-internal-format +-#| msgid "Cray pointee object of derived type %qs in %s clause at %L" ++#, gcc-internal-format + msgid "Cray pointee object %qs of derived type in %s clause at %L" +-msgstr "Cray-utpekadobjekt av härledd typ %qs i %s-klausul vid %L" ++msgstr "Cray-utpekat objekt %qs av härledd typ i %s-klausul vid %L" + + #: fortran/openmp.c:3744 fortran/openmp.c:4682 + #, gcc-internal-format +@@ -53983,16 +53831,14 @@ + msgstr "POINTER-objekt %qs av polymorf typ i %s-klausul vid %L" + + #: fortran/openmp.c:3749 +-#, fuzzy, gcc-internal-format +-#| msgid "Cray pointer object of polymorphic type %qs in %s clause at %L" ++#, gcc-internal-format + msgid "Cray pointer object %qs of polymorphic type in %s clause at %L" +-msgstr "Cray-pekareobjekt av polymorf typ %qs i %s-klausul vid %L" ++msgstr "Cray-pekarobjekt %qs av polymorf typ i %s-klausul vid %L" + + #: fortran/openmp.c:3754 +-#, fuzzy, gcc-internal-format +-#| msgid "Cray pointee object of polymorphic type %qs in %s clause at %L" ++#, gcc-internal-format + msgid "Cray pointee object %qs of polymorphic type in %s clause at %L" +-msgstr "Cray-utpekadobjekt av polymorf typ %qs i %s-klausul vid %L" ++msgstr "Cray-utpekat objekt %qs av polymorf typ i %s-klausul vid %L" + + #: fortran/openmp.c:3764 fortran/openmp.c:4380 fortran/openmp.c:4485 + #, gcc-internal-format +@@ -54045,16 +53891,14 @@ + msgstr "VALUE-objekt %qs i %s-klausul vid %L" + + #: fortran/openmp.c:3857 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Implicitly declared function %s used in !$OMP DECLARE REDUCTION at %L " ++#, gcc-internal-format, gfc-internal-format + msgid "Implicitly declared function %s used in !$OMP DECLARE REDUCTION at %L" +-msgstr "Den implicit deklarerade funktionen %s används i !$OMP DECLARE REDUCTION vid %L " ++msgstr "Den implicit deklarerade funktionen %s används i !$OMP DECLARE REDUCTION vid %L" + + #: fortran/openmp.c:3906 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Implicitly declared subroutine %s used in !$OMP DECLARE REDUCTION at %L " ++#, gcc-internal-format, gfc-internal-format + msgid "Implicitly declared subroutine %s used in !$OMP DECLARE REDUCTION at %L" +-msgstr "Den implicit deklarerade subrutinen %s används i !$OMP DECLARE REDUCTION vid %L " ++msgstr "Den implicit deklarerade subrutinen %s används i !$OMP DECLARE REDUCTION vid %L" + + #: fortran/openmp.c:3939 + #, gcc-internal-format, gfc-internal-format +@@ -54172,7 +54016,7 @@ + #: fortran/openmp.c:4311 + #, gcc-internal-format, gfc-internal-format + msgid "SINK addend not a constant integer at %L" +-msgstr "SINK-termen är inte ett konstant heltal %L" ++msgstr "SINK-termen är inte ett konstant heltal vid %L" + + #: fortran/openmp.c:4317 + #, gcc-internal-format, gfc-internal-format +@@ -54572,10 +54416,9 @@ + msgstr "PARAMETER-objekt %qs är inte tillåtet vid %L" + + #: fortran/openmp.c:5987 +-#, fuzzy, gcc-internal-format +-#| msgid "Array sections: %qs not allowed in $!ACC DECLARE at %L" ++#, gcc-internal-format + msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L" +-msgstr "Vektorsektioner: %qs är inte tillåtet i $!ACC DECLARE vid %L" ++msgstr "Vektorsektioner: %qs är inte tillåtet i !$ACC DECLARE vid %L" + + #: fortran/openmp.c:6114 + #, gcc-internal-format, gfc-internal-format +@@ -54735,7 +54578,7 @@ + #: fortran/parse.c:625 + #, gcc-internal-format, gfc-internal-format + msgid "OpenACC directives at %C may not appear in PURE procedures" +-msgstr "OpenACC-direktiv vid %C för inte förekomma i PURE-procedurer" ++msgstr "OpenACC-direktiv vid %C får inte förekomma i PURE-procedurer" + + #: fortran/parse.c:701 + #, gcc-internal-format, gfc-internal-format +@@ -54820,7 +54663,7 @@ + #: fortran/parse.c:2763 + #, gcc-internal-format + msgid "Derived-type %qs with BIND(C) must not have a CONTAINS section at %C" +-msgstr "Härledd typ %qs med BIND(C) får nte ha en CONTAINS-sektion vid %C" ++msgstr "Härledd typ %qs med BIND(C) får inte ha en CONTAINS-sektion vid %C" + + #: fortran/parse.c:2783 + #, gcc-internal-format, gfc-internal-format +@@ -55090,13 +54933,12 @@ + #: fortran/parse.c:4347 + #, gcc-internal-format, gfc-internal-format + msgid "CRITICAL block inside of OpenACC region at %C" +-msgstr "CRITICAL-block i unuti OpenACC-region vid %C" ++msgstr "CRITICAL-block inuti OpenACC-region vid %C" + + #: fortran/parse.c:4348 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "CRITICAL block inside of OpenACC region at %C" ++#, gcc-internal-format, gfc-internal-format + msgid "CRITICAL block inside of OpenMP region at %C" +-msgstr "CRITICAL-block i unuti OpenACC-region vid %C" ++msgstr "CRITICAL-block i unuti OpenMP-region vid %C" + + #: fortran/parse.c:4374 + #, gcc-internal-format, gfc-internal-format +@@ -55412,10 +55254,9 @@ + msgstr "Syntaxfel i COMPLEX-konstant vid %C" + + #: fortran/primary.c:1558 +-#, fuzzy, gcc-internal-format +-#| msgid "Namelist '%s' can not be an argument at %L" ++#, gcc-internal-format + msgid "Namelist %qs can not be an argument at %L" +-msgstr "Namnlistan ”%s” kan inte vara ett argument vid %L" ++msgstr "Namnlistan %qs kan inte vara ett argument vid %L" + + #: fortran/primary.c:1644 + #, gcc-internal-format +@@ -55518,10 +55359,9 @@ + msgstr "Postkonstruerare med saknade valfria argument vid %C" + + #: fortran/primary.c:2672 +-#, fuzzy, gcc-internal-format +-#| msgid "No initializer for allocatable component '%qs' given in the structure constructor at %C" ++#, gcc-internal-format + msgid "No initializer for allocatable component %qs given in the structure constructor at %C" +-msgstr "Ingen initierare för den allokerbara komponenten ”%qs” angiven i postkonstrueraren vid %C" ++msgstr "Ingen initierare för den allokerbara komponenten %s angiven i postkonstrueraren vid %C" + + #: fortran/primary.c:2679 + #, gcc-internal-format +@@ -55596,7 +55436,7 @@ + #: fortran/primary.c:3306 + #, gcc-internal-format, gfc-internal-format + msgid "The leftmost part-ref in a data-ref can not be a function reference at %C" +-msgstr "Den vänstraste part-ref i en data-ref kan inte vara en fuktionsreferens vid %C" ++msgstr "Den vänstraste part-ref i en data-ref kan inte vara en funktionsreferens vid %C" + + #: fortran/primary.c:3460 + #, gcc-internal-format +@@ -55609,10 +55449,9 @@ + msgstr "Symbol vid %C passar inte som uttryck" + + #: fortran/primary.c:3574 +-#, fuzzy, gcc-internal-format +-#| msgid "Derived type '%s' cannot be used as a variable at %C" ++#, gcc-internal-format + msgid "Derived type %qs cannot be used as a variable at %C" +-msgstr "Den härledda typen ”%s” får inte användas som en variabel vid %C" ++msgstr "Den härledda typen %qs får inte användas som en variabel vid %C" + + #: fortran/primary.c:3615 + #, gcc-internal-format, gfc-internal-format +@@ -55765,16 +55604,14 @@ + msgstr "Resultatet %qs av innesluten funktion %qs vid %L har ingen IMPLICIT-typ" + + #: fortran/resolve.c:619 +-#, fuzzy, gcc-internal-format +-#| msgid "Character-valued %s %qs at %L must not be assumed length" ++#, gcc-internal-format + msgid "Character-valued module procedure %qs at %L must not be assumed length" +-msgstr "Teckenvärd %s %qs vid %L får inte ha antagen längd" ++msgstr "Teckenvärd modulprocedur %qs vid %L får inte ha antagen längd" + + #: fortran/resolve.c:621 +-#, fuzzy, gcc-internal-format +-#| msgid "Character-valued %s %qs at %L must not be assumed length" ++#, gcc-internal-format + msgid "Character-valued internal function %qs at %L must not be assumed length" +-msgstr "Teckenvärd %s %qs vid %L får inte ha antagen längd" ++msgstr "Teckenvärd intern funktion %qs vid %L får inte ha antagen längd" + + #: fortran/resolve.c:793 + #, gcc-internal-format, gfc-internal-format +@@ -56042,8 +55879,7 @@ + msgstr "Returtypen stämmer inte för funktionen %qs vid %L (%s/%s)" + + #: fortran/resolve.c:2471 +-#, fuzzy, gcc-internal-format +-#| msgid "Interface mismatch in global procedure %qs at %L: %s " ++#, gcc-internal-format + msgid "Interface mismatch in global procedure %qs at %L: %s" + msgstr "Gränssnitt stämmer inte överens i den globala proceduren %qs vid %L: %s" + +@@ -56944,7 +56780,7 @@ + #: fortran/resolve.c:9699 + #, gcc-internal-format, gfc-internal-format + msgid "FORALL index-name at %L must be a scalar variable of type integer" +-msgstr "FORALL-indexnamn vid %L måste vara en skalär variabel av heltalsltyp" ++msgstr "FORALL-indexnamn vid %L måste vara en skalär variabel av heltalstyp" + + #: fortran/resolve.c:9709 + #, gcc-internal-format, gfc-internal-format +@@ -57311,10 +57147,9 @@ + msgstr "RECURSIVE-attribut stämmer inte mellan MODULE PROCEDURE vid %L och dess gränssnitt i %s" + + #: fortran/resolve.c:12347 +-#, fuzzy, gcc-internal-format +-#| msgid "%s between the MODULE PROCEDURE declaration in module %s and the declaration at %L in SUBMODULE %s" ++#, gcc-internal-format + msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" +-msgstr "%s mellan MODULE PROCEDURE-deklarationen i modulen %s och deklarationen vid %L i SUBMODULE %s" ++msgstr "%s mellan MODULE PROCEDURE-deklarationen i MODULE %qs och deklarationen vid %L i (SUB)MODULE %qs" + + #: fortran/resolve.c:12434 + #, gcc-internal-format +@@ -57822,10 +57657,9 @@ + msgstr "LOGICAL-resultatvariabeln %qs vid %L med icke-C_Bool-sort i BIND(C)-proceduren %qs" + + #: fortran/resolve.c:14732 +-#, fuzzy, gcc-internal-format +-#| msgid "Namelist '%s' can not be an argument to subroutine or function at %L" ++#, gcc-internal-format + msgid "Namelist %qs can not be an argument to subroutine or function at %L" +-msgstr "Namnlistan ”%s” får inte vara ett argument till en subrutin eller funktion vid %L" ++msgstr "Namnlistan %qs får inte vara ett argument till en subrutin eller funktion vid %L" + + #: fortran/resolve.c:14802 + #, gcc-internal-format, gfc-internal-format +@@ -58043,10 +57877,9 @@ + msgstr "Felaktig OpenACC-fortsättning vid %C: !$ACC förväntades, fick !$OMP" + + #: fortran/scanner.c:1412 fortran/scanner.c:1509 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Wrong OpenACC continuation at %C: expected !$ACC, got !$OMP" ++#, gcc-internal-format, gfc-internal-format + msgid "Wrong OpenMP continuation at %C: expected !$OMP, got !$ACC" +-msgstr "Felaktig OpenACC-fortsättning vid %C: !$ACC förväntades, fick !$OMP" ++msgstr "Felaktig OpenMP-fortsättning vid %C: !$OMP förväntades, fick !$ACC" + + #: fortran/scanner.c:1423 + #, gcc-internal-format +@@ -58565,7 +58398,7 @@ + #: fortran/symbol.c:976 + #, gcc-internal-format, gfc-internal-format + msgid "Duplicate AUTOMATIC attribute specified at %L" +-msgstr "Dubblerat VOLATILE-attribut angivet vid %L" ++msgstr "Dubblerat AUTOMATIC-attribut angivet vid %L" + + #: fortran/symbol.c:1000 + #, gcc-internal-format +@@ -59027,10 +58860,9 @@ + msgstr "Returvärdet %qs för funktionen %qs deklarerad vid %L är inte satt" + + #: fortran/trans-decl.c:6136 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "Sorry, $!ACC DECLARE at %L is not allowed in BLOCK construct" ++#, gcc-internal-format, gfc-internal-format + msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct" +-msgstr "Ledsen, $!ACC DECLARE vid %L är inte tillåtet i BLOCK-konstruktion" ++msgstr "Ledsen, !$ACC DECLARE vid %L är inte tillåtet i BLOCK-konstruktion" + + #: fortran/trans-expr.c:897 + #, gcc-internal-format, gfc-internal-format +@@ -59079,10 +58911,9 @@ + msgstr "Ledsen, händelsekomponenten hos härledd typ vid %L stödjs inte ännu" + + #: fortran/trans-intrinsic.c:10232 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "The event variable at %L shall not be coindexed " ++#, gcc-internal-format, gfc-internal-format + msgid "The event variable at %L shall not be coindexed" +-msgstr "Händelsevariabeln vid %L får inte vara co-indexerat" ++msgstr "Händelsevariabeln vid %L får inte vara co-indexerad" + + #: fortran/trans-io.c:1957 + #, gcc-internal-format +@@ -60361,102 +60192,3 @@ + #, gcc-internal-format + msgid "creating selector for nonexistent method %qE" + msgstr "skapar väljare för icke existerande metod %qE" +- +-#~ msgid "Cannot open intermediate output file %s\n" +-#~ msgstr "Kan inte öppna intermediär utfil %s\n" +- +-#~ msgid "module procedure" +-#~ msgstr "modulprocedur" +- +-#~ msgid "internal function" +-#~ msgstr "intern funktion" +- +-#~ msgid "Specifies the cost model for vectorization." +-#~ msgstr "Anger kostnadsmodellen för vektorisering." +- +-#~ msgid "%s uses same OpenACC parallelism as containing loop" +-#~ msgstr "%s använder samma OpenACC-parallellism som den omgivande slingan" +- +-#~ msgid "not support -fpic" +-#~ msgstr "stödjer inte -fpic" +- +-#~ msgid "implicit declaration of function %qE;did you mean %qs?" +-#~ msgstr "implicit deklaration av funktionen %qE; menade du %qs?" +- +-#~ msgid "%<#pragma acc enter data%> may only be used in compound statements" +-#~ msgstr "%<#pragma acc enter data%> får bara användas i sammansatta satser" +- +-#~ msgid "%<#pragma acc exit data%> may only be used in compound statements" +-#~ msgstr "%<#pragma acc exit data%> får bara användas i sammansatta satser" +- +-#~ msgid "%<#pragma acc update%> may only be used in compound statements" +-#~ msgstr "%<#pragma acc update%> får bara användas i sammansatta satser" +- +-#~ msgid "%<#pragma omp barrier%> may only be used in compound statements" +-#~ msgstr "%<#pragma omp barrier%> får bara användas i sammansatta satser" +- +-#~ msgid "%<#pragma omp taskwait%> may only be used in compound statements" +-#~ msgstr "%<#pragma omp taskwait%> får bara användas i sammansatta satser" +- +-#~ msgid "%<#pragma omp taskyield%> may only be used in compound statements" +-#~ msgstr "%<#pragma omp taskyield%> får bara användas i sammansatta satser" +- +-#~ msgid "%<#pragma omp cancel%> may only be used in compound statements" +-#~ msgstr "%<#pragma omp cancel%> får bara användas i sammansatta satser" +- +-#~ msgid "%<%s%> value must be positive" +-#~ msgstr "%<%s%>-värdet måste vara positivt" +- +-#~ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, % or %" +-#~ msgstr "%<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, % eller % förväntades" +- +-#~ msgid "%<#pragma acc enter data%> has no data movement clause" +-#~ msgstr "%<#pragma acc enter data%> har ingen dataflyttningsklausul" +- +-#~ msgid "%<#pragma omp ordered%> with % clause may only be used in compound statements" +-#~ msgstr "%<#pragma omp ordered%> med en %-klausul får bara användas i sammansatta satser" +- +-#~ msgid "%<#pragma omp cancellation point%> may only be used in compound statements" +-#~ msgstr "%<#pragma omp cancellation point%> får bara användas i sammansatta satser" +- +-#~ msgid "%<#pragma omp target update%> may only be used in compound statements" +-#~ msgstr "%<#pragma omp target update%> får bara användas i sammansatta satser" +- +-#~ msgid "%<#pragma omp target enter data%> may only be used in compound statements" +-#~ msgstr "%<#pragma omp target enter data%> får bara användas i sammansatta satser" +- +-#~ msgid "%<#pragma omp target exit data%> may only be used in compound statements" +-#~ msgstr "%<#pragma omp target exit data%> får bara användas i sammansatta satser" +- +-#~ msgid "%<#pragma omp target exit data%> with map-type other than %, % or % on % clause" +-#~ msgstr "%<#pragma omp target exit data%> med en annan map-typ än %, % eller % på %-klausul" +- +-#~ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, % or identifier" +-#~ msgstr "%<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, % eller identifierare förväntades" +- +-#~ msgid "ISO C++ forbids flexible array member %<%s%>" +-#~ msgstr "ISO C++ förbjuder flexibla vektormedlemmar %<%s%>" +- +-#~ msgid "class template argument deduction requires an initializer" +-#~ msgstr "härledning av klassmallargument behöver en initierare" +- +-#~ msgid "%<#pragma acc wait%> may only be used in compound statements" +-#~ msgstr "%<#pragma acc wait%> får bara användas i sammansatta satser" +- +-#~ msgid "cannot deduce template arguments for %qT, as it has no deduction guides or user-declared constructors" +-#~ msgstr "kan inte härleda mallargument för %qT, eftersom den inte har några härledningsguider eller användardeklarerade konstruerare" +- +-#~ msgid "invalid use of %" +-#~ msgstr "ogiltigt användning av %" +- +-#~ msgid "Component '%s' at %C already declared at %L" +-#~ msgstr "Komponenten ”%s” vid %C är redan deklarerad vid %L" +- +-#~ msgid "Type name '%s' at %C is ambiguous" +-#~ msgstr "Typnamnet ”%s” vid %C är tvetydigt" +- +-#~ msgid "The GENERIC DTIO INTERFACE at %C is not present in the MODULE '%s'" +-#~ msgstr "GENERIC DTIO INTERFACE vid %C finns inte i MODULE ”%s”" +- +-#~ msgid "Pointer initialization target at %L must not be ALLOCATABLE " +-#~ msgstr "Pekarinitieringsmål vid %L får inte vara ALLOCATABLE " +Index: gcc/po/de.po +=================================================================== +--- a/src/gcc/po/de.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/de.po (.../branches/gcc-7-branch) +@@ -8,10 +8,10 @@ + # Roland Illig , 2015, 2017. + msgid "" + msgstr "" +-"Project-Id-Version: gcc 7.1-b20170427\n" ++"Project-Id-Version: gcc 7.1.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" +-"PO-Revision-Date: 2017-04-28 16:46+0200\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" ++"PO-Revision-Date: 2017-05-03 22:55+0200\n" + "Last-Translator: Roland Illig \n" + "Language-Team: German \n" + "Language: de\n" +@@ -2806,42 +2806,42 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Operand für Code »%c« nicht unterstützt" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "ungültiger Operand für »%%%c«" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "unverträglicher Gleitkomma- / Vektorregisteroperand für »%%%c«" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "fehlender Operand" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, c-format + msgid "invalid constant" + msgstr "ungültige Konstante" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, c-format + msgid "invalid operand" + msgstr "ungültiger Operand" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "ungültiger Operandenpräfix »%%%c«" +@@ -2999,29 +2999,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "ungültiges UNSPEC als Operand: %d" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "ungültiger Schiebeoperand" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "bedingter Thumb-Befehl" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "bedingter Befehl in bedingter Sequenz" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3029,13 +3029,13 @@ + msgid "invalid operand for code '%c'" + msgstr "ungültiger Operand für Code »%c«" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "Befehl wird niemals ausgeführt" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "veralteter Maverick-Formatcode »%c«" +@@ -3843,98 +3843,98 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "emit_fusion_p9_store kein MEM" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "symbolische Speicherreferenzen werden nur auf z10 oder neuer unterstützt" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "Adresse kann nicht zerlegt werden" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "ungültiger Vergleichsoperator für Ausgabemodifizierer »E«" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "ungültige Referenz für Ausgabemodifizierer »J«" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "ungültige Adresse für Ausgabemodifizierer »O«" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "ungültige Adresse für Ausgabemodifizierer »R«" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "Speicherreferenz für Ausgabemodifizierer »S« erwartet" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "ungültige Adresse für Ausgabemodifizierer »S«" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "Register oder Speicherausdruck für Ausgabemodifizierer »N« erwartet" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "Register oder Speicherausdruck für Ausgabemodifizierer »M« erwartet" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "ungültige Konstante für Ausgabemodifizierer »%c«" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "Ungültige Konstante – anderen Ausgabemodifizierer probieren" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "ungültiger konstanter Vektor für Ausgabemodifizierer »%c«" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "ungültiger Ausdruck – anderen Ausgabemodifizierer probieren" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "ungültiger Ausdruck für Ausgabemodifizierer »%c«" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + msgid "vector argument passed to unprototyped function" + msgstr "Vektor-Argument an Funktion ohne Prototyp übergeben" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + msgid "types differ in signedness" + msgstr "Typen unterscheiden sich im Vorzeichenbesitz" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "binärer Operator unterstützt keine zwei bool-Vektor-Operanden" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "Binärer Operator unterstützt Boolean-Vektor-Argument nicht" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "binärer Operator unterstützt nicht, dass bool-Vektor mit Gleitkommavektor vermischt wird" + +@@ -17280,7 +17280,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "Annahme, dass vorzeichenbehafteter Überlauf nicht auftritt, wenn Konstanten um einen Vergleich kombiniert werden" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "Faltungstest: ursprünglicher Baum durch Faltung geändert" +@@ -17816,8 +17816,8 @@ + msgid "null pointer dereference" + msgstr "Dereferenzierung eines Nullzeigers" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -17831,297 +17831,297 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "nichtnull-Argument %qD wird mit NULL verglichen" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "%qE-Ausgabe könnte vor dem letzten Formatzeichen abgeschnitten sein" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "%qE-Ausgabe ist vor dem letzten Formatzeichen abgeschnitten" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "%qE könnte ein abschließendes NUL hinter das Ende des Ziels schreiben" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "%qE schreibt ein abschließendes NUL hinter das Ende des Ziels" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben von %wu Byte in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive abgeschnitten, beim Schreiben von %wu Byte in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "%<%.*s%>-Direktive schreibt %wu Byte in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben von %wu Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive abgeschnitten, beim Schreiben von %wu Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "%<%.*s%>-Direktive schreibt %wu Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben von bis zu %wu Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive abgeschnitten, beim Schreiben von bis zu %wu Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "%<%.*s%>-Direktive schreibt bis zu %wu Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben von wahrscheinlich %wu oder mehr Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive abgeschnitten, beim Schreiben von wahrscheinlich %wu oder mehr Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "%<%.*s%>-Direktive schreibt wahrscheinlich %wu oder mehr Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben von %wu bis %wu Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive abgeschnitten, beim Schreiben von %wu bis %wu Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "%<%.*s%>-Direktive schreibt zwischen %wu und %wu Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben von %wu oder mehr Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive abgeschnitten, beim Schreiben von %wu oder mehr Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "%<%.*s%>-Direktive schreibt %wu oder mehr Bytes in eine Region der Größe %wu" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben von %wu Byte in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive abgeschnitten, beim Schreiben von %wu Byte in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "%<%.*s%>-Direktive schreibt %wu Byte in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben von %wu Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "Ausgabe %<%.*s%>-Direktive abgeschnitten, beim Schreiben von %wu Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "%<%.*s%>-Direktive schreibt %wu Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben von bis zu %wu Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive abgeschnitten, beim Schreiben von bis zu %wu Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "%<%.*s%>-Direktive schreibt bis zu %wu Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben von wahrscheinlich %wu oder mehr Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive abgeschnitten, beim Schreiben von wahrscheinlich %wu oder mehr Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "%<%.*s%>-Direktive schreibt wahrscheinlich %wu oder mehr Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben zwischen %wu und %wu Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive abgeschnitten, beim Schreiben von %wu bis %wu Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "%<%.*s%>-Direktive schreibt zwischen %wu und %wu Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive könnte abgeschnitten sein, beim Schreiben von %wu oder mehr Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "Ausgabe der %<%.*s%>-Direktive abgeschnitten, beim Schreiben von %wu oder mehr Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "%<%.*s%>-Direktive schreibt %wu oder mehr Bytes in eine Region der Größe zwischen %wu und %wu" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "Ausgabe der %<%.*s%>-Direktive zwischen %wu und %wu Bytes könnte die minimal erforderliche Größe von 4095 überschreiten" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "Ausgabe der %<%.*s%>-Direktive zwischen %wu und %wu Bytes überschreitet die minimal erforderliche Größe von 4095" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "Ausgabe der %<%.*s%>-Direktive zwischen %wu und %wu Bytes macht das Ergebnis größer als %" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "Ausgabe der %<%.*s%>-Direktive zwischen %wu und %wu Bytes könnte das Ergebnis größer als % machen" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "angenommen, dass die Ausgabe der Direktive %wu Byte groß ist" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "angenommen, dass die Ausgabe der Direktive %wu Bytes groß ist" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, gcc-internal-format + msgid "directive argument %qE" + msgstr "Direktiven-Argument %qE" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "Direktiven-Argument im Bereich [%E, %E]" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "das Intervall [%E, %E] wird für das Argument der Direktive verwendet" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "%qE gibt %wu Byte in das Ziel der Größe %wu aus" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "%qE gibt %wu Bytes in das Ziel der Größe %wu aus" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "%qE gibt zwischen %wu und %wu Bytes in das Ziel der Größe %wu aus" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "%qE gibt %wu oder mehr Bytes (angenommen %wu) in das Ziel der Größe %wu aus" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "%qE gibt %wu oder mehr Bytes in das Ziel der Größe %wu aus" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "angegebene Grenze %wu überschreitet maximale Objektgröße %wu" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "angegebene Grenze %wu überschreitet %" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, gcc-internal-format + msgid "null destination pointer" + msgstr "Zielzeiger ist NULL" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "angegebene Grenze %wu überschreitet die Größe %wu des Zielobjekts" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, gcc-internal-format + msgid "null format string" + msgstr "NULL-Formatzeichenkette" +@@ -20298,182 +20298,182 @@ + msgstr "%D nach Referenzierung in Assemblierung umbenannt" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:970 ++#: symtab.c:978 + #, gcc-internal-format + msgid "function symbol is not function" + msgstr "Interner Fehler: function symbol is not function" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:978 ++#: symtab.c:986 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "Interner Fehler: variable symbol is not variable" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "Interner Fehler: node has unknown type" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "Interner Fehler: node not found node->decl->decl_with_vis.symtab_node" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "Interner Fehler: node differs from node->decl->decl_with_vis.symtab_node" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "Interner Fehler: assembler name hash list corrupted" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "Interner Fehler: node not found in symtab assembler name hash" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "Interner Fehler: double linked list of assembler names corrupted" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "Interner Fehler: node has body_removed but is definition" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1040 ++#: symtab.c:1048 + #, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "Interner Fehler: node is analyzed but it is not a definition" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "Interner Fehler: node is alias but not implicit alias" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1050 ++#: symtab.c:1058 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "Interner Fehler: node is alias but not definition" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "Interner Fehler: node is weakref but not an transparent_alias" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "Interner Fehler: node is transparent_alias but not an alias" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "Interner Fehler: node is in same_comdat_group list but has no comdat_group" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "Interner Fehler: same_comdat_group list across different groups" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "Interner Fehler: mixing different types of symbol in same comdat groups is not supported" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "Interner Fehler: node is alone in a comdat group" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "Interner Fehler: same_comdat_group is not a circular list" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "Interner Fehler: comdat-local symbol referred to by %s outside its comdat" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "Interner Fehler: implicit_section flag is set but section isn't" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "Interner Fehler: Both section and comdat group is set" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "Interner Fehler: Alias and target's section differs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "Interner Fehler: Alias and target's comdat groups differs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "Interner Fehler: Transparent alias and target's assembler names differs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79874 +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "Interner Fehler: Chained transparent aliases" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "Interner Fehler: symtab_node::verify failed" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "Interner Fehler: Two symbols with same comdat_group are not linked by the same_comdat_group list." + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "Funktion %q+D Teil des Alias-Zyklus" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "Variable %q+D Teil des Alias-Zyklus" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "Abschnitt des Aliases %q+D muss zum Abschnitt seines Ziels passen" +@@ -22172,8 +22172,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -22209,92 +22209,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qE bringt Standardsichtbarkeit mit sich, aber %qD wurde bereits mit anderer Sichtbarkeit deklariert" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "Arrays von Funktionen sind sinnlos" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "Rückgabetyp der Funktion kann keine Funktion sein" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "tree check: %s, have %s in %s, at %s:%d" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "tree check: expected none of %s, have %s in %s, at %s:%d" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + +-#: tree.c:10017 ++#: tree.c:10025 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + +-#: tree.c:12867 ++#: tree.c:12875 + #, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "%qD ist veraltet: %s" + +-#: tree.c:12870 ++#: tree.c:12878 + #, gcc-internal-format + msgid "%qD is deprecated" + msgstr "%qD ist veraltet" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "%qE ist veraltet: %s" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "%qE ist veraltet" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "Typ ist veraltet: %s" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "Typ ist veraltet" +@@ -22322,262 +22322,262 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "bla bla bla kann eh nicht übersetzt werden" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "Typvariante hat unterschiedliche TYPE_SIZE_UNIT" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "TYPE_SIZE_UNIT der Typvariante" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "TYPE_SIZE_UNIT des Typs" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "type variant with TYPE_ALIAS_SET_KNOWN_P" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "type variant has different TYPE_VFIELD" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "type variant has TYPE_METHODS" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "type variant has different TYPE_BINFO" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "type variant's TYPE_BINFO" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "type's TYPE_BINFO" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "type variant has different TYPE_FIELDS" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "first mismatch is field" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "and field" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "type variant has different TREE_TYPE" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "type variant's TREE_TYPE" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "type's TREE_TYPE" + +-#: tree.c:13548 ++#: tree.c:13556 + #, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "type is not compatible with its variant" + +-#: tree.c:13851 ++#: tree.c:13859 + #, gcc-internal-format + msgid "Main variant is not defined" + msgstr "Main variant is not defined" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "TYPE_CANONICAL has different TYPE_CANONICAL" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "TYPE_CANONICAL is not compatible" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "TYPE_MODE of TYPE_CANONICAL is not compatible" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "TYPE_CANONICAL of main variant is not main variant" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "TYPE_MINVAL non-NULL" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "TYPE_METHOD_BASETYPE is not record nor union" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "TYPE_OFFSET_BASETYPE is not record nor union" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "TYPE_MAXVAL non-NULL" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "TYPE_BINFO is not TREE_BINFO" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "Enum value is not CONST_DECL or INTEGER_CST" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "Enum value type is not INTEGER_TYPE nor convertible to the enum" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "Enum value name is not IDENTIFIER_NODE" + +-#: tree.c:14083 ++#: tree.c:14091 + #, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "Array TYPE_DOMAIN is not integer type" + +-#: tree.c:14092 ++#: tree.c:14100 + #, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "TYPE_FIELDS defined in incomplete type" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "Wrong tree in TYPE_FIELDS list" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "TYPE_CACHED_VALUES is not TREE_VEC" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "wrong TYPE_CACHED_VALUES entry" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "Wrong entry in TYPE_ARG_TYPES list" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "TYPE_VALUES_RAW field is non-NULL" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "Interner Fehler: TYPE_CACHED_VALUES_P is set while it should not" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "TYPE_STRING_FLAG is set on wrong type code" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "TYPE_METHOD_BASETYPE is not main variant" + +-#: tree.c:14221 ++#: tree.c:14229 + #, gcc-internal-format + msgid "verify_type failed" + msgstr "verify_type failed" +@@ -23574,13 +23574,13 @@ + msgid "% attribute specified with a parameter" + msgstr "%-Attribut mit einem Parameter angegeben" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "Zu wenige Argumente für Funktion %qE" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "zu viele Argumente für Funktion %qE" +@@ -23665,72 +23665,72 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "Index %E markiert einen Offset größer als die Größe von %qT" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "Arraygröße ist zu groß" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, gcc-internal-format + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "Operandentyp %qT ist inkompatibel mit Argument %d von %qE" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "Falsche Anzahl der Argumente für Funktion %qE" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "Argument 1 von %qE muss ein Nicht-Void-Zeigertyp sein" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "Argument 1 von %qE muss ein Zeiger auf Typen konstanter Größe sein" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "Argument 1 von %qE muss ein Zeiger auf Objekt breiter als Null sein" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "Argument %d von %qE muss eine Zeigertyp sein" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "Argument %d von %qE muss ein Zeiger auf Typen konstanter Größe sein" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "Argument %d von %qE darf kein Zeiger auf eine Funktion sein" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "Unpassende Größe in Argument %d von %qE" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "ungültiges Argument %d für Speichermodell von %qE" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "Nicht-Ganzzahlargument %d für Speichermodell von %qE" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "Indexwert ist außerhalb der Grenzen" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -23738,22 +23738,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "eingebaute Funktion %qE muss direkt aufgerufen werden" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "Arraygröße von %qE ist zu groß" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "Größe des unbenannten Arrays ist zu groß" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "Umgebungsvariable SOURCE_DATE_EPOCH muss ganzzahlig sein und zwischen 0 und %wd liegen" +@@ -25514,7 +25514,7 @@ + msgid "too many input files" + msgstr "zu viele Eingabedateien" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "unbekannter Wert %qs für -mcpu" +@@ -25975,195 +25975,195 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "%qs Feature-Modifizierer ist inkompatibel zu »%s« »%s«" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "unbekanntes Flag wurde in »-moverride=%s« übergeben (%s)" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "Zeichenkette für %s falsch geformt\n" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "Tuning-Zeichenkette fehlt in Option »%s«" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "unbekannte Tuning-Option »%s«" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "gültige Argumente sind: %s; meinten Sie %qs?" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "fehlender CPU-Name in %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "unbekannter Feature-Modifizierer in %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "fehlender Architekturname in %<-march=%s%>" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "unbekannter Wert %qs für -march" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "unbekannter Feature-Modifizierer in %<-march=%s%>" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "fehlender CPU-Name in %<-mtune=%s%>" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "unbekannter Wert %qs für -mtune" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "Schalter -mcpu=%s steht mit dem Schalter -march=%s in Konflikt" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" + msgstr "Assembler unterstützt »-mabi=ilp32« nicht" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "Signieren der Rückgabeadresse wird nur für -mabi=lp64 unterstützt" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "Codemodell %qs mit -f%s" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "fehlender Architekturname in »arch«-Ziel »%s«" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "unbekannter Wert %qs für »arch«-Ziel »%s«" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "fehlender Feature-Modifizierer %qs für »arch«-Ziel »%s«" + + # pragma_or_attr +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "fehlender CPU-Name in »cpu«-Ziel »%s«" + + # pragma_or_attr +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "unbekannter Wert %qs für »cpu«-Ziel %qs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "fehlender Eigenschaftsmodifizierer %qs für »cpu«-Ziel %qs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "unbekannter Wert %qs für »tune«-Ziel %qs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "fehlender Eigenschaftsmodifizierer in Ziel%qs %qs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "ungültiger Eigenschaftsmodifizierer in Ziel%qs %qs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s" + msgstr "kaputtes Ziel»%s«" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "Ziel%qs %qs akzeptiert keine Argumente" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, gcc-internal-format + msgid "target %s %qs does not allow a negated form" + msgstr "Ziel%qs %qs erlaubt keine negierte Form" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "Ziel»%s« %s=%s ist ungültig" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "Argument für Attribut % ist keine Zeichenkette" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" + msgstr "malformed target %s value" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868 +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "target %s %qs is invalid" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "falsch geformte Ziel-»%s«-Liste %qs" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79872 +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "%KSpur %wd außerhalb des Wertebereiches %wd bis %wd" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "Spur %wd ist außerhalb des Wertebereiches %wd bis %wd" +@@ -26572,62 +26572,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "der Zähler darf nicht kleiner als 0 sein. Bitte das intrinsische _mm_sra_si64 im Code prüfen." + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "iWMMXt und NEON sind unverträglich" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "Ziel-CPU unterstützt nicht ARM-Modus" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "Das Einschalten der Ablaufverfolgung ist nur bei der Übersetzung für THUMB sinnvoll" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "Das Einschalten der Unterstützung der Aufgerufenen-Zusammenarbeit ist nur bei der Übersetzung für THUMB sinnvoll" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g mit -mno-apcs-frame könnte vernünftige Fehlersuche verhindern" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "iWMMXt wird im Thumb-Modus nicht unterstützt" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "-mtp=cp15 kann nicht mit 16-Bit-Thumb verwendet werden" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "RTP PIC ist mit Thumb unverträglich" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "-mslow-flash-data unterstützt auf ARMv7M-Zielen nur positionsabhängigen Code" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "-mpure-code unterstützt auf ARMv7M-Zielen nur positionsabhängigen Code" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "Ziel-CPU unterstützt keine THUMB-Befehle" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "Ziel-CPU unterstützt keine unausgerichteten Zugriffe" +@@ -26634,127 +26634,133 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-mftp=auto wird derzeit nur unterstützt, wenn die CPU explizit angegeben ist." + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "Ziel-CPU unterstützt keine Zusammenarbeit" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check inkompatibel mit -mno-apcs-frame" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic und -mapcs-reent sind inkompatibel" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "wiedereinsprungsfähiger APCS-Code nicht unterstützt. Ignoriert." + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, gcc-internal-format + msgid "selected fp16 options are incompatible" + msgstr "die ausgewählten fp16-Optionen sind inkompatibel" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "iwmmxt erfordert ein AAPCS-kompatibles ABI für den richtigen Einsatz" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "iwmmxt ABI erfordert eine iwmmxt-fähige CPU" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "AAPCS unterstützt nicht -mcaller-super-interworking" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "AAPCS unterstützt nicht -mcallee-super-interworking" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "__fp16 ohne ldrh" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "-mfloat-abi=hard: ausgewählter Prozessor hat keine FPU" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mfloat-abi=hard und VFP" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "Grenze für Strukturgröße kann nur auf 8, 32 oder 64 gesetzt werden" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "Grenze für Strukturgröße kann nur auf 8 oder 32 gesetzt werden" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "RTP PIC ist mit -msingle-pic-base unverträglich" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= ist ohne -fpic nutzlos" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "»%s« kann nicht für PIC-Register verwendet werden" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-freorder-blocks-and-partition wird auf dieser Architektur nicht unterstützt" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, gcc-internal-format + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "Ziel-CPU unterstützt keine ARMv8-M-Security-Erweiterungen" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "von nicht-AAPCS abgeleitete PCS-Variante" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "variadische Funktionen müssen die AAPCS-Basisvariante verwenden" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "PCS-Variante" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "Thumb-1 Hardware-Gleitkomma VFP ABI" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "die Parameterübergabe für das Argument vom Typ %qT hat sich in GCC 7.1 geändert" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -26770,74 +26776,74 @@ + msgid "%qE attribute only applies to functions" + msgstr "Attribut %qE bezieht sich nur auf Funktionen" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "Attribut %qE ist nicht auf Funktionen anwendbar, die Argumente auf dem Stack übergeben" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, gcc-internal-format + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "Attribut %qE ist nicht auf Funktionen anwendbar, die variable Anzahl von Argumenten haben" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "Attribut %qE ist nicht auf Funktionen anwendbar, die Argumente auf dem Stack zurückgeben" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, gcc-internal-format + msgid "%qE attribute ignored without -mcmse option." + msgstr "Attribut %qE ignoriert, da die Option »-mcmse« nicht angegeben ist." + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "Attribut %qE wirkt sich nicht auf Funktionen mit »static«-Bindung aus" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, gcc-internal-format + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "Attribut %qE kann nur auf Basistypen von Funktionszeiger angewandt werden" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79871 +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "%K»%s« %wd ist außerhalb des gültigen Bereichs von %wd bis %wd" + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79871 +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "»%s« %wd ist außerhalb des gültigen Bereichs von %wd bis %wd" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "Wirkliche Stelle des gestapelten Parameters kann nicht berechnet werden" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "Unexpected thumb1 far jump" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "keine unteren Register für das Hervorholen der hohen Register verfügbar" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "Interrupt-Dienst-Routinen können nicht im »Thumb«-Modus codiert werden" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "-fstack-check=specific für Thumb-1" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, gcc-internal-format, gfc-internal-format + msgid "invalid fpu for attribute(target(\"%s\"))" + msgstr "ungültige FPU für »attribute(target(\"%s\"))«" +@@ -26845,13 +26851,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "automatische FPU-Auswahl ist hier momentan nicht erlaubt" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "attribute(target(\"%s\")) ist unbekannt" +@@ -29465,7 +29471,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "vec_cmpne akzeptiert nur 2 Argumente" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "vec_adde akzeptiert nur 3 Argumente" +@@ -29475,42 +29481,42 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "vec_addec akzeptiert nur 3 Argumente" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%s akzeptiert nur %d Argumente" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%s akzeptiert nur 1 Argument" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%s akzeptiert nur 2 Argumente" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "vec_extract akzeptiert nur 2 Argumente" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "vec_insert akzeptiert nur 3 Argumente" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, gcc-internal-format + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "Übergabe des Arguments %d von %qE entfernt Kennzeichner von Zeiger-Ziel-Typ" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "Eingebaute Funktion %s wird in dieser Konfiguration nicht unterstützt" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, gcc-internal-format, gfc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %s" + msgstr "ungültige Parameterkombination für AltiVec-spezifisches intrinsisches %s" +@@ -30564,114 +30570,114 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "das angeforderte %qE-Attribut ist kein kommaseparierter Paar von nichtnegativen ganzzahligen Konstanten, oder es ist zu groß (maximal %d)" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "Gesamtgröße der lokalen Variablen übersteigt Grenze der Architektur" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "Rahmengröße der Funktion %qs ist %wd Bytes, größer als benutzerdefinierte Stapelgrenze von %d Bytes. Eine unbedingte Falle wird gesetzt." + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "Rahmengröße der Funktion %qs ist %wd Bytes, mehr als die Hälfte der Stapelgröße. Dynamische Prüfung wäre nicht zuverlässig. Für diese Funktion wird keine Prüfung ausgegeben." + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "Rahmengröße von %qs ist %wd Bytes" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "%qs verwendet dynamische Stapelanforderung" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "CPUs älter als z900 werden für -fsplit-stack nicht unterstützt" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "%sarch=%s%s ist veraltet und wird in einer zukünftigen Version entfernt; verwenden Sie mindestens %sarch=z900%s" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "%stune=%s%s ist veraltet und wird in einer zukünftigen Version entfernt; verwenden Sie mindestens %stune=z900%s" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "z/Architektur-Modus nicht unterstützt auf %s" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "64-Bit-ABI nicht unterstützt im ESA/390-Modus" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "Hardware-Vektorunterstützung ist auf %s nicht verfügbar" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "Hardware-Vektorunterstützung ist mit -msoft-float nicht verfügbar" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "Dezimale Hardware-Gleitkommabefehle sind auf %s nicht verfügbar" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "Dezimale Hardware-Gleitkommabefehle sind im ESA/390-Modus nicht verfügbar" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "-mhard-dfp kann nicht in Verbindung mit -msoft-float verwendet werden" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "-mbackchain -mpacked-stack -mhard-float werden in dieser Kombination nicht unterstützt" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "Stapelgröße muss größer als der Stapel-Überwachungswert sein" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "Stapelgröße darf nicht größer als 64k sein" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "-mstack-guard bringt -mstack-size mit sich" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, gcc-internal-format + msgid "arguments to %qs should be non-negative integers" + msgstr "Argumente von %qs sollten nicht-negative Ganzzahlen sein" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "Argument für %qs ist zu groß (max. %d)" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "Wert %qs wird von Attribut % nicht unterstützt" +Index: gcc/po/ja.po +=================================================================== +--- a/src/gcc/po/ja.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/ja.po (.../branches/gcc-7-branch) +@@ -19,7 +19,7 @@ + msgstr "" + "Project-Id-Version: gcc 4.6.1\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2011-10-30 18:48+0900\n" + "Last-Translator: Yasuaki Taniguchi \n" + "Language-Team: Japanese \n" +@@ -2984,46 +2984,46 @@ + msgid "" + msgstr "<コマンドライン>" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "Unsupported operand for code '%c'" + msgstr "コード '%c' に対する無効な被演算子です" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand for '%%%c'" + msgstr "コード '%c' に対する無効な被演算子です" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "被演算子がありません" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, fuzzy, c-format + #| msgid "invalid insn:" + msgid "invalid constant" + msgstr "無効な命令:" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, fuzzy, c-format + #| msgid "invalid %%d operand" + msgid "invalid operand" + msgstr "無効な %%d 被演算子です" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, fuzzy, c-format + #| msgid "invalid operand code '%c'" + msgid "invalid operand prefix '%%%c'" +@@ -3188,29 +3188,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "被演算子として無効な UNSPEC です" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "無効なシフト被演算子" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "述語付き Thumb 命令" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "条件シーケンスにある述語付き命令" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3218,13 +3218,13 @@ + msgid "invalid operand for code '%c'" + msgstr "コード '%c' に対する無効な被演算子です" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "命令は決して実行されません" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" +@@ -4069,103 +4069,103 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "シンボルによるメモリ参照は z10 またはそれ以降でのみサポートされます" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "'E' 出力修飾子用の無効な比較演算子です" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "'J' 出力修飾子用の無効な参照です" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "'O' 出力修飾子用の無効なアドレスです" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "'R' 出力修飾子用の無効なアドレスです" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "'S' 出力修飾子用にはメモリ参照が予期されます" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "'S' 出力修飾子用の無効なアドレスです" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "'N' 出力修飾子用にはレジスタまたはメモリ式が予期されます" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "'M' 出力修飾子用にはレジスタまたはメモリ式が予期されます" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "出力修飾子 '%c' 用の無効な定数です" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "無効な定数です - 出力修飾子の使用を試みてください" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, fuzzy, c-format + #| msgid "invalid constant for output modifier '%c'" + msgid "invalid constant vector for output modifier '%c'" + msgstr "出力修飾子 '%c' 用の無効な定数です" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "無効な式です - 出力修飾子の使用を試みてください" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "出力修飾子 '%c' 用の無効な式です" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "AltiVec argument passed to unprototyped function" + msgid "vector argument passed to unprototyped function" + msgstr "プロトタイプが無い関数に AltiVec 引数が渡されました" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + #, fuzzy + #| msgid "pointer targets in return differ in signedness" + msgid "types differ in signedness" + msgstr "戻りでのポインタの先の符号が異なります" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -20673,7 +20673,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "" +@@ -21220,8 +21220,8 @@ + msgid "null pointer dereference" + msgstr "NULL ポインタ" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -21235,300 +21235,300 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to %qE" + msgid "directive argument %qE" + msgstr "%qE への引数が少なすぎます" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, fuzzy, gcc-internal-format + #| msgid "%s expects an integer literal in the range [%d, %d]" + msgid "directive argument in the range [%E, %E]" + msgstr "%s は [%d, %d] の範囲内の整数リテラルが予期されます" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + #| msgid "null pointer" + msgid "null destination pointer" + msgstr "NULL ポインタ" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + msgid "null format string" + msgstr "フォーマット文字列が null です" +@@ -23780,163 +23780,163 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "" + +-#: symtab.c:970 ++#: symtab.c:978 + #, fuzzy, gcc-internal-format + msgid "function symbol is not function" + msgstr "`%s' は関数を返す関数として宣言されています" + +-#: symtab.c:978 ++#: symtab.c:986 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to variables" + msgid "variable symbol is not variable" + msgstr "%qE は変数にのみ適用できます" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, fuzzy, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "メソッド '%s' はクラス内に見つかりません" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + #| msgid "called object %qE is not a function" + msgid "node is analyzed but it is not a definition" + msgstr "呼び出されたオブジェクト %qE は関数ではありません" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, fuzzy, gcc-internal-format + #| msgid "old-style function definition" + msgid "node is alias but not definition" + msgstr "古いスタイルの関数定義です" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, fuzzy, gcc-internal-format + #| msgid "verify_ssa failed" + msgid "symtab_node::verify failed" + msgstr "verify_ssa に失敗しました" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, fuzzy, gcc-internal-format + #| msgid "function %qD redeclared as variable" + msgid "function %q+D part of alias cycle" + msgstr "関数 %qD が変数として再宣言されました" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, fuzzy, gcc-internal-format + #| msgid "variable %q+D set but not used" + msgid "variable %q+D part of alias cycle" + msgstr "変数 %q+D が設定されましたが使用されていません" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -25646,8 +25646,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -25683,95 +25683,95 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qE は暗黙的にデフォルトの可視性となりますが、%qD は既に異なる可視性として宣言されています" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "関数の配列は意味がありません" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "関数の返す型が関数であってはなりません" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "" + +-#: tree.c:10017 ++#: tree.c:10025 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d" + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "RTL check: ベクトルの elt %d を最後の elt %d (%s 中)と一緒にアクセスします (%s:%d)" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:12867 ++#: tree.c:12875 + #, fuzzy, gcc-internal-format + #| msgid "%qE is deprecated: %s" + msgid "%qD is deprecated: %s" + msgstr "%qE は廃止されました: %s" + +-#: tree.c:12870 ++#: tree.c:12878 + #, fuzzy, gcc-internal-format + #| msgid "%qE is deprecated" + msgid "%qD is deprecated" + msgstr "%qE は廃止されました" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "%qE は廃止されました: %s" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "%qE は廃止されました" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "型は廃止されました: %s" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "型は廃止されました" +@@ -25798,266 +25798,266 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, fuzzy, gcc-internal-format + #| msgid "ms_hook_prologue is not compatible with nested function" + msgid "type is not compatible with its variant" + msgstr "ms_hook_prologue は入れ子になった関数と両立できません" + +-#: tree.c:13851 ++#: tree.c:13859 + #, fuzzy, gcc-internal-format + #| msgid "environment variable %qs not defined" + msgid "Main variant is not defined" + msgstr "環境変数 %qs が定義されていません" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qE has non-integer type" + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "配列 %qE のサイズが非整数型です" + +-#: tree.c:14092 ++#: tree.c:14100 + #, fuzzy, gcc-internal-format + #| msgid "field %qE has incomplete type" + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "フィールド %qE が不完全型を持っています" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, fuzzy, gcc-internal-format + #| msgid "verify_gimple failed" + msgid "verify_type failed" +@@ -27092,13 +27092,13 @@ + msgid "% attribute specified with a parameter" + msgstr "仮引数 `%s' で指定された記憶クラス" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "関数 %qE へ渡す引数が少なすぎます" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "関数 %qE への引数が多すぎます" +@@ -27187,82 +27187,82 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "配列のサイズが大きすぎます" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "%d 番目の %qE の引数用の互換性がない型です" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, fuzzy, gcc-internal-format + #| msgid "not enough arguments to function %qE" + msgid "incorrect number of arguments to function %qE" + msgstr "関数 %qE へ十分な引数がありません" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, fuzzy, gcc-internal-format + #| msgid "argument %d of %qE must be an address" + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "%d 番目の %qE の引数はアドレスでなければいけません" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, fuzzy, gcc-internal-format + #| msgid "%Kfirst argument of %D must be a pointer, second integer constant" + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "%K %D の第一引数がポインタ、第二引数が整数定数でなければいけません" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, fuzzy, gcc-internal-format + #| msgid "%Kfirst argument of %D must be a pointer, second integer constant" + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "%K %D の第一引数がポインタ、第二引数が整数定数でなければいけません" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, fuzzy, gcc-internal-format + #| msgid "argument %d of %qE must be an address" + msgid "argument %d of %qE must be a pointer type" + msgstr "%d 番目の %qE の引数はアドレスでなければいけません" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + #| msgid "argument %d of %qE might be a candidate for a format attribute" + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "%d 番目の %qE の引数は format 属性の候補のようです" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + #| msgid "argument %d of %qE must be a multiple of %d" + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "%d 番目の %qE の引数は %d の倍数でなければいけません" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, fuzzy, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "引数 %d 個の `%s' を渡します" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "invalid memory model argument %d of %qE" + msgstr "%d 番目の %qE の引数用の互換性がない型です" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "non-integer memory model argument %d of %qE" + msgstr "%d 番目の %qE の引数用の互換性がない型です" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, fuzzy, gcc-internal-format + #| msgid "conversion from %qT to %qT is ambiguous" +@@ -27271,23 +27271,23 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, fuzzy, gcc-internal-format + #| msgid "built-in function %qD takes one argument only" + msgid "built-in function %qE must be directly called" + msgstr "組み込み関数 %qD は単一の引数をとります" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "配列 %qE のサイズが大きすぎます" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "無名配列のサイズが大きすぎます" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -29078,7 +29078,7 @@ + msgid "too many input files" + msgstr "入力ファイルが多すぎます" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for -mcpu" +@@ -29557,199 +29557,199 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unknown spec function %qs" + msgid "unknown tuning option (%s)" + msgstr "不明な spec 関数 %qs です" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, fuzzy, gcc-internal-format + #| msgid "valid arguments to %qs are: %s" + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "%qs への有効な引数は次の通りです: %s" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + #| msgid "invalid thread pointer option: -mtp=%s" + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "無効なスレッドポインタオプションです: -mtp=%s" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for -march" + msgstr "-mfpu 用の不明な値 %s です" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + #| msgid "invalid thread pointer option: -mtp=%s" + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "無効なスレッドポインタオプションです: -mtp=%s" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for -mtune" + msgstr "-mfpu 用の不明な値 %s です" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "-mcpu=%s スイッチが -march=%s スイッチと競合しています" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, fuzzy, gcc-internal-format + #| msgid "does not support multilib" + msgid "Assembler does not support -mabi=ilp32" + msgstr "multilib はサポートしません" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for 'arch' target %s" + msgstr "-mfpu 用の不明な値 %s です" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "missing makefile target after %qs" + msgid "missing cpu name in 'cpu' target %s" + msgstr "%qs の後に makefile ターゲットがありません" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for 'cpu' target %s" + msgstr "-mfpu 用の不明な値 %s です" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for 'tune' target %s" + msgstr "-mfpu 用の不明な値 %s です" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + #| msgid "missing makefile target after %qs" + msgid "missing feature modifier in target %s %qs" + msgstr "%qs の後に makefile ターゲットがありません" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + #| msgid "invalid operand modifier letter" + msgid "invalid feature modifier in target %s %qs" + msgstr "無効な被演算子修飾文字" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed spec function arguments" + msgid "malformed target %s" + msgstr "間違った形式の spec 関数引数です" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, fuzzy, gcc-internal-format + #| msgid "%s only accepts 1 argument" + msgid "target %s %qs does not accept an argument" + msgstr "%s は 1 個の引数のみ受け付けます" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, fuzzy, gcc-internal-format + #| msgid "matching constraint does not allow a register" + msgid "target %s %qs does not allow a negated form" + msgstr "一致制約はレジスタでは許可されていません" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s\"%s\"%s is invalid" + msgid "target %s %s=%s is not valid" + msgstr "%s\"%s\"%s は無効です" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + #| msgid "attribute %qE argument not a string" + msgid "attribute % argument not a string" + msgstr "属性 %qE の引数が文字列ではありません" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed #pragma call" + msgid "malformed target %s value" + msgstr "間違った形式の #pragma call です" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + #| msgid "%s\"%s\"%s is invalid" + msgid "target %s %qs is invalid" + msgstr "%s\"%s\"%s は無効です" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" +@@ -30170,64 +30170,64 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, fuzzy, gcc-internal-format + #| msgid "-fPIC and -G are incompatible" + msgid "iWMMXt and NEON are incompatible" + msgstr "-fPIC と -G は併用できません" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "ターゲット CPU は ARM モードをサポートしていません" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "バックトレースサポートの有効化は Thumb 用にコンパイルしたときのみ意味があります" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "呼び出し先 ARM/Thumb 相互利用有効化は Thumb 用にコンパイルしたときのみ意味があります" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g に -mno-apcs-frame をつけると、きめ細かなデバッグはできないでしょう" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "-mtp=cp15 を 16 ビット Thumb で使用できません" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "RTP PIC は Thumb では使用できません" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + + # 公式な名前は Thumb であり THUMB ではない +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "ターゲット CPU は Thumb 命令をサポートしていません" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support ARM mode" + msgid "target CPU does not support unaligned accesses" +@@ -30235,134 +30235,140 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, fuzzy, gcc-internal-format + #| msgid "-mpcrel -fPIC is not currently supported on selected cpu" + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-mpcrel -fPIC は選択した CPU 上では現在のところサポートされていません" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "ターゲット CPU は ARM/Thumb 相互利用をサポートしていません" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check と -mno-apcs-frame は併用できません" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic と -mapcs-reent は併用できません" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "APCS 再入可能コードはサポートされていません。無視されました" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + #| msgid "-mrelocatable and -msdata=%s are incompatible" + msgid "selected fp16 options are incompatible" + msgstr "-mrelocatable と -msdata=%s は併用できません" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "iwmmxt は適切な操作用に AAPCS 互換 ABI を必要とします" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "iwmmxt ABI は iwmmxt 機能がある CPU を必要とします" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "AAPCS は -mcaller-super-interworking をサポートしません" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "AAPCS は -mcallee-super-interworking をサポートしません" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "__fp16 かつ ldrh 無し" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, fuzzy, gcc-internal-format + #| msgid "-mfloat-abi=hard and VFP" + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "-mfloat-abi=hard および VFP" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mfloat-abi=hard および VFP" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, fuzzy, gcc-internal-format + #| msgid "structure size boundary can only be set to %s" + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "構造体サイズ境界は %s にのみ設定できます" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, fuzzy, gcc-internal-format + #| msgid "structure size boundary can only be set to %s" + msgid "structure size boundary can only be set to 8 or 32" + msgstr "構造体サイズ境界は %s にのみ設定できます" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "RTP PIC は -msingle-pic-base と併用できません" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= は -fpic をつけないと役に立ちません" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "PIC レジスタ用に '%s' を使用できません" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-freorder-blocks-and-partition はこのアーキテクチャ上ではサポートされていません" + + # 公式な名前は Thumb であり THUMB ではない +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support THUMB instructions" + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "ターゲット CPU は Thumb 命令をサポートしていません" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "Thumb-1 ハードウェア浮動小数 VFP ABI" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -30378,78 +30384,78 @@ + msgid "%qE attribute only applies to functions" + msgstr "%qE 属性は関数へのみ適用されます" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to functions, not %s" + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "%qE 属性は関数へのみ適用出来ます。%s へは適用できません" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute requires prototypes with named arguments" + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "%qE 属性は名前付き引数があるプロトタイプが必要です" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to functions, not %s" + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "%qE 属性は関数へのみ適用出来ます。%s へは適用できません" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute ignored without -mcmse option." + msgstr "%qE 属性は非クラス型に関しては無視されます" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute has no effect on unit local functions" + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "%qE 属性はユニット局所関数に関しては効果がありません" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to function types" + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "%qE 属性は関数型にのみ適用できます" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "スタックに積まれた仮引数の実際の位置を計算できません" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, fuzzy, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "予期しない型が `id' (%s) に指定されました" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "高位レジスタを pop する為に使用できる低位レジスタがありません" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "割り込みサービスルーチンを Thumb モードでコード化することはできません" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid vector type for attribute %qs" + msgid "invalid fpu for attribute(target(\"%s\"))" +@@ -30458,13 +30464,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "attribute(target(\"%s\")) が不明です" +@@ -33247,7 +33253,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "vec_insert は 3 個の引数のみ受け付けます" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, fuzzy, gcc-internal-format + #| msgid "vec_insert only accepts 3 arguments" + msgid "vec_adde only accepts 3 arguments" +@@ -33259,44 +33265,44 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "vec_insert は 3 個の引数のみ受け付けます" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%s は %d 個の引数のみ受け付けます" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%s は 1 個の引数のみ受け付けます" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%s は 2 この引数のみ受け付けます" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "vec_extract は 2 個の引数のみ受け付けます" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "vec_insert は 3 個の引数のみ受け付けます" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + #| msgid "passing argument %d of %qE makes integer from pointer without a cast" + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "passing argument %d 番目の %qE の引数を渡すときにポインタからキャスト無しに整数を作成しています" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "ifunc is not supported in this configuration" + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "ifunc はこの設定ではサポートされていません" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, gcc-internal-format, gfc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %s" + msgstr "" +@@ -34403,112 +34409,112 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "局所変数の合計サイズがアーキテクチャの制限を超過しています" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, fuzzy, gcc-internal-format + #| msgid "frame size of %qs is " + msgid "frame size of %qs is %wd bytes" + msgstr "%qs のフレームサイズ: " + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "%qs は動的スタック割り当てを使用します" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, fuzzy, gcc-internal-format + #| msgid "-fPIC and -fpic are not supported for this target" + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "-fPIC and -fpic はこのターゲットではサポートされていません" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "z/Architecture モードは %s 上ではサポートされていません" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "64 ビット ABI は ESA/390 モード内ではサポートされていません" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "hardware decimal floating point instructions not available on %s" + msgid "hardware vector support not available on %s" + msgstr "ハードウェア十進浮動小数点命令は %s 上では使用出来ません" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "ハードウェア十進浮動小数点命令は %s 上では使用出来ません" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "ハードウェア十進浮動小数点命令は ESA/390 モードでは使用出来ません" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "-mhard-dfp は -msoft-float と併用できません" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "-mbackchain -mpacked-stack -mhard-float の組み合わせはサポートされていません" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "スタックサイズは 64k より大きくてはいけません" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "-mstack-guard は -mstack-size を暗黙的に使用します" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs should be a non-negative integer" + msgid "arguments to %qs should be non-negative integers" + msgstr "%qs への引数は非負整数であるべきです" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qE attribute larger than %d" + msgid "argument to %qs is too large (max. %d)" +@@ -34515,7 +34521,7 @@ + msgstr "%qE 属性への引数が %d より大きいです" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + #| msgid "%<__int128%> is not supported by this target" + msgid "value %qs is not supported by attribute %" +Index: gcc/po/zh_TW.po +=================================================================== +--- a/src/gcc/po/zh_TW.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/zh_TW.po (.../branches/gcc-7-branch) +@@ -8,7 +8,7 @@ + msgstr "" + "Project-Id-Version: gcc 4.8.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2013-06-07 23:29+0800\n" + "Last-Translator: Wei-Lun Chao \n" + "Language-Team: Chinese (traditional) \n" +@@ -2967,42 +2967,42 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, fuzzy, c-format + msgid "Unsupported operand for code '%c'" + msgstr "不受支援的運算元用於編碼『%c』" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, fuzzy, c-format + msgid "invalid operand for '%%%c'" + msgstr "程式碼「%c」的運算元無效" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "缺少運算元" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, fuzzy, c-format + msgid "invalid constant" + msgstr "無效指令:" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, fuzzy, c-format + msgid "invalid operand" + msgstr "無效的 %%d 運算元" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, fuzzy, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "無效的運算元程式碼「%c」" +@@ -3165,29 +3165,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "無效的 UNSPEC 做為運算元" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, fuzzy, c-format + msgid "invalid shift operand" + msgstr "無效的 Shift 運算元" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "預測到的 Thumb 指令" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "在條件序列中預測到的指令" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3195,13 +3195,13 @@ + msgid "invalid operand for code '%c'" + msgstr "程式碼「%c」的運算元無效" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, fuzzy, c-format + msgid "instruction never executed" + msgstr "指令永不執行" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, fuzzy, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "不受支援的運算元用於編碼『%c』" +@@ -4041,102 +4041,102 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, fuzzy, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "符號記憶體參考是只有支援的於 z10 或稍後" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "無法分解位址" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, fuzzy, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "無效的比較運算子用於『E』輸出修飾鍵" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, fuzzy, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "無效的參考用於『J』輸出修飾鍵" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, fuzzy, c-format + msgid "invalid address for 'O' output modifier" + msgstr "無效的位址用於『O』輸出修飾鍵" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, fuzzy, c-format + msgid "invalid address for 'R' output modifier" + msgstr "無效的位址用於『R』輸出修飾鍵" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, fuzzy, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "記憶體參考預期的用於『S』輸出修飾鍵" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, fuzzy, c-format + msgid "invalid address for 'S' output modifier" + msgstr "無效的位址用於『S』輸出修飾鍵" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, fuzzy, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "暫存器或記憶體運算式預期的用於『N』輸出修飾鍵" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, fuzzy, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "暫存器或記憶體運算式預期的用於『公尺』輸出修飾鍵" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, fuzzy, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "無效的常數用於輸出修飾鍵『%c』" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, fuzzy, c-format + msgid "invalid constant - try using an output modifier" + msgstr "無效的常數 - 嘗試使用輸出修飾鍵" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, fuzzy, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "無效的常數用於輸出修飾鍵『%c』" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, fuzzy, c-format + msgid "invalid expression - try using an output modifier" + msgstr "無效的運算式 - 嘗試使用輸出修飾鍵" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, fuzzy, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "無效的運算式用於輸出修飾鍵『%c』" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "AltiVec argument passed to unprototyped function" + msgid "vector argument passed to unprototyped function" + msgstr "傳遞 AltiVec 引數給無原型的函式" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + #, fuzzy + #| msgid "pointer targets in return differ in signedness" + msgid "types differ in signedness" + msgstr "回傳指標時目的與指標有/無號不一致" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -20575,7 +20575,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "假設帶正負號溢位不發生時合併常數周圍比較" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, fuzzy, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "折疊檢查:原來的樹變更的由折疊" +@@ -21116,8 +21116,8 @@ + msgid "null pointer dereference" + msgstr "空指標" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -21131,297 +21131,297 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + msgid "directive argument %qE" + msgstr "延伸:負引數 N 於 %L" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, fuzzy, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "停用回合 %s 用於函式在中範圍的 [%u,%u]" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + msgid "null destination pointer" + msgstr "空指標" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + msgid "null format string" + msgstr "%s 在中格式字串於 %L" +@@ -23622,157 +23622,157 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "%D 重新命名的之後被引用在中組譯的" + +-#: symtab.c:970 ++#: symtab.c:978 + #, fuzzy, gcc-internal-format + msgid "function symbol is not function" + msgstr "函式回傳了一個函式" + +-#: symtab.c:978 ++#: symtab.c:986 + #, fuzzy, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "%qE 屬性只有套用到變數" + +-#: symtab.c:984 ++#: symtab.c:992 + #, fuzzy, gcc-internal-format + msgid "node has unknown type" + msgstr "節點有錯誤的仿本清單" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, fuzzy, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "節點找不到在中 cgraphhash(_H)" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, fuzzy, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "雙倍鏈結的仿本清單的已損壞" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, fuzzy, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "%qD 使用的之前它的定義" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "節點是在中仿本清單但是它不是仿本" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, fuzzy, gcc-internal-format + msgid "node is alias but not definition" + msgstr "節點是在中仿本清單但是它不是仿本" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, fuzzy, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "節點是在中仿本清單但是它不是仿本" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, fuzzy, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "same_comdat_group 並非環狀清單" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, fuzzy, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "節點是單獨在中 comdat 群組" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, fuzzy, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group 並非環狀清單" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, fuzzy, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "節點是單獨在中 comdat 群組" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, fuzzy, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "verify_cgraph_node 失敗" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, fuzzy, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "函式 %q+D 部分的別名週期" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, fuzzy, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "變數 %q+D 部分的別名週期" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -25441,8 +25441,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -25478,92 +25478,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qE 意味著預設可視性,但是 %qD 已宣告的與不同的可視性" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "函式陣列是沒有意義的" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "函式不能回傳函式" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "樹檢查:%s,得到 %s 在 %s,於 %s:%d" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "樹檢查:不需要 %s,得到 %s 在 %s,於 %s:%d" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "樹檢查:需要類別 %qs,得到 %qs(%s) 在 %s,於 %s:%d" + +-#: tree.c:9930 ++#: tree.c:9938 + #, fuzzy, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "樹檢查:並未預期類別 %qs,有 %qs (%s) 在中 %s,於 %s:%d" + +-#: tree.c:9943 ++#: tree.c:9951 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "樹檢查:預期的 ompclause %s(_C),有 %s 在中 %s,於 %s:%d" + +-#: tree.c:10003 ++#: tree.c:10011 + #, fuzzy, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "樹檢查:預期的樹該含有 %qs 結構,有 %qs 在中 %s,於 %s:%d" + +-#: tree.c:10017 ++#: tree.c:10025 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "樹檢查:存取的 elt %d 的 treevec 與 %d elts 在中 %s(_V),於 %s:%d" + +-#: tree.c:10029 ++#: tree.c:10037 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "樹檢查:存取的 elt %d 的 treevec 與 %d elts 在中 %s(_V),於 %s:%d" + +-#: tree.c:10042 ++#: tree.c:10050 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "樹檢查:存取的運算元 %d 的 %s 與 %d 運算元在中 %s,於 %s:%d" + +-#: tree.c:10055 ++#: tree.c:10063 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "樹檢查:存取的運算元 %d 的 ompclause %s 與 %d 運算元在中 %s(_C),於 %s:%d" + +-#: tree.c:12867 ++#: tree.c:12875 + #, fuzzy, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "%qE 被不宜用:%s" + +-#: tree.c:12870 ++#: tree.c:12878 + #, fuzzy, gcc-internal-format + msgid "%qD is deprecated" + msgstr "%qE 被不宜用" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, fuzzy, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "%qE 被不宜用:%s" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, fuzzy, gcc-internal-format + msgid "%qE is deprecated" + msgstr "%qE 被不宜用" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "型態被不宜用:%s" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "類型已過時" +@@ -25590,262 +25590,262 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, fuzzy, gcc-internal-format + msgid "first mismatch is field" + msgstr "%s:時間戳記與圖檔案不匹配\n" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, fuzzy, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "%qD 不是相容與 %qD" + +-#: tree.c:13851 ++#: tree.c:13859 + #, fuzzy, gcc-internal-format + msgid "Main variant is not defined" + msgstr "環境變數 %qs 無法定義" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, fuzzy, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "大小的陣列 %qE 有 non-integer 型態" + +-#: tree.c:14092 ++#: tree.c:14100 + #, fuzzy, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "欄位 %qE 有不完整型態" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, fuzzy, gcc-internal-format + msgid "verify_type failed" + msgstr "verifygimple 失敗(_G)" +@@ -26853,13 +26853,13 @@ + msgid "% attribute specified with a parameter" + msgstr "預設引數指定的用於 lambda 參數" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "提供給函式 %qE 的引數太少" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "提供給函式 %qE 的引數太多" +@@ -26944,73 +26944,73 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "索引 %E 指出偏移大於大小的 %qT" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, fuzzy, gcc-internal-format + msgid "size of array is too large" + msgstr "大小的陣列太大" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "引數 %d(屬於 %qE)類型不相容" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, fuzzy, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "不正確引數數量到函式 %qE" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "引數 1 的 %qE 必須是 non-void 指標類型" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "引數 1 的 %qE 必須是指標到常數大小型態" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "引數 1 的 %qE 必須是指標到非零值大小物件" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "引數 %d 的 %qE 必須是指標類型" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "引數 1 的 %qE 必須是指標到常數大小型態" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "引數 %d 的 %qE 必須是指標類型" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, fuzzy, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "大小不匹配在中引數 %d 的 %qE" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, fuzzy, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "無效的記憶體式樣引數 %d 的 %qE" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, fuzzy, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "non-integer 記憶體式樣引數 %d 的 %qE" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, fuzzy, gcc-internal-format + msgid "index value is out of bound" + msgstr "索引值是超出約束" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, fuzzy, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -27018,22 +27018,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, fuzzy, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "內建函式 %qD 需一個引數只有" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, fuzzy, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "大小的陣列 %qE 太大" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, fuzzy, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "大小的未命名陣列太大" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -28810,7 +28810,7 @@ + msgid "too many input files" + msgstr "輸入檔案太多" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "-mcpu 開關的值 %qs 錯誤" +@@ -29270,182 +29270,182 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "%qs 是不相容的與 %qs" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "無效的範圍 %s 在中選項 %s" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "不明 spec 函式 %qs" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, fuzzy, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "有效引數到 %qs 是:%s" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "%qs 後缺少路徑" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "%qs 後缺少檔案名稱" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, fuzzy, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "%qs 後缺少路徑" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "不明值 %qs 的 -mmacosx-version-min" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "%qs 後缺少檔案名稱" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "%qs 後缺少路徑" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "不當的值 %qs 用於 -mtune 切換" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "切換 -mcpu=%s 衝突與 -march=%s 切換" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, fuzzy, gcc-internal-format + #| msgid "does not support multilib" + msgid "Assembler does not support -mabi=ilp32" + msgstr "不支援 multilib" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "%qs 後缺少路徑" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "不明值 %qs 的 -mmacosx-version-min" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "%qs 後缺少檔案名稱" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "%qs 後缺少路徑" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "-mcpu 開關的值 %qs 錯誤" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "%qs 後缺少檔案名稱" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "不當的值 %qs 用於 -mtune 切換" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "%qs 後缺少檔案名稱" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "%qs 後缺少檔案名稱" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed spec function arguments" + msgid "malformed target %s" + msgstr "spec 函式引數格式錯誤" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, fuzzy, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "%s 只有接受 1 引數" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, fuzzy, gcc-internal-format + #| msgid "matching constraint does not allow a register" + msgid "target %s %qs does not allow a negated form" + msgstr "匹配的約束不允許使用暫存器" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "%s「%s」%s 無效" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "屬性 %qE 引數不是字串" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" + msgstr "異常的 # pragma 呼叫" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "multilib 選取 %qs 無效" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, fuzzy, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "運算元號超出範圍" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, fuzzy, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "運算元號超出範圍" +@@ -29861,62 +29861,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, fuzzy, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "-mvsx 和 -mpaired 是不相容的" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "目標 CPU 不支援手臂模式" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, fuzzy, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "啟用返回支援是只有有意義的時編譯用於姆指" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, fuzzy, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "啟用被呼叫端交互作用支援是只有有意義的時編譯用於姆指" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g 與 -mno-apcs-frame 並用可能不能給出有意義的除錯資訊" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, fuzzy, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "無法使用 -mtp=cp15 與 16-bit 姆指" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, fuzzy, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "RTP PIC 是不相容的與姆指" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "目的 CPU 不支援 THUMB 指令" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "目標 CPU 不支援 unaligned 存取" +@@ -29923,130 +29923,136 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, fuzzy, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-mpcrel -fPIC 不是目前支援的於已選 cpu" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "目的 CPU 不支援交互工作" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check 和 -mno-apcs-frame 互不相容" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic 和 -mapcs-reent 互不相容" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "不支援 APCS 重入程式碼。已忽略" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + #| msgid "-mrelocatable and -msdata=%s are incompatible" + msgid "selected fp16 options are incompatible" + msgstr "-mrelocatable 與 -msdata=%s 互不相容" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, fuzzy, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "iwmmxt 需求 AAPCS 相容 ABI 用於適當作業" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "iwmmxt abi 需要相應 CPU 的支援" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, fuzzy, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "AAPCS 不支援 -mcaller-super-interworking" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, fuzzy, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "AAPCS 不支援 -mcallee-super-interworking" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, fuzzy, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "__fp16 以及沒有 ldrh" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, fuzzy, gcc-internal-format + #| msgid "-mfloat-abi=hard and VFP" + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "-mfloat-abi=hard 和 VFP" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mfloat-abi=hard 和 VFP" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, fuzzy, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "結構大小邊界只能是設定為 8, 32 或 64" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, fuzzy, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "結構大小邊界只能是設定為 8 或 32" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, fuzzy, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "RTP PIC 是不相容的與 -msingle-pic-base" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= 不與 -fpic 並用時不起作用" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "「%s」不能做為 PIC 暫存器" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, fuzzy, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-freorder-blocks-and-partition 不支援於這個架構" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support THUMB instructions" + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "目的 CPU 不支援 THUMB 指令" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, fuzzy, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "non-AAPCS 衍生的 PCS 變體" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, fuzzy, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "variadic 函式必須使用基底 AAPCS 變體" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, fuzzy, gcc-internal-format + msgid "PCS variant" + msgstr "PCS 變體" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, fuzzy, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "Thumb-1 hard-float VFP ABI" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -30062,74 +30068,74 @@ + msgid "%qE attribute only applies to functions" + msgstr "%qE 屬性只有套用到函式" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, fuzzy, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "%qE 屬性只有套用到函式,無法 %s" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, fuzzy, gcc-internal-format + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "%qD 必須不有可變個數引數數量" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, fuzzy, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "%qE 屬性只有套用到函式,無法 %s" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute ignored without -mcmse option." + msgstr "%qE 屬性在不是類別的類型上被忽略" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, fuzzy, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "%qE 屬性沒有任何效果於單位本地函式" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "%qE 屬性只有套用到函數型式" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, fuzzy, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "無法計算真實位置的重疊參數" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected end of module" + msgid "Unexpected thumb1 far jump" + msgstr "非預期的模組結束" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "高暫存器彈堆疊時沒有可用的低暫存器" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, fuzzy, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "插斷服務常式無法編碼的在中姆指模式" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "invalid fpu for attribute(target(\"%s\"))" + msgstr "無效的向量型態用於屬性 %qs" +@@ -30137,13 +30143,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "屬性 (目標 (「%s」)) 為未知" +@@ -32792,7 +32798,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "vecinsert 只有接受 3 引數(_I)" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, fuzzy, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "vecinsert 只有接受 3 引數(_I)" +@@ -32802,43 +32808,43 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "vecinsert 只有接受 3 引數(_I)" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%s 只有接受 %d 引數" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%s 只有接受 1 引數" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%s 只有接受 2 引數" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, fuzzy, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "vecextract 只有接受 2 引數(_E)" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, fuzzy, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "vecinsert 只有接受 3 引數(_I)" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + #| msgid "passing arg %d of %qE discards qualifiers frompointer target type" + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "傳遞參數 %d (屬於 %qE)時丟棄了指標目的類型的類型限定" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "ifunc 未被支援在中這個組態" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid parameter combination for AltiVec intrinsic" + msgid "invalid parameter combination for AltiVec intrinsic %s" +@@ -33909,114 +33915,114 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "局部變數大小總和超過架構極值。" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, fuzzy, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "影格大小的函式 %qs 是 %wd 位元組超出使用者提供的堆疊限制的 %d 位元組。 unconditional 陷阱被已加入。" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, fuzzy, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "影格大小的函式 %qs 是 %wd 位元組該項是超過半堆疊大小。動態檢查會無法是 reliable。沒有檢查發出用於這個函式。" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, fuzzy, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "影格大小的 %qs 是 %wd 位元組" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "%qs 使用動態堆疊指派" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "% 被不宜用而將被 移除的在中未來釋出" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "% 被不宜用而將被 移除的在中未來釋出" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "z/Architecture 模式在 %s 上不受支援" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "64-bit ABI 在 ESA/390 模式下不受支援" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "硬體十進位浮點數指令無法使用於 %s" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "硬體十進位浮點數指令無法使用於 %s" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, fuzzy, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "硬體十進位浮點數指令無法使用在中 ESA/390 模式" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, fuzzy, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "-mhard-dfp can%'t 被已用於接合與 -msoft-float" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "-mbackchain -mpacked-stack -mhard-float 一起使用不受支援" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "堆疊大小必須大於堆疊防護值" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "堆疊大小不能大於 64K" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "-mstack-guard 意味著使用 -mstack-size" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + msgid "arguments to %qs should be non-negative integers" + msgstr "引數到 %qs 應該是 non-negative 整數" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "引數到 %qE 屬性大於 %d" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "%<__int128%>未被支援由這個目標" +Index: gcc/po/id.po +=================================================================== +--- a/src/gcc/po/id.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/id.po (.../branches/gcc-7-branch) +@@ -7,7 +7,7 @@ + msgstr "" + "Project-Id-Version: gcc 4.4.1\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2009-11-10 09:00+0700\n" + "Last-Translator: Arif E. Nugroho \n" + "Language-Team: Indonesian \n" +@@ -3069,46 +3069,46 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "Unsupported operand for code '%c'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, fuzzy, c-format + #| msgid "invalid operand for code '%c'" + msgid "invalid operand for '%%%c'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "hilang operan" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, fuzzy, c-format + #| msgid "invalid insn:" + msgid "invalid constant" + msgstr "insn tidak valid:" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, fuzzy, c-format + #| msgid "invalid %%d operand" + msgid "invalid operand" + msgstr "operan %%d tidak valid" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, fuzzy, c-format + #| msgid "invalid operand code '%c'" + msgid "invalid operand prefix '%%%c'" +@@ -3273,29 +3273,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "UNSPEC tidak valid sebagai operan" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "operan shift tidak valid" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "instruksi Thumb terprediksi" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "instruksi terprediksi dalam urutan berkondisi" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3303,13 +3303,13 @@ + msgid "invalid operand for code '%c'" + msgstr "operan tidak valid untuk kode '%c'" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "instruksi tidak pernah dijalankan" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" +@@ -4177,112 +4177,112 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "tidak dapat menguraikan alamat" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid comparison operator for 'E' output modifier" + msgstr "operan tidak valid untuk pemodifikasi 'b'" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid reference for 'J' output modifier" + msgstr "operan tidak valid untuk pemodifikasi 'b'" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, fuzzy, c-format + #| msgid "invalid operand for 'O' modifier" + msgid "invalid address for 'O' output modifier" + msgstr "operan tidak valid untuk pemodifikasi 'O'" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid address for 'R' output modifier" + msgstr "operan tidak valid untuk pemodifikasi 'b'" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, fuzzy, c-format + #| msgid "invalid operand for 'b' modifier" + msgid "invalid address for 'S' output modifier" + msgstr "operan tidak valid untuk pemodifikasi 'b'" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, fuzzy, c-format + #| msgid "invalid operand for 'o' modifier" + msgid "invalid constant for output modifier '%c'" + msgstr "operan tidak valid untuk pemodifikasi 'o'" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, fuzzy, c-format + #| msgid "invalid operand output code" + msgid "invalid constant - try using an output modifier" + msgstr "operan kode keluaran tidak valid" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, fuzzy, c-format + #| msgid "invalid operand for 'o' modifier" + msgid "invalid constant vector for output modifier '%c'" + msgstr "operan tidak valid untuk pemodifikasi 'o'" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, fuzzy, c-format + #| msgid "invalid expression for min lvalue" + msgid "invalid expression - try using an output modifier" + msgstr "ekspresi tidak valid untuk minimal lvalue" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, fuzzy, c-format + #| msgid "invalid operand for 'o' modifier" + msgid "invalid expression for output modifier '%c'" + msgstr "operan tidak valid untuk pemodifikasi 'o'" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "AltiVec argument passed to unprototyped function" + msgid "vector argument passed to unprototyped function" + msgstr "Argumen AltiVec dilewatkan ke fungsi yang tidak berprototipe" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + #, fuzzy + #| msgid "pointer targets in return differ in signedness" + msgid "types differ in signedness" + msgstr "target penunjuk dalam kembali berbeda dalam signedness" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -21402,7 +21402,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "diasumsikan signed overflow tidak terjadi ketika mengkombinasi konstan diantar sebuah perbandingan" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "pemeriksaan fold: pohon asal diubah oleh fold" +@@ -21996,8 +21996,8 @@ + msgid "null pointer dereference" + msgstr "penunjuk circular delegasi terdeteksi" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -22012,300 +22012,300 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + #| msgid "invalid option argument %qs" + msgid "directive argument %qE" + msgstr "pilihan argumen %qs tidak valid" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, fuzzy, gcc-internal-format + #| msgid "%s expects an integer literal in the range [%d, %d]." + msgid "directive argument in the range [%E, %E]" + msgstr "%s diduga sebuah integer literal dalam jangkauan [%d, %d]." + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + #| msgid "Maintain backchain pointer" + msgid "null destination pointer" + msgstr "jaga backchain penunjuk" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + #| msgid "%s in format string at %L" + msgid "null format string" +@@ -24633,165 +24633,165 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "%D diubah namanya setelah direferensikan dalam perakitan" + +-#: symtab.c:970 ++#: symtab.c:978 + #, fuzzy, gcc-internal-format + #| msgid "function returning a function" + msgid "function symbol is not function" + msgstr "fungsi mengembalikan sebuah fungsi" + +-#: symtab.c:978 ++#: symtab.c:986 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to variables" + msgid "variable symbol is not variable" + msgstr "%qs atribut hanya berlaku ke variabel" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, fuzzy, gcc-internal-format + #| msgid "node not found in cgraph_hash" + msgid "node not found in symtab assembler name hash" + msgstr "titik tidak ditemukan dalam cgraph_hash" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + #| msgid "called object %qE is not a function" + msgid "node is analyzed but it is not a definition" + msgstr "dipanggil objek %qE bukan sebuah fungsi" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, fuzzy, gcc-internal-format + #| msgid "%Jold-style function definition" + msgid "node is alias but not definition" + msgstr "%J definisi fungsi gaya-lama" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, fuzzy, gcc-internal-format + #| msgid "verify_ssa failed" + msgid "symtab_node::verify failed" + msgstr "verify_ssa gagal" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, fuzzy, gcc-internal-format + #| msgid "function %q+D redeclared as inline" + msgid "function %q+D part of alias cycle" + msgstr "fungsi %q+D redeklarasi sebagai inline" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, fuzzy, gcc-internal-format + #| msgid "variable %qD has function type" + msgid "variable %q+D part of alias cycle" + msgstr "variabel %qD memiliki tipe fungsi" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -26557,8 +26557,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -26596,98 +26596,98 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qs mengimplikasikan visibility baku, tetapi %qD telah dideklarasikan dengan sebuah visibility berbeda" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "array dari fungsi tidak berarti" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "tipe kembali fungsi tidak dapat berupa fungsi" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "pemeriksaan pohon: %s, memiliki %s dalam %s, di %s:%d" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "pemeriksaan pohon: diduga kosong dari %s, memiliki %s dalam %s, di %s:%d" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "pemeriksaan pohon: diduga kelas %qs, memiliki %qs (%s) dalam %s, di %s:%d" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "pemeriksaan pohon: tidak menduga kelas %qs, memiliki %qs (%s dalam %s, di %s:%d" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "pemeriksaan pohon: diduga omp_clause %s, memiliki %s dalam %s, di %s:%d" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "pemeriksaan pohon: diduga pohon yang berisi struktur %qs, memiliki %qs dalam %s, di %s:%d" + +-#: tree.c:10017 ++#: tree.c:10025 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "pemeriksaan pohon: diakses elt %d dari tree_vec dengan %d elts dalam %s, di %s:%d" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "pemeriksaan pohon: diakses elt %d dari tree_vec dengan %d elts dalam %s, di %s:%d" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "pemeriksaan pohon: diakses operan %d dari %s dengan %d operan dalam %s, di %s:%d" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "pemeriksaan pohon: diakses operan %d dari omp_clause %s dengan %d operan dalam %s, di %s:%d" + +-#: tree.c:12867 ++#: tree.c:12875 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qD is deprecated: %s" + msgstr "%qs sudah ditinggalkan" + +-#: tree.c:12870 ++#: tree.c:12878 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qD is deprecated" + msgstr "%qs sudah ditinggalkan" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qE is deprecated: %s" + msgstr "%qs sudah ditinggalkan" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, fuzzy, gcc-internal-format + #| msgid "%qs is deprecated" + msgid "%qE is deprecated" + msgstr "%qs sudah ditinggalkan" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "type is deprecated" + msgid "type is deprecated: %s" + msgstr "tipe sudah ditinggalkan" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "tipe sudah ditinggalkan" +@@ -26714,265 +26714,265 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, fuzzy, gcc-internal-format + #| msgid "assert: %s is assign compatible with %s" + msgid "type is not compatible with its variant" + msgstr "assert: %s adalah assign kompatibel dengan %s" + +-#: tree.c:13851 ++#: tree.c:13859 + #, fuzzy, gcc-internal-format + #| msgid "environment variable \"%s\" not defined" + msgid "Main variant is not defined" + msgstr "variabel lingkungan \"%s\" tidak terdefinisi" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "" + +-#: tree.c:14092 ++#: tree.c:14100 + #, fuzzy, gcc-internal-format + #| msgid "field %qs has incomplete type" + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "field %qs memiliki tipe tidak lengkap" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, fuzzy, gcc-internal-format + #| msgid "verify_gimple failed" + msgid "verify_type failed" +@@ -28041,13 +28041,13 @@ + msgid "% attribute specified with a parameter" + msgstr "" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "terlalu sediki argumen ke fungsi %qE" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "terlalu banyak argumen ke fungsi %qE" +@@ -28138,84 +28138,84 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "ukuran dari array terlalu besar" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "tipe tidak kompatibel untuk argumen %d dari %qE" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, fuzzy, gcc-internal-format + #| msgid "not enough arguments to function %qE" + msgid "incorrect number of arguments to function %qE" + msgstr "tidak cukup argumen ke fungsi %qE" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs must be a 2-bit unsigned literal" + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "argumen ke %qs harus berupa sebuah 2 bit unsigned literal" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, fuzzy, gcc-internal-format + #| msgid "%Kfirst argument of %D must be a pointer, second integer constant" + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "%K argumen pertama dari %D harus berupa sebuah penunjuk, integer kedua konstanta" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, fuzzy, gcc-internal-format + #| msgid "%Kfirst argument of %D must be a pointer, second integer constant" + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "%K argumen pertama dari %D harus berupa sebuah penunjuk, integer kedua konstanta" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, fuzzy, gcc-internal-format + #| msgid "passing argument %d of %qE from incompatible pointer type" + msgid "argument %d of %qE must be a pointer type" + msgstr "melewatkan argumen %d dari %qE dari tipe penunjuk yang tidak kompatibel" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + #| msgid "argument %d of %qE might be a candidate for a format attribute" + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "argumen %d dari %qE mungkin menjadi sebuah kandidat untuk sebuah format atribut" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + #| msgid "passing argument %d of %qE makes integer from pointer without a cast" + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "melewatkan argumen %d dari %qE membuat integer dari penunjuk tanpa sebuah cast" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, fuzzy, gcc-internal-format + #| msgid "Type/rank mismatch in argument '%s' at %L" + msgid "size mismatch in argument %d of %qE" + msgstr "Tipe/tingkat tidak cocok dalam argumen '%s' di %L" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, fuzzy, gcc-internal-format + #| msgid "invalid type argument of %qs" + msgid "invalid memory model argument %d of %qE" + msgstr "tipe argumen tidak valid dari %qs" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "non-integer memory model argument %d of %qE" + msgstr "tipe tidak kompatibel untuk argumen %d dari %qE" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, fuzzy, gcc-internal-format + #| msgid "index in dimension %d is out of bounds at %L" + msgid "index value is out of bound" + msgstr "indeks dalam dimensi %d diluar dari jangkauan di %L" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, fuzzy, gcc-internal-format + #| msgid "conversion from %qT to %qT is ambiguous" +@@ -28224,25 +28224,25 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, fuzzy, gcc-internal-format + #| msgid "inline function %q+D cannot be declared weak" + msgid "built-in function %qE must be directly called" + msgstr "fungsi inline %q+D tidak dapat dideklarasikan lemah" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qs is too large" + msgid "size of array %qE is too large" + msgstr "ukuran dari array %qs adalah terlalu besar" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, fuzzy, gcc-internal-format + #| msgid "size of array is too large" + msgid "size of unnamed array is too large" + msgstr "ukuran dari array terlalu besar" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -30089,7 +30089,7 @@ + msgid "too many input files" + msgstr "terlalu banyak berkas masukan" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for -mcpu" +@@ -30583,199 +30583,199 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "assert: %s adalah assign kompatibel dengan %s" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unknown spec function '%s'" + msgid "unknown tuning option (%s)" + msgstr "fungsi spesifikasi '%s' tidak diketahui" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + #| msgid "invalid thread pointer option: -mtp=%s" + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "pilihan thread pointer tidak valid: -mtp=%s" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for -march" + msgstr "nilai %s tidak diketahui untuk pilihan -mfpu" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + #| msgid "invalid thread pointer option: -mtp=%s" + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "pilihan thread pointer tidak valid: -mtp=%s" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for -mtune" + msgstr "nilai %s tidak diketahui untuk pilihan -mfpu" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "switch -mcpu=%s conflicts with -march= switch" + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "pilihan -mcpu=%s konflik dengan pilihan -march=" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, fuzzy, gcc-internal-format + #| msgid "does not support multilib" + msgid "Assembler does not support -mabi=ilp32" + msgstr "tidak mendukung multilib" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for 'arch' target %s" + msgstr "nilai %s tidak diketahui untuk pilihan -mfpu" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "missing makefile target after %qs" + msgid "missing cpu name in 'cpu' target %s" + msgstr "hilang target makefile setelah %qs" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for 'cpu' target %s" + msgstr "nilai %s tidak diketahui untuk pilihan -mfpu" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %s for -mfpu" + msgid "unknown value %qs for 'tune' target %s" + msgstr "nilai %s tidak diketahui untuk pilihan -mfpu" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + #| msgid "missing makefile target after %qs" + msgid "missing feature modifier in target %s %qs" + msgstr "hilang target makefile setelah %qs" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + #| msgid "invalid option argument %qs" + msgid "invalid feature modifier in target %s %qs" + msgstr "pilihan argumen %qs tidak valid" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed spec function arguments" + msgid "malformed target %s" + msgstr "argumen spesifikasi fungsi salah format" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, fuzzy, gcc-internal-format + #| msgid "%s only accepts 1 argument" + msgid "target %s %qs does not accept an argument" + msgstr "%s hanya menerima 1 argumen" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, fuzzy, gcc-internal-format + #| msgid "matching constraint does not allow a register" + msgid "target %s %qs does not allow a negated form" + msgstr "batasan yang cocok tidak mengijinkan sebuah register" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "-mcpu=%s is not valid" + msgid "target %s %s=%s is not valid" + msgstr "-mcpu=%s tidak valid" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + #| msgid "alias argument not a string" + msgid "attribute % argument not a string" + msgstr "alias argumen bukan sebuah string" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid target memregs value '%d'" + msgid "malformed target %s value" + msgstr "nilai target memregs '%d' tidak valid" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + #| msgid "template argument %d is invalid" + msgid "target %s %qs is invalid" + msgstr "template argumen %d tidak valid" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" +@@ -31199,63 +31199,63 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, fuzzy, gcc-internal-format + #| msgid "-fPIC and -G are incompatible" + msgid "iWMMXt and NEON are incompatible" + msgstr "-fPIC dan -G tidak kompatibel" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "target CPU tidak mendukung kode ARM" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "aktifkan dukungan backtrace hanya berarti ketika mengkompile untuk Thumb" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "aktifkan dukungan callee kerja sama yang berarti ketika mengkompile untuk Thumb" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g dengan -mno-apcs-frame mungkin tidak memberikan debugging yang masuk akal" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "tidak dapat menggunakan -mtp=cp15 dengan 16-bit Thumb" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "RTP PIC tidak kompatibel dengan Thumb" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "target CPU tidak mendukung instruksi THUMB" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support ARM mode" + msgid "target CPU does not support unaligned accesses" +@@ -31263,136 +31263,142 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, fuzzy, gcc-internal-format + #| msgid "-mpcrel -fPIC is not currently supported on selected cpu" + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-mpcrel -fPIC saat ini tidak didukung dalam cpu yang dipilih" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "target CPU tidak mendukung kerja-sama" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check tidak kompatibel dengan -mno-apcs-frame" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic dan -macps-reent tidak kompatibel" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "APCS reentrant kode tidak didukung. Diabaikan" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + #| msgid "-mrelocatable and -msdata=%s are incompatible" + msgid "selected fp16 options are incompatible" + msgstr "-mrelocatable dan -msdata=%s tidak kompatibel" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "iwmmxt membutuhkan sebuah AAPCS kompatibel ABI untuk operasi yang sesuai" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "iwmmxt abi membutuhkan sebuah iwmmxt kapabel cpu" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "target CPU tidak mendukung kerja-sama" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support interworking" + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "target CPU tidak mendukung kerja-sama" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, fuzzy, gcc-internal-format + #| msgid "-mfloat-abi=hard and VFP" + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "-mfloat-abi=hard dan VFP" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mfloat-abi=hard dan VFP" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, fuzzy, gcc-internal-format + #| msgid "structure size boundary can only be set to %s" + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "ukuran batas struktur hanya dapat diset ke %s" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, fuzzy, gcc-internal-format + #| msgid "structure size boundary can only be set to %s" + msgid "structure size boundary can only be set to 8 or 32" + msgstr "ukuran batas struktur hanya dapat diset ke %s" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "RTP PIC tidak kompatibel dengan -msingle-pic-base" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= tidak berguna tanpa -fpic" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "tidak dapat menggunakan '%s' untuk register PIC" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, fuzzy, gcc-internal-format + #| msgid "-freorder-blocks-and-partition does not work on this architecture" + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-freorder-blocks-and-partition tidak bekerja dalam arsitektur ini" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support THUMB instructions" + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "target CPU tidak mendukung instruksi THUMB" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -31409,77 +31415,77 @@ + msgid "%qE attribute only applies to functions" + msgstr "atribut %qs hanya berlaku ke fungsi" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qD must not have variable number of arguments" + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "%qD tidak boleh memiliki argumen dengan jumlah bervariabel" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute ignored without -mcmse option." + msgstr "%qE atribut diabaikan dalam tipe bukan-class" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute have effect only on public objects" + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "%qE atribut hanya memiliki efek dalam objek publik" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + #| msgid "%qs attribute only applies to function types" + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "atribut %qs hanya berlaku ke fungsi tipe" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "tidak dapat menghitung lokasi ril dari parameter terstack" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, fuzzy, gcc-internal-format + #| msgid "Unexpected end of module" + msgid "Unexpected thumb1 far jump" + msgstr "Tidak terduga akhir dari modul" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "tidak ada register bawah yang tersedia unruk popping register atas" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "Interrupt Sevice Routines tidak dapat dikodekan dalam mode Thumb" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid vector type for attribute %qE" + msgid "invalid fpu for attribute(target(\"%s\"))" +@@ -31488,13 +31494,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "atribut(target(\"%s\")) tidak diketahui" +@@ -34340,7 +34346,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "vec_insert hanya menerima 3 argumen" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, fuzzy, gcc-internal-format + #| msgid "vec_insert only accepts 3 arguments" + msgid "vec_adde only accepts 3 arguments" +@@ -34352,44 +34358,44 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "vec_insert hanya menerima 3 argumen" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%s hanya menerima %d argumen" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%s hanya menerima 1 argumen" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%s hanya menerima 2 argumen" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "vec_extract hanya menerima 2 argumen" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "vec_insert hanya menerima 3 argumen" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + #| msgid "passing arg %d of %qE discards qualifiers frompointer target type" + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "melewatkan argumen %d dari %qE mengabaikan kualifier frompointer target type" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%Jalias definitions not supported in this configuration" + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "%J definisi alias tidak didukung dalam konfigurasi ini" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid parameter combination for AltiVec intrinsic" + msgid "invalid parameter combination for AltiVec intrinsic %s" +@@ -35504,115 +35510,115 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "ukuran total dari variabel lokal melebihi batas arsitektur" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, fuzzy, gcc-internal-format + #| msgid "frame size of %qs is " + msgid "frame size of %qs is %wd bytes" + msgstr "ukuran frame dari %qs adalah " + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "%qs menggunakan alokasi dinamis stack" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, fuzzy, gcc-internal-format + #| msgid "-fPIC and -fpic are not supported for this target" + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "-fPIC dan -fpic tidak didukung untuk target ini" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "mode z/Arsitektur tidak didukung di %s" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "64 bit ABI tidak didukung di mode ESA/390" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Hardware decimal floating point instructions not available on %s" + msgid "hardware vector support not available on %s" + msgstr "Instruksi perangkat keras titik pecahan desimal tidak tersedia di %s" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "Hardware decimal floating point instructions not available on %s" + msgid "hardware decimal floating point instructions not available on %s" + msgstr "Instruksi perangkat keras titik pecahan desimal tidak tersedia di %s" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, fuzzy, gcc-internal-format + #| msgid "Hardware decimal floating point instructions not available in ESA/390 mode" + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "Instruksi perangkat keras titik pecahan desimal tidak tersedia dalam mode ESA/390" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, fuzzy, gcc-internal-format + #| msgid "-mhard-dfp can't be used in conjunction with -msoft-float" + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "-mhard-dfp tidak dapat digunakan dalam konjungsi dengan -msoft-float" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "-mbackchain -mpacked-stack -mhard-float tidak didukung dalam kombinasi" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "ukuran stack harus lebih besar dari nilai penjaga stack" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "ukuran stack harus lebih besar dari 64k" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "-mstack-guard mengimplikasikan penggunaan dari -mstack-size" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + #| msgid "argument to \"%s\" should be a non-negative integer" + msgid "arguments to %qs should be non-negative integers" + msgstr "argumen ke \"%s\" seharusnya sebuah integer tidak negatif" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + #| msgid "argument to %qs attribute larger than %d" + msgid "argument to %qs is too large (max. %d)" +@@ -35619,7 +35625,7 @@ + msgstr "argumen ke atribut %qs lebih besar daripada %d" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + #| msgid "stack limits not supported on this target" + msgid "value %qs is not supported by attribute %" +Index: gcc/po/fi.po +=================================================================== +--- a/src/gcc/po/fi.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/fi.po (.../branches/gcc-7-branch) +@@ -32,7 +32,7 @@ + msgstr "" + "Project-Id-Version: gcc 6.1-b20160131\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2016-02-06 01:01+0200\n" + "Last-Translator: Lauri Nurmi \n" + "Language-Team: Finnish \n" +@@ -2947,42 +2947,42 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, fuzzy, c-format + msgid "Unsupported operand for code '%c'" + msgstr "fr30_print_operand: tuntematon koodi" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, fuzzy, c-format + msgid "invalid operand for '%%%c'" + msgstr "virheellinen const_double-operandi" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "puuttuva operandi" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, fuzzy, c-format + msgid "invalid constant" + msgstr "virheellinen rotate-käsky" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, fuzzy, c-format + msgid "invalid operand" + msgstr "muotomerkkijonolla on epäkelpo operandinumero" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, fuzzy, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "virheellinen etuliite ”0b” liukulukuvakiolle" +@@ -3140,29 +3140,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "virheellinen lauseke kohdemuuttujana" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, fuzzy, c-format + msgid "invalid shift operand" + msgstr "virheellinen lauseke kohdemuuttujana" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, fuzzy, c-format + msgid "predicated Thumb instruction" + msgstr "Virheellinen käsky" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3170,13 +3170,13 @@ + msgid "invalid operand for code '%c'" + msgstr "fr30_print_operand: virheellinen %%x-koodi" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, fuzzy, c-format + msgid "instruction never executed" + msgstr "kutsu %2d ei suoritettu koskaan\n" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" +@@ -4041,103 +4041,103 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, fuzzy, c-format + msgid "cannot decompose address" + msgstr "Pyydettyä osoitetta ei voi asettaa" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, fuzzy, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, fuzzy, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, fuzzy, c-format + msgid "invalid address for 'O' output modifier" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, fuzzy, c-format + msgid "invalid address for 'R' output modifier" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, fuzzy, c-format + msgid "invalid address for 'S' output modifier" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, fuzzy, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, fuzzy, c-format + msgid "invalid constant - try using an output modifier" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, fuzzy, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, fuzzy, c-format + msgid "invalid expression - try using an output modifier" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, fuzzy, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "epäkelvot operandit binääriselle %s-operaatiolle" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "AltiVec argument passed to unprototyped function" + msgid "vector argument passed to unprototyped function" + msgstr "AltiVec-argumentti välitetty funktiolle, jolla ei ole prototyyppiä" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + #, fuzzy + msgid "types differ in signedness" + msgstr "Tiedostot %s ja %s eroavat\n" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + #, fuzzy + #| msgid "target format does not support infinity" + msgid "binary operator does not support vector bool operand" + msgstr "kohdemuoto ei tue äärettömyyttä" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -19305,7 +19305,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "" +@@ -19846,8 +19846,8 @@ + msgid "null pointer dereference" + msgstr "PRINT_OPERAND null-osoitin" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -19861,298 +19861,298 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "annettu NULL funktion %2$qD ei-osoitinargumenttina %1$P" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + msgid "directive argument %qE" + msgstr "Funktion %s argumentti kohdassa %L on negatiivinen" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, fuzzy, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "%s odottaa kokonaislukuliteraalia väliltä [%d, %d]." + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + #| msgid "null pointer" + msgid "null destination pointer" + msgstr "nollaosoitin" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + #| msgid "%s in format string at %L" + msgid "null format string" +@@ -22358,159 +22358,159 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "" + +-#: symtab.c:970 ++#: symtab.c:978 + #, fuzzy, gcc-internal-format + msgid "function symbol is not function" + msgstr "funktion palauttava funktio" + +-#: symtab.c:978 ++#: symtab.c:986 + #, fuzzy, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "%qD ei ole muuttuja" + +-#: symtab.c:984 ++#: symtab.c:992 + #, fuzzy, gcc-internal-format + msgid "node has unknown type" + msgstr "tiedostolla %s on tuntematon tiedostotyyppi" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, fuzzy, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "ei-muuttujan %qD esittely %-silmukan alkuesittelyssä" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "ei-muuttujan %qD esittely %-silmukan alkuesittelyssä" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, fuzzy, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "maa-asetustojen aliastiedostoa ”%s” ei löydy" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, fuzzy, gcc-internal-format + #| msgid "old-style function definition" + msgid "node is alias but not definition" + msgstr "maa-asetustojen aliastiedostoa ”%s” ei löydy" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, fuzzy, gcc-internal-format + #| msgid "old-style function definition" + msgid "node is transparent_alias but not an alias" + msgstr "maa-asetustojen aliastiedostoa ”%s” ei löydy" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, fuzzy, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "Sama kuin --help=target" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, fuzzy, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "unionista ei voi tehdä läpinäkyvää" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::verify epäonnistui" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, fuzzy, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "%Jsisäänrakennettu funktio %qD esitelty ei-funktiona" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, fuzzy, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "muuttujalla %qD on funktiotyyppi" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -24178,8 +24178,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -24215,94 +24215,94 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qE edellyttää oletusnäkyvyyttä, mutta %qD on jo esitelty eri näkyvyydellä" + +-#: tree.c:8366 ++#: tree.c:8373 + #, fuzzy, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "------ Semaforitaulukot --------\n" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "funktion paluuarvon tyyppi ei voi olla funktio" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "" + +-#: tree.c:10017 ++#: tree.c:10025 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:12867 ++#: tree.c:12875 + #, fuzzy, gcc-internal-format + #| msgid "%qE is deprecated: %s" + msgid "%qD is deprecated: %s" + msgstr "%qE on vanhentunut: %s" + +-#: tree.c:12870 ++#: tree.c:12878 + #, fuzzy, gcc-internal-format + #| msgid "%qE is deprecated" + msgid "%qD is deprecated" + msgstr "%qE on vanhentunut" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "%qE on vanhentunut: %s" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "%qE on vanhentunut" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "tyyppi on vanhentunut: %s" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "tyyppi on vanhentunut" +@@ -24329,263 +24329,263 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, fuzzy, gcc-internal-format + msgid "type variant differs by " + msgstr "Tiedoston tyyppi eroaa" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, fuzzy, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "tyypillä %qT ei ole tunnettua kokoa" + +-#: tree.c:13399 ++#: tree.c:13407 + #, fuzzy, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "tyypillä %qT ei ole tunnettua kokoa" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, fuzzy, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "taulukon tyypillä on vaillinainen alkiotyyppi" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, fuzzy, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "paluutyyppi on vaillinainen tyyppi" + +-#: tree.c:13478 ++#: tree.c:13486 + #, fuzzy, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "paluutyyppi on vaillinainen tyyppi" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, fuzzy, gcc-internal-format + msgid "first mismatch is field" + msgstr "tyyppitäsmäämättömyys taulukkoviitteessä" + +-#: tree.c:13520 ++#: tree.c:13528 + #, fuzzy, gcc-internal-format + msgid "and field" + msgstr "kentän leveys" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, fuzzy, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "paluutyyppi on vaillinainen tyyppi" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, fuzzy, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "paluutyyppi on vaillinainen tyyppi" + +-#: tree.c:13548 ++#: tree.c:13556 + #, fuzzy, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "funktiokutsu epäsopivan tyypin läpi" + +-#: tree.c:13851 ++#: tree.c:13859 + #, fuzzy, gcc-internal-format + msgid "Main variant is not defined" + msgstr "”%s” on määrittelemättä" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, fuzzy, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "funktiokutsu epäsopivan tyypin läpi" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, fuzzy, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "ei voi muuntaa osoitintyypiksi" + +-#: tree.c:13938 ++#: tree.c:13946 + #, fuzzy, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "tyyppitäsmäämättömyys komponenttiviitteessä" + +-#: tree.c:13956 ++#: tree.c:13964 + #, fuzzy, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "NULLin muunnos epäosoitintyypiksi" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, fuzzy, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "taulukon %qE koko ei ole kokonaislukutyyppiä" + +-#: tree.c:14015 ++#: tree.c:14023 + #, fuzzy, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "NULLin muunnos epäosoitintyypiksi" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qE has non-integer type" + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "taulukkoindeksi alustimessa ei ole kokonaislukutyyppinen" + +-#: tree.c:14092 ++#: tree.c:14100 + #, fuzzy, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "paluutyyppi on vaillinainen tyyppi" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, fuzzy, gcc-internal-format + #| msgid "verify_gimple failed" + msgid "verify_type failed" +@@ -25596,13 +25596,13 @@ + msgid "% attribute specified with a parameter" + msgstr "oletusargumentti määritelty lambda-parametrille" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "liian vähän argumentteja funktiolle %qE" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "liian monta argumenttia funktiolle %qE" +@@ -25687,73 +25687,73 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "taulukon koko on liian suuri" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "funktiolle %2$qE annettu argumentin %1$d tyyppi on yhteensopimaton" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, fuzzy, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "liian monta argumenttia funktiolle %qE" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "ylivuoto vakiolausekkeessa" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "annettu yhteensopimatonta osoitintyyppiä oleva %d. argumentti funktiolle %qE" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "argumentin %d antamisessa funktiolle %qE tehdään osoitin kokonaisluvusta ilman tyyppimuunnosta" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "annettu yhteensopimatonta osoitintyyppiä oleva %d. argumentti funktiolle %qE" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, fuzzy, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "funktiolle %2$qE annettu argumentin %1$d tyyppi on yhteensopimaton" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, fuzzy, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "funktiolle %2$qE annettu argumentin %1$d tyyppi on yhteensopimaton" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, fuzzy, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "funktiolle %2$qE annettu argumentin %1$d tyyppi on yhteensopimaton" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, fuzzy, gcc-internal-format + msgid "index value is out of bound" + msgstr "Arvo sallitun välin ulkopuolella." + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, fuzzy, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -25761,22 +25761,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, fuzzy, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "sisäinen funktio %q+D esitelty ei-funktiona" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "taulukon %qE koko on liian suuri" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "nimettömän taulukon koko on liian suuri" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -27563,7 +27563,7 @@ + msgid "too many input files" + msgstr "liikaa syötetiedostoja" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "tuntematon cc_attr-arvo" +@@ -28024,12 +28024,12 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "%s ei tue pituusmäärettä %qs %s" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" +@@ -28036,7 +28036,7 @@ + "Käyttö: %s [MERKKIJONO]...\n" + " tai: %s VALITSIN\n" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" +@@ -28043,167 +28043,167 @@ + "Käyttö: %s [MERKKIJONO]...\n" + " tai: %s VALITSIN\n" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "tuntematon valitsin -%s" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, fuzzy, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "Kelvolliset argumentit:" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "makron nimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "tuntematon konetila %qs" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, fuzzy, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "makron nimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "tuntematon cc_attr-arvo" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "makron nimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "tuntematon cc_attr-arvo" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "valitsin -mcpu=%s on ristiriidassa valitsimen -march=%s kanssa" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, fuzzy, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" + msgstr "%s ei tue %%n$-operandinumeromuotoilua" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, fuzzy, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "koodimalli %s ei tue PIC-tilaa" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "polku puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "Tuntematon -mmacosx-version-min-arvo %qs" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "polku puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "Tuntematon -mmacosx-version-min-arvo %qs" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "Tuntematon -mmacosx-version-min-arvo %qs" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "tiedostonimi puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed #pragma builtin" + msgid "malformed target %s" + msgstr "väärinmuodostettu %<#pragma %s%>, jätetään huomiotta" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, fuzzy, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "%J%qD sallii vain nolla tai kaksi argumenttia" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support the %<%%%s%c%> %s format" + msgid "target %s %qs does not allow a negated form" + msgstr "%s ei tue muotoilua %<%%%s%c%> %s" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "Kohdehakemisto ”%s” ei ole kelvollinen hakemisto" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "%qE-attribuutti tarvitsee merkkijonovakioargumentin" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed #pragma builtin" + msgid "malformed target %s value" + msgstr "Väärin muotoiltu kohdekohtainen muuttujamäärittely" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "makefile-kohde puuttuu %qs:n jälkeen" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "" +@@ -28618,62 +28618,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, fuzzy, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "-mvsx ja -mpaired ovat yhteensopimattomat" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "kohdemuoto ei tue äärettömyyttä" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "kohdemuoto ei tue äärettömyyttä" +@@ -28680,128 +28680,134 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, fuzzy, gcc-internal-format + #| msgid "-mpcrel -fPIC is not currently supported on selected cpu" + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-mpcrel -fPIC ei ole nykyisin tuettu valitulle prosessorille" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "AAPCS ei tue valitsinta -mcaller-super-interworking" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check on yhteensopimaton valitsimen -mno-apcs-frame kanssa" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic ja -mapcs-reent ovat yhteensopimattomat" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + msgid "selected fp16 options are incompatible" + msgstr "valitsimet -l ja -s eivät ole yhteensopivia" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "AAPCS ei tue valitsinta -mcaller-super-interworking" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "AAPCS ei tue valitsinta -mcallee-super-interworking" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, fuzzy, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "kohdemuoto ei tue äärettömyyttä" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -28817,77 +28823,77 @@ + msgid "%qE attribute only applies to functions" + msgstr "%qE-attribuutti pätee vain funktioihin, ei %s" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to functions, not %s" + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "%qE-attribuutti pätee vain funktioihin, ei %s" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qD must not have variable number of arguments" + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "%qD:lla ei saa olla vaihtuvaa määrää argumentteja" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to functions, not %s" + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "%qE-attribuutti pätee vain funktioihin, ei %s" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute ignored without -mcmse option." + msgstr "%qE-attribuuttia ei huomioida ei-luokkatyypeille" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, fuzzy, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "%J%qE-attribuutti soveltuu vain funktioihin" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to function types" + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "%qE-attribuutti pätee vain funktiotyyppeihin" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid vector type for attribute %qs" + msgid "invalid fpu for attribute(target(\"%s\"))" +@@ -28896,13 +28902,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "kohde ”%s” ei täsmää kohdehahmon kanssa" +@@ -31537,7 +31543,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "%J%qD sallii vain nolla tai kaksi argumenttia" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, fuzzy, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "%J%qD sallii vain nolla tai kaksi argumenttia" +@@ -31547,42 +31553,42 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "%J%qD sallii vain nolla tai kaksi argumenttia" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%q+D sallii vain nolla tai kaksi argumenttia" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%J%qD sallii vain nolla tai kaksi argumenttia" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%J%qD sallii vain nolla tai kaksi argumenttia" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "sijoitus hylkää kohdeosoitintyypin määreitä" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "weakref ei ole tuettu tässä konfiguraatiossa" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %s" + msgstr "virheellinen parametri %qs" +@@ -32658,114 +32664,114 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, fuzzy, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "pinokehys ei ole 8:n tavun monikerta: %wd" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, fuzzy, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "#pragma extern_prefix ei ole tuettu tällä kohteella" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "64-bittinen ABI ei ole tuettu ESA/390-tilassa" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, fuzzy, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + msgid "arguments to %qs should be non-negative integers" + msgstr "%q+D:n ensimmäisen argumentin pitäisi olla %" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "blocks-argumentti on liian suuri, maksimi on %llu" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "säiekohtaista muistia ei tueta tälle kohteelle" +Index: gcc/po/el.po +=================================================================== +--- a/src/gcc/po/el.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/el.po (.../branches/gcc-7-branch) +@@ -6,7 +6,7 @@ + msgstr "" + "Project-Id-Version: gcc 4.0-b20041128\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2004-12-15 18:53+0000\n" + "Last-Translator: Simos Xenitellis \n" + "Language-Team: Greek \n" +@@ -2899,42 +2899,42 @@ + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, fuzzy, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, fuzzy, c-format + msgid "invalid operand for '%%%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, fuzzy, c-format + msgid "missing operand" + msgstr "έχει παραληφθεί η λίστα με τα πεδία" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, fuzzy, c-format + msgid "invalid constant" + msgstr "μη έγκυρος χρήστης" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, fuzzy, c-format + msgid "invalid operand" + msgstr "μη έγκυρος χρήστης" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, fuzzy, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "Μη έγκυρη επιλογή `%s'" +@@ -3092,29 +3092,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "μη έγκυρη μετατόπιση UTC" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, fuzzy, c-format + msgid "invalid shift operand" + msgstr "μη έγκυρος χρήστης" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, fuzzy, c-format + msgid "predicated Thumb instruction" + msgstr "Ακατάλληλη εντολή" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, fuzzy, c-format + msgid "predicated instruction in conditional sequence" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3122,13 +3122,13 @@ + msgid "invalid operand for code '%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, fuzzy, c-format + msgid "instruction never executed" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" +@@ -3996,99 +3996,99 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, fuzzy, c-format + msgid "cannot decompose address" + msgstr "Δεν είναι δυνατή η εκχώρηση της ζητηθήσας διεύθυνσης" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, fuzzy, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, fuzzy, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, fuzzy, c-format + msgid "invalid address for 'O' output modifier" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, fuzzy, c-format + msgid "invalid address for 'R' output modifier" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, fuzzy, c-format + msgid "invalid address for 'S' output modifier" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, fuzzy, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, fuzzy, c-format + msgid "invalid constant - try using an output modifier" + msgstr "Μη έγκυρος κώδικας αίτησης" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, fuzzy, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, fuzzy, c-format + msgid "invalid expression - try using an output modifier" + msgstr "%s: μη έγκυρη κανονική έκφραση: %s" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, fuzzy, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + msgid "vector argument passed to unprototyped function" + msgstr "πολύ λίγα ορίσματα" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + msgid "types differ in signedness" + msgstr "" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -18089,7 +18089,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "" +@@ -18632,8 +18632,8 @@ + msgid "null pointer dereference" + msgstr "Μη έγκυρη πισω-παραπομπή" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -18647,297 +18647,297 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + msgid "directive argument %qE" + msgstr "Μη έγκυρη επιλογή `%s'" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, gcc-internal-format + msgid "null destination pointer" + msgstr "" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + msgid "null format string" + msgstr "Η αλυσίδα μορφής δεν είναι έγκυρη: `%s'" +@@ -21113,157 +21113,157 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "" + +-#: symtab.c:970 ++#: symtab.c:978 + #, fuzzy, gcc-internal-format + msgid "function symbol is not function" + msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'" + +-#: symtab.c:978 ++#: symtab.c:986 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "" + +-#: symtab.c:984 ++#: symtab.c:992 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "Το επώνυμο αντικείμενο δεν είναι αναζητήσιμο" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, fuzzy, gcc-internal-format + msgid "node is alias but not definition" + msgstr "έχει παραληφθεί το αρχείο προορισμού" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, fuzzy, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "Η λειτουργία δεν έχει υλοποιηθεί" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -22926,8 +22926,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -22963,92 +22963,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "" + +-#: tree.c:10017 ++#: tree.c:10025 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.c:12867 ++#: tree.c:12875 + #, fuzzy, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: tree.c:12870 ++#: tree.c:12878 + #, fuzzy, gcc-internal-format + msgid "%qD is deprecated" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, fuzzy, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, fuzzy, gcc-internal-format + msgid "%qE is deprecated" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "το `%s' δεν είναι κανονικό αρχείο" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "" +@@ -23075,262 +23075,262 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "" + +-#: tree.c:13851 ++#: tree.c:13859 + #, gcc-internal-format + msgid "Main variant is not defined" + msgstr "" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "" + +-#: tree.c:14092 ++#: tree.c:14100 + #, fuzzy, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "μη πλήρης εγγραφή" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, gcc-internal-format + msgid "verify_type failed" + msgstr "" +@@ -24335,13 +24335,13 @@ + msgid "% attribute specified with a parameter" + msgstr "" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, fuzzy, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "πολύ λίγα ορίσματα" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, fuzzy, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "πάρα πολλά ορίσματα" +@@ -24426,72 +24426,72 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, fuzzy, gcc-internal-format + msgid "size of array is too large" + msgstr "Ο κατάλογος `%s' δεν είναι προσιτός." + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, fuzzy, gcc-internal-format + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "Μη έγκυρη ακέραια παράμετρος `%s'" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, fuzzy, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "πολύ λίγα ορίσματα" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "%s μετατρέπει ακέραιο σε δείκτη χωρίς μετατροπέα" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "%s μετατρέπει ακέραιο σε δείκτη χωρίς μετατροπέα" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, fuzzy, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "Λείπει παράμετρος για `%s'" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, fuzzy, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, fuzzy, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "Μη έγκυρη ακέραια παράμετρος `%s'" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, fuzzy, gcc-internal-format + msgid "index value is out of bound" + msgstr "Η παράμετρος κινητής υποδιαστολής δεν είναι έγκυρη: %s" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, fuzzy, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -24499,22 +24499,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, fuzzy, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "Ο κατάλογος `%s' δεν είναι προσιτός." + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, fuzzy, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "Ο κατάλογος `%s' δεν είναι προσιτός." + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -26281,7 +26281,7 @@ + msgid "too many input files" + msgstr "υπερβολικά πολλά αρχεία εισόδου" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "Ακατάλληλη τιμή στο ai_flags" +@@ -26744,127 +26744,127 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "άγνωστο σετ `%s'" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, fuzzy, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "Η παράμετρος κινητής υποδιαστολής δεν είναι έγκυρη: %s" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "Ακατάλληλη τιμή στο ai_flags" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "πάρα πολλές δηλώσεις μετατροπής στην κατάληξη" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "Ακατάλληλη τιμή στο ai_flags" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, fuzzy, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" + msgstr "αρχεία fifo δεν υποστηρίζονται" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "Ελλιπής ή κακοσχηματισμένη ιδιότητα" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, gcc-internal-format + msgid "unknown value %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, gcc-internal-format + msgid "unknown value %qs for 'tune' target %s" + msgstr "" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "Ελλιπής ή κακοσχηματισμένη ιδιότητα" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'" +@@ -26871,54 +26871,54 @@ + + # src/dfa.c:569 src/dfa.c:583 src/dfa.c:587 + # src/dfa.c:577 src/dfa.c:591 src/dfa.c:595 +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "malformed target %s" + msgstr "κακοσχηματισμένος μετρητής επανάληψης" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, fuzzy, gcc-internal-format + msgid "target %s %qs does not allow a negated form" + msgstr "σχετική θέση αρχείου είναι εκτός ορίων" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "έχουν παραληφθεί ορίσματα" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" + msgstr "" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "έχουν παραληφθεί ορίσματα" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, fuzzy, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "Η παράμετρος `%s' δεν είναι έγκυρη." + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, fuzzy, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "%s: αριθμός γραμμής έξω από τα όρια" +@@ -27327,62 +27327,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "αρχεία fifo δεν υποστηρίζονται" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, fuzzy, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "μη έγκυρη ώρα της μέρας" +@@ -27389,27 +27389,27 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, gcc-internal-format + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "" +@@ -27416,102 +27416,108 @@ + + # src/getopt1.c:155 + # src/getopt1.c:155 +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + msgid "selected fp16 options are incompatible" + msgstr "επιλογή α\n" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, fuzzy, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, fuzzy, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, gcc-internal-format + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, fuzzy, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, gcc-internal-format + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -27527,72 +27533,72 @@ + msgid "%qE attribute only applies to functions" + msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, gcc-internal-format + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, gcc-internal-format + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, gcc-internal-format + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + msgid "%qE attribute ignored without -mcmse option." + msgstr "το `%s' είναι πρόγονος του `%s'" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, gcc-internal-format + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "invalid fpu for attribute(target(\"%s\"))" + msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" +@@ -27600,13 +27606,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "" +@@ -30228,7 +30234,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, gcc-internal-format + msgid "vec_adde only accepts 3 arguments" + msgstr "" +@@ -30238,42 +30244,42 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "%s μετατρέπει ακέραιο σε δείκτη χωρίς μετατροπέα" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "Η οικογένεια διευθύνσεων δεν υποστηρίζεται από την οικογένεια πρωτοκόλλου" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, gcc-internal-format, gfc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %s" + msgstr "" +@@ -31329,114 +31335,114 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, fuzzy, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "Το όνομα `%s' είναι άγνωστο\n" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "Το servname δεν υποστηρίζεται από το ai_socktype" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "Ακατάλληλη εντολή" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, fuzzy, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "%s: ο αριθμός γραμμής πρέπει να είναι μεγαλύτερος από το μηδέν" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + msgid "arguments to %qs should be non-negative integers" + msgstr "το πρώτο όρισμα της `%s' πρέπει να είναι `int'" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "%s: οι τιμές του πεδίου `%s' δεν πρέπει να είναι μεγαλύτερες από %d" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό" +Index: gcc/po/zh_CN.po +=================================================================== +--- a/src/gcc/po/zh_CN.po (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/po/zh_CN.po (.../branches/gcc-7-branch) +@@ -32,7 +32,7 @@ + msgstr "" + "Project-Id-Version: gcc 6.1.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2017-04-24 20:38+0000\n" ++"POT-Creation-Date: 2017-05-01 22:24+0000\n" + "PO-Revision-Date: 2016-04-30 17:13-0400\n" + "Last-Translator: Mingye Wang (Arthur2e5) \n" + "Language-Team: Chinese (simplified) \n" +@@ -2928,42 +2928,42 @@ + msgid "" + msgstr "<命令行>" + +-#: config/aarch64/aarch64.c:4926 config/arm/arm.c:21795 config/arm/arm.c:21808 +-#: config/arm/arm.c:21833 config/nios2/nios2.c:2653 ++#: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ++#: config/arm/arm.c:21870 config/nios2/nios2.c:2653 + #, fuzzy, c-format + msgid "Unsupported operand for code '%c'" + msgstr "代码‘%c’的操作数无效" + +-#: config/aarch64/aarch64.c:4938 config/aarch64/aarch64.c:4954 +-#: config/aarch64/aarch64.c:4967 config/aarch64/aarch64.c:4979 +-#: config/aarch64/aarch64.c:4990 config/aarch64/aarch64.c:5013 +-#: config/aarch64/aarch64.c:5066 config/aarch64/aarch64.c:5269 ++#: config/aarch64/aarch64.c:4939 config/aarch64/aarch64.c:4955 ++#: config/aarch64/aarch64.c:4968 config/aarch64/aarch64.c:4980 ++#: config/aarch64/aarch64.c:4991 config/aarch64/aarch64.c:5014 ++#: config/aarch64/aarch64.c:5067 config/aarch64/aarch64.c:5270 + #, fuzzy, c-format + msgid "invalid operand for '%%%c'" + msgstr "无效的操作数代码‘%c’" + +-#: config/aarch64/aarch64.c:5033 config/aarch64/aarch64.c:5046 +-#: config/aarch64/aarch64.c:5056 ++#: config/aarch64/aarch64.c:5034 config/aarch64/aarch64.c:5047 ++#: config/aarch64/aarch64.c:5057 + #, c-format + msgid "incompatible floating point / vector register operand for '%%%c'" + msgstr "" + +-#: config/aarch64/aarch64.c:5102 config/arm/arm.c:22340 ++#: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 + #, c-format + msgid "missing operand" + msgstr "缺少操作数" + +-#: config/aarch64/aarch64.c:5164 ++#: config/aarch64/aarch64.c:5165 + #, fuzzy, c-format + msgid "invalid constant" + msgstr "%<#pragma pack%>中有无效常量 - 已忽略" + +-#: config/aarch64/aarch64.c:5167 ++#: config/aarch64/aarch64.c:5168 + #, fuzzy, c-format + msgid "invalid operand" + msgstr "%%R 代码的操作数无效" + +-#: config/aarch64/aarch64.c:5280 ++#: config/aarch64/aarch64.c:5281 + #, fuzzy, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "‘%%%c’不是一个有效的操作数前缀" +@@ -3121,29 +3121,29 @@ + msgid "invalid UNSPEC as operand: %d" + msgstr "无效的 UNSPEC 用作操作数" + +-#: config/arm/arm.c:18804 config/arm/arm.c:18829 config/arm/arm.c:18839 +-#: config/arm/arm.c:18848 config/arm/arm.c:18857 ++#: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ++#: config/arm/arm.c:18885 config/arm/arm.c:18894 + #, c-format + msgid "invalid shift operand" + msgstr "无效的移位操作数" + +-#: config/arm/arm.c:21671 config/arm/arm.c:21689 ++#: config/arm/arm.c:21708 config/arm/arm.c:21726 + #, c-format + msgid "predicated Thumb instruction" + msgstr "预测到的 Thumb 指令" + +-#: config/arm/arm.c:21677 ++#: config/arm/arm.c:21714 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "在条件序列中预测到的指令" + +-#: config/arm/arm.c:21910 config/arm/arm.c:21932 config/arm/arm.c:21942 +-#: config/arm/arm.c:21952 config/arm/arm.c:21962 config/arm/arm.c:22001 +-#: config/arm/arm.c:22019 config/arm/arm.c:22044 config/arm/arm.c:22059 +-#: config/arm/arm.c:22086 config/arm/arm.c:22093 config/arm/arm.c:22111 +-#: config/arm/arm.c:22118 config/arm/arm.c:22126 config/arm/arm.c:22147 +-#: config/arm/arm.c:22154 config/arm/arm.c:22287 config/arm/arm.c:22294 +-#: config/arm/arm.c:22321 config/arm/arm.c:22328 config/bfin/bfin.c:1437 ++#: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ++#: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ++#: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ++#: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ++#: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ++#: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ++#: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 + #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 + #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 + #: config/bfin/bfin.c:1488 +@@ -3151,13 +3151,13 @@ + msgid "invalid operand for code '%c'" + msgstr "代码‘%c’的操作数无效" + +-#: config/arm/arm.c:22014 ++#: config/arm/arm.c:22051 + #, c-format + msgid "instruction never executed" + msgstr "指令从不被执行" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.c:22035 ++#: config/arm/arm.c:22072 + #, fuzzy, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "不受支持的算符用于编码‘%c’" +@@ -3990,103 +3990,103 @@ + msgid "emit_fusion_p9_store not MEM" + msgstr "" + +-#: config/s390/s390.c:7314 ++#: config/s390/s390.c:7482 + #, fuzzy, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "符号内存参考是只有支持的于 z10 或稍后" + +-#: config/s390/s390.c:7325 ++#: config/s390/s390.c:7493 + #, c-format + msgid "cannot decompose address" + msgstr "无法分解地址" + +-#: config/s390/s390.c:7394 ++#: config/s390/s390.c:7562 + #, fuzzy, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "‘b’修饰符的操作数无效" + +-#: config/s390/s390.c:7417 ++#: config/s390/s390.c:7585 + #, fuzzy, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "‘b’修饰符的操作数无效" + +-#: config/s390/s390.c:7435 ++#: config/s390/s390.c:7603 + #, fuzzy, c-format + msgid "invalid address for 'O' output modifier" + msgstr "‘o’修饰符的操作数无效" + +-#: config/s390/s390.c:7457 ++#: config/s390/s390.c:7625 + #, fuzzy, c-format + msgid "invalid address for 'R' output modifier" + msgstr "‘b’修饰符的操作数无效" + +-#: config/s390/s390.c:7475 ++#: config/s390/s390.c:7643 + #, fuzzy, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "内存参考预期的用于‘S’输出修饰键" + +-#: config/s390/s390.c:7485 ++#: config/s390/s390.c:7653 + #, fuzzy, c-format + msgid "invalid address for 'S' output modifier" + msgstr "%s:无效的输出格式" + +-#: config/s390/s390.c:7506 ++#: config/s390/s390.c:7674 + #, fuzzy, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "暂存器或内存运算式预期的用于‘N’输出修饰键" + +-#: config/s390/s390.c:7517 ++#: config/s390/s390.c:7685 + #, fuzzy, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "暂存器或内存运算式预期的用于‘公尺’输出修饰键" + +-#: config/s390/s390.c:7603 config/s390/s390.c:7624 ++#: config/s390/s390.c:7771 config/s390/s390.c:7792 + #, fuzzy, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "CHARACTER 常量的种别 %d 无效,在%C处" + +-#: config/s390/s390.c:7621 ++#: config/s390/s390.c:7789 + #, fuzzy, c-format + msgid "invalid constant - try using an output modifier" + msgstr "无效的操作数输出代码" + +-#: config/s390/s390.c:7658 ++#: config/s390/s390.c:7826 + #, fuzzy, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "CHARACTER 常量的种别 %d 无效,在%C处" + +-#: config/s390/s390.c:7665 ++#: config/s390/s390.c:7833 + #, fuzzy, c-format + msgid "invalid expression - try using an output modifier" + msgstr "无效的最小左值表达式" + +-#: config/s390/s390.c:7668 ++#: config/s390/s390.c:7836 + #, fuzzy, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "C++ 不允许在%qs表达式中定义类型" + +-#: config/s390/s390.c:11535 ++#: config/s390/s390.c:11703 + #, fuzzy + #| msgid "AltiVec argument passed to unprototyped function" + msgid "vector argument passed to unprototyped function" + msgstr "传递 AltiVec 参数给无原型的函数" + +-#: config/s390/s390.c:15354 ++#: config/s390/s390.c:15522 + #, fuzzy + #| msgid "pointer targets in return differ in signedness" + msgid "types differ in signedness" + msgstr "返回指针时目标与指针符号不一致" + +-#: config/s390/s390.c:15364 ++#: config/s390/s390.c:15532 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.c:15367 ++#: config/s390/s390.c:15535 + #, fuzzy + msgid "binary operator does not support vector bool operand" + msgstr "目标格式不支持无限大浮点数" + +-#: config/s390/s390.c:15375 ++#: config/s390/s390.c:15543 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -20770,7 +20770,7 @@ + msgid "assuming signed overflow does not occur when combining constants around a comparison" + msgstr "在比较周围组合变量时假定有符号数从不溢出" + +-#: fold-const.c:12046 ++#: fold-const.c:12048 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "折叠检查: 原始树因折叠而改变 " +@@ -21310,8 +21310,8 @@ + msgid "null pointer dereference" + msgstr "空指针" + +-#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12872 +-#: tree.c:12909 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 ++#: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 ++#: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 + #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 + #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 + #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 +@@ -21325,298 +21325,298 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.c:2307 gimple-ssa-sprintf.c:2435 ++#: gimple-ssa-sprintf.c:2308 gimple-ssa-sprintf.c:2436 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2309 gimple-ssa-sprintf.c:2437 ++#: gimple-ssa-sprintf.c:2310 gimple-ssa-sprintf.c:2438 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.c:2311 gimple-ssa-sprintf.c:2439 ++#: gimple-ssa-sprintf.c:2312 gimple-ssa-sprintf.c:2440 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2313 gimple-ssa-sprintf.c:2441 ++#: gimple-ssa-sprintf.c:2314 gimple-ssa-sprintf.c:2442 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.c:2326 ++#: gimple-ssa-sprintf.c:2327 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2328 ++#: gimple-ssa-sprintf.c:2329 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2330 ++#: gimple-ssa-sprintf.c:2331 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2334 ++#: gimple-ssa-sprintf.c:2335 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2336 ++#: gimple-ssa-sprintf.c:2337 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2338 ++#: gimple-ssa-sprintf.c:2339 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2351 ++#: gimple-ssa-sprintf.c:2352 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2353 ++#: gimple-ssa-sprintf.c:2354 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2355 ++#: gimple-ssa-sprintf.c:2356 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2371 ++#: gimple-ssa-sprintf.c:2372 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2373 ++#: gimple-ssa-sprintf.c:2374 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2375 ++#: gimple-ssa-sprintf.c:2376 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2388 ++#: gimple-ssa-sprintf.c:2389 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2390 ++#: gimple-ssa-sprintf.c:2391 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2392 ++#: gimple-ssa-sprintf.c:2393 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2404 ++#: gimple-ssa-sprintf.c:2405 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2406 ++#: gimple-ssa-sprintf.c:2407 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2408 ++#: gimple-ssa-sprintf.c:2409 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2454 ++#: gimple-ssa-sprintf.c:2455 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2456 ++#: gimple-ssa-sprintf.c:2457 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2458 ++#: gimple-ssa-sprintf.c:2459 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2462 ++#: gimple-ssa-sprintf.c:2463 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2464 ++#: gimple-ssa-sprintf.c:2465 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2466 ++#: gimple-ssa-sprintf.c:2467 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2480 ++#: gimple-ssa-sprintf.c:2481 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2483 ++#: gimple-ssa-sprintf.c:2484 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2486 ++#: gimple-ssa-sprintf.c:2487 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2502 ++#: gimple-ssa-sprintf.c:2503 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2505 ++#: gimple-ssa-sprintf.c:2506 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2508 ++#: gimple-ssa-sprintf.c:2509 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2521 ++#: gimple-ssa-sprintf.c:2522 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2524 ++#: gimple-ssa-sprintf.c:2525 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2527 ++#: gimple-ssa-sprintf.c:2528 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2539 ++#: gimple-ssa-sprintf.c:2540 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2542 ++#: gimple-ssa-sprintf.c:2543 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2545 ++#: gimple-ssa-sprintf.c:2546 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2710 ++#: gimple-ssa-sprintf.c:2711 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2712 ++#: gimple-ssa-sprintf.c:2713 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.c:2751 ++#: gimple-ssa-sprintf.c:2752 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2753 ++#: gimple-ssa-sprintf.c:2754 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.c:2767 ++#: gimple-ssa-sprintf.c:2768 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgstr "" + +-#: gimple-ssa-sprintf.c:2768 ++#: gimple-ssa-sprintf.c:2769 + #, gcc-internal-format + msgid "assuming directive output of %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.c:2775 ++#: gimple-ssa-sprintf.c:2776 + #, fuzzy, gcc-internal-format + msgid "directive argument %qE" + msgstr "%L处内建 REPEAT 的 NCOPIES 实参是负的" + +-#: gimple-ssa-sprintf.c:2777 ++#: gimple-ssa-sprintf.c:2778 + #, fuzzy, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "停用回合 %s 用于函数在中范围的 [%u,%u]" + +-#: gimple-ssa-sprintf.c:2781 ++#: gimple-ssa-sprintf.c:2782 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.c:2801 ++#: gimple-ssa-sprintf.c:2802 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2802 ++#: gimple-ssa-sprintf.c:2803 + #, gcc-internal-format + msgid "%qE output %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2806 ++#: gimple-ssa-sprintf.c:2807 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2811 ++#: gimple-ssa-sprintf.c:2812 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:2816 ++#: gimple-ssa-sprintf.c:2817 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3588 ++#: gimple-ssa-sprintf.c:3591 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.c:3594 ++#: gimple-ssa-sprintf.c:3597 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.c:3647 ++#: gimple-ssa-sprintf.c:3650 + #, fuzzy, gcc-internal-format + #| msgid "null pointer" + msgid "null destination pointer" + msgstr "空指针" + +-#: gimple-ssa-sprintf.c:3664 ++#: gimple-ssa-sprintf.c:3667 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.c:3676 ++#: gimple-ssa-sprintf.c:3679 + #, fuzzy, gcc-internal-format + #| msgid "%s in format string at %L" + msgid "null format string" +@@ -23830,157 +23830,157 @@ + msgid "%D renamed after being referenced in assembly" + msgstr "%D 在汇编中被引用后又被重命名" + +-#: symtab.c:970 ++#: symtab.c:978 + #, fuzzy, gcc-internal-format + msgid "function symbol is not function" + msgstr "函数返回了一个函数" + +-#: symtab.c:978 ++#: symtab.c:986 + #, fuzzy, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "%L处的符号不是一个 DUMMY 变量" + +-#: symtab.c:984 ++#: symtab.c:992 + #, fuzzy, gcc-internal-format + msgid "node has unknown type" + msgstr "未知类型的输入行" + +-#: symtab.c:993 ++#: symtab.c:1001 + #, gcc-internal-format + msgid "node not found node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1001 ++#: symtab.c:1009 + #, gcc-internal-format + msgid "node differs from node->decl->decl_with_vis.symtab_node" + msgstr "" + +-#: symtab.c:1010 ++#: symtab.c:1018 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "" + +-#: symtab.c:1023 ++#: symtab.c:1031 + #, fuzzy, gcc-internal-format + msgid "node not found in symtab assembler name hash" + msgstr "cgraph_hash 中找不到节点" + +-#: symtab.c:1030 ++#: symtab.c:1038 + #, fuzzy, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "双向克隆链接列表已损坏" + +-#: symtab.c:1035 ++#: symtab.c:1043 + #, fuzzy, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "节点在克隆列表中,但并不是克隆" + +-#: symtab.c:1040 ++#: symtab.c:1048 + #, fuzzy, gcc-internal-format + msgid "node is analyzed but it is not a definition" + msgstr "节点在克隆列表中,但并不是克隆" + +-#: symtab.c:1045 ++#: symtab.c:1053 + #, fuzzy, gcc-internal-format + msgid "node is alias but not implicit alias" + msgstr "找不到区域别名文件“%s”" + +-#: symtab.c:1050 ++#: symtab.c:1058 + #, fuzzy, gcc-internal-format + msgid "node is alias but not definition" + msgstr "-fmit-class-file 的别名" + +-#: symtab.c:1055 ++#: symtab.c:1063 + #, fuzzy, gcc-internal-format + msgid "node is weakref but not an transparent_alias" + msgstr "找不到区域别名文件“%s”" + +-#: symtab.c:1060 ++#: symtab.c:1068 + #, fuzzy, gcc-internal-format + msgid "node is transparent_alias but not an alias" + msgstr "找不到区域别名文件“%s”" + +-#: symtab.c:1069 ++#: symtab.c:1077 + #, fuzzy, gcc-internal-format + msgid "node is in same_comdat_group list but has no comdat_group" + msgstr "节点在克隆列表中,但并不是克隆" + +-#: symtab.c:1074 ++#: symtab.c:1082 + #, fuzzy, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "same_comdat_group 并非环状清单" + +-#: symtab.c:1079 ++#: symtab.c:1087 + #, fuzzy, gcc-internal-format + msgid "mixing different types of symbol in same comdat groups is not supported" + msgstr "不支持组合有不同取样信息的单元。" + +-#: symtab.c:1084 ++#: symtab.c:1092 + #, fuzzy, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "节点是单独在中 comdat 群组" + +-#: symtab.c:1091 ++#: symtab.c:1099 + #, fuzzy, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group 并非环状清单" + +-#: symtab.c:1106 ++#: symtab.c:1114 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local symbol referred to by %s outside its comdat" + msgstr "" + +-#: symtab.c:1116 ++#: symtab.c:1124 + #, gcc-internal-format + msgid "implicit_section flag is set but section isn't" + msgstr "" + +-#: symtab.c:1123 ++#: symtab.c:1131 + #, fuzzy, gcc-internal-format + msgid "Both section and comdat group is set" + msgstr "节点是单独在中 comdat 群组" + +-#: symtab.c:1135 ++#: symtab.c:1143 + #, fuzzy, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "--help=target 的别名" + +-#: symtab.c:1142 ++#: symtab.c:1150 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "" + +-#: symtab.c:1157 ++#: symtab.c:1165 + #, fuzzy, gcc-internal-format + msgid "Transparent alias and target's assembler names differs" + msgstr "--help=target 的别名" + +-#: symtab.c:1165 ++#: symtab.c:1173 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "" + +-#: symtab.c:1188 symtab.c:1225 ++#: symtab.c:1196 symtab.c:1233 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::verify 失败" + +-#: symtab.c:1221 ++#: symtab.c:1229 + #, gcc-internal-format + msgid "Two symbols with same comdat_group are not linked by the same_comdat_group list." + msgstr "" + +-#: symtab.c:1630 ++#: symtab.c:1638 + #, fuzzy, gcc-internal-format + msgid "function %q+D part of alias cycle" + msgstr "函数%q+D重声明为内联的" + +-#: symtab.c:1632 ++#: symtab.c:1640 + #, fuzzy, gcc-internal-format + msgid "variable %q+D part of alias cycle" + msgstr "变量%qD被设定但未被使用" + +-#: symtab.c:1660 ++#: symtab.c:1668 + #, gcc-internal-format + msgid "section of alias %q+D must match section of its target" + msgstr "" +@@ -25648,8 +25648,8 @@ + #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 + #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 + #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 +-#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6704 +-#: config/arm/arm.c:6732 config/arm/arm.c:6749 config/avr/avr.c:9460 ++#: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ++#: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 + #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 + #: config/i386/i386.c:41425 config/ia64/ia64.c:762 + #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 +@@ -25685,92 +25685,92 @@ + msgid "%qE implies default visibility, but %qD has already been declared with a different visibility" + msgstr "%qE意味着默认可见性;但%qD已经被声明为有不同的可见性" + +-#: tree.c:8366 ++#: tree.c:8373 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "函数数组是没有意义的" + +-#: tree.c:8537 ++#: tree.c:8545 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "函数不能返回函数" + +-#: tree.c:9831 tree.c:9916 tree.c:9977 ++#: tree.c:9839 tree.c:9924 tree.c:9985 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "树检查:%s,得到 %s 在 %s,于 %s:%d" + +-#: tree.c:9868 ++#: tree.c:9876 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "树检查:不需要 %s,得到 %s 在 %s,于 %s:%d" + +-#: tree.c:9881 ++#: tree.c:9889 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "树检查:需要类%qs,得到%qs(%s) 在 %s,于 %s:%d" + +-#: tree.c:9930 ++#: tree.c:9938 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "树检查:不需要类%qs,得到%qs(%s) 在 %s,于 %s:%d" + +-#: tree.c:9943 ++#: tree.c:9951 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d" + msgstr "树检查:需要 omp_clause %s,得到 %s 在 %s,于 %s:%d" + +-#: tree.c:10003 ++#: tree.c:10011 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "树检查:需要包含%qs结构的树,得到%qs在 %s,于 %s:%d" + +-#: tree.c:10017 ++#: tree.c:10025 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" + msgstr "树检查:访问了 %3$s 中有 %2$d 个 elt 的 tree_vec 的 elt %1$d,于 %4$s:%5$d" + +-#: tree.c:10029 ++#: tree.c:10037 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" + msgstr "树检查:访问了 %3$s 中有 %2$d 个 elt 的 tree_vec 的 elt %1$d,于 %4$s:%5$d" + +-#: tree.c:10042 ++#: tree.c:10050 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "树检查:在 %4$s 中访问有 %3$d 个操作数的 %2$s 的第 %1$d 个操作数,于 %5$s:%6$d" + +-#: tree.c:10055 ++#: tree.c:10063 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" + msgstr "树检查:在 %4$s 中访问有 %3$d 个操作数的 omp_clause %2$s 的第 %1$d 个操作数,于 %5$s:%6$d" + +-#: tree.c:12867 ++#: tree.c:12875 + #, fuzzy, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "已弃用%qE:%s" + +-#: tree.c:12870 ++#: tree.c:12878 + #, fuzzy, gcc-internal-format + msgid "%qD is deprecated" + msgstr "已弃用%qE" + +-#: tree.c:12894 tree.c:12916 ++#: tree.c:12902 tree.c:12924 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "已弃用%qE:%s" + +-#: tree.c:12897 tree.c:12919 ++#: tree.c:12905 tree.c:12927 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "已弃用%qE" + +-#: tree.c:12903 tree.c:12924 ++#: tree.c:12911 tree.c:12932 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "已弃用类型:%s" + +-#: tree.c:12906 tree.c:12927 ++#: tree.c:12914 tree.c:12935 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "已弃用此类型" +@@ -25797,267 +25797,267 @@ + #. main variant only. + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13354 ++#: tree.c:13362 + #, gcc-internal-format + msgid "type variant differs by " + msgstr "" + +-#: tree.c:13395 ++#: tree.c:13403 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13397 ++#: tree.c:13405 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13399 ++#: tree.c:13407 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "" + +-#: tree.c:13419 ++#: tree.c:13427 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "" + +-#: tree.c:13432 ++#: tree.c:13440 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "" + +-#: tree.c:13449 ++#: tree.c:13457 + #, gcc-internal-format + msgid "type variant has TYPE_METHODS" + msgstr "" + +-#: tree.c:13474 ++#: tree.c:13482 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "" + +-#: tree.c:13476 ++#: tree.c:13484 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "" + +-#: tree.c:13478 ++#: tree.c:13486 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "" + +-#: tree.c:13516 ++#: tree.c:13524 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "" + +-#: tree.c:13518 ++#: tree.c:13526 + #, fuzzy, gcc-internal-format + #| msgid "%s:stamp mismatch with notes file\n" + msgid "first mismatch is field" + msgstr "%s:时间戳与说明文件不匹配\n" + +-#: tree.c:13520 ++#: tree.c:13528 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.c:13537 ++#: tree.c:13545 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "" + +-#: tree.c:13539 tree.c:13550 ++#: tree.c:13547 tree.c:13558 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "" + +-#: tree.c:13541 tree.c:13552 ++#: tree.c:13549 tree.c:13560 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "" + +-#: tree.c:13548 ++#: tree.c:13556 + #, fuzzy, gcc-internal-format + #| msgid "-mnop-mcount is not compatible with this target" + msgid "type is not compatible with its variant" + msgstr "-mnop-mcount 与此目标不兼容" + +-#: tree.c:13851 ++#: tree.c:13859 + #, fuzzy, gcc-internal-format + #| msgid "environment variable %qs not defined" + msgid "Main variant is not defined" + msgstr "环境变量%qs未定义" + +-#: tree.c:13856 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:13868 ++#: tree.c:13876 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "" + +-#: tree.c:13886 ++#: tree.c:13894 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13894 ++#: tree.c:13902 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "" + +-#: tree.c:13902 ++#: tree.c:13910 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13918 ++#: tree.c:13926 + #, gcc-internal-format + msgid "TYPE_VFIELD is not FIELD_DECL nor TREE_LIST" + msgstr "" + +-#: tree.c:13928 ++#: tree.c:13936 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "" + +-#: tree.c:13938 ++#: tree.c:13946 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "" + +-#: tree.c:13956 ++#: tree.c:13964 + #, gcc-internal-format + msgid "TYPE_MINVAL non-NULL" + msgstr "" + +-#: tree.c:13968 ++#: tree.c:13976 + #, gcc-internal-format + msgid "TYPE_METHODS is not FUNCTION_DECL, TEMPLATE_DECL nor error_mark_node" + msgstr "" + +-#: tree.c:13979 ++#: tree.c:13987 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:13990 ++#: tree.c:13998 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "" + +-#: tree.c:14008 ++#: tree.c:14016 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "" + +-#: tree.c:14015 ++#: tree.c:14023 + #, gcc-internal-format + msgid "TYPE_MAXVAL non-NULL" + msgstr "" + +-#: tree.c:14027 ++#: tree.c:14035 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "" + +-#: tree.c:14035 ++#: tree.c:14043 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "" + +-#: tree.c:14042 ++#: tree.c:14050 + #, gcc-internal-format + msgid "TYPE_LANG_SLOT_1 (binfo) field is non-NULL" + msgstr "" + +-#: tree.c:14058 ++#: tree.c:14066 + #, gcc-internal-format + msgid "Enum value is not CONST_DECL or INTEGER_CST" + msgstr "" + +-#: tree.c:14066 ++#: tree.c:14074 + #, gcc-internal-format + msgid "Enum value type is not INTEGER_TYPE nor convertible to the enum" + msgstr "" + +-#: tree.c:14073 ++#: tree.c:14081 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "" + +-#: tree.c:14083 ++#: tree.c:14091 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qE has non-integer type" + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "数组%qE的大小的类型不是整数" + +-#: tree.c:14092 ++#: tree.c:14100 + #, fuzzy, gcc-internal-format + #| msgid "field %qE has incomplete type" + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "字段%qE的类型不完全" + +-#: tree.c:14112 ++#: tree.c:14120 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "" + +-#: tree.c:14127 ++#: tree.c:14135 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is %i while TYPE_CACHED_VALUES is %p" + msgstr "" + +-#: tree.c:14133 ++#: tree.c:14141 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "" + +-#: tree.c:14146 ++#: tree.c:14154 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "" + +-#: tree.c:14159 ++#: tree.c:14167 + #, gcc-internal-format + msgid "TREE_PURPOSE is non-NULL in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14165 ++#: tree.c:14173 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "" + +-#: tree.c:14172 ++#: tree.c:14180 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "" + +-#: tree.c:14184 ++#: tree.c:14192 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES_P is set while it should not" + msgstr "" + +-#: tree.c:14190 ++#: tree.c:14198 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on wrong type code" + msgstr "" + +-#: tree.c:14202 ++#: tree.c:14210 + #, gcc-internal-format + msgid "TYPE_STRING_FLAG is set on type that does not look like char nor array of chars" + msgstr "" + +-#: tree.c:14214 ++#: tree.c:14222 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "" + +-#: tree.c:14221 ++#: tree.c:14229 + #, fuzzy, gcc-internal-format + #| msgid "verify_gimple failed" + msgid "verify_type failed" +@@ -27066,13 +27066,13 @@ + msgid "% attribute specified with a parameter" + msgstr "为 lambda 形参指定了默认参数" + +-#: c-family/c-common.c:5762 c-family/c-common.c:6573 c-family/c-common.c:6644 ++#: c-family/c-common.c:5762 c-family/c-common.c:6574 c-family/c-common.c:6645 + #: c/c-typeck.c:3557 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "提供给函数%qE的实参太少" + +-#: c-family/c-common.c:5767 c-family/c-common.c:6670 c/c-typeck.c:3286 ++#: c-family/c-common.c:5767 c-family/c-common.c:6671 c/c-typeck.c:3286 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "提供给函数%qE的实参太多" +@@ -27157,73 +27157,73 @@ + msgid "index %E denotes an offset greater than size of %qT" + msgstr "索引 %E 指定了一个大于%qT大小的偏移量" + +-#: c-family/c-common.c:6515 cp/init.c:2952 cp/init.c:2971 ++#: c-family/c-common.c:6516 cp/init.c:2952 cp/init.c:2971 + #, gcc-internal-format + msgid "size of array is too large" + msgstr "数组太大" + +-#: c-family/c-common.c:6603 ++#: c-family/c-common.c:6604 + #, fuzzy, gcc-internal-format + #| msgid "incompatible type for argument %d of %qE" + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "%2$qE的第 %1$d 个实参类型不兼容" + +-#: c-family/c-common.c:6737 ++#: c-family/c-common.c:6738 + #, fuzzy, gcc-internal-format + msgid "incorrect number of arguments to function %qE" + msgstr "提供给函数%qE的实参太多" + +-#: c-family/c-common.c:6752 ++#: c-family/c-common.c:6753 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "%2$qE的实参 %1$d 必须是地址" + +-#: c-family/c-common.c:6761 ++#: c-family/c-common.c:6762 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "%K%D 的第一个实参必须是一个指针,第二个必须是整常量" + +-#: c-family/c-common.c:6772 ++#: c-family/c-common.c:6773 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "%K%D 的第一个实参必须是一个指针,第二个必须是整常量" + +-#: c-family/c-common.c:6787 ++#: c-family/c-common.c:6788 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "%2$qE的实参 %1$d 必须是地址" + +-#: c-family/c-common.c:6795 ++#: c-family/c-common.c:6796 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "%K%D 的第一个实参必须是一个指针,第二个必须是整常量" + +-#: c-family/c-common.c:6801 ++#: c-family/c-common.c:6802 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "%2$qE的实参 %1$d 必须是地址" + +-#: c-family/c-common.c:6809 ++#: c-family/c-common.c:6810 + #, fuzzy, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "%2$qE的第 %1$d 个参数必须是在 %3$d 和 %4$d 之间" + +-#: c-family/c-common.c:6825 ++#: c-family/c-common.c:6826 + #, fuzzy, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "%2$qE的第 %1$d 个实参类型不兼容" + +-#: c-family/c-common.c:6832 ++#: c-family/c-common.c:6833 + #, fuzzy, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "%2$qE的第 %1$d 个实参类型不兼容" + +-#: c-family/c-common.c:7753 ++#: c-family/c-common.c:7754 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "索引值越界" + +-#: c-family/c-common.c:7794 c-family/c-common.c:7842 c-family/c-common.c:7857 ++#: c-family/c-common.c:7795 c-family/c-common.c:7843 c-family/c-common.c:7858 + #: cp/call.c:4836 cp/call.c:4843 + #, fuzzy, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" +@@ -27231,23 +27231,23 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7943 ++#: c-family/c-common.c:7944 + #, fuzzy, gcc-internal-format + #| msgid "built-in function %qD takes one argument only" + msgid "built-in function %qE must be directly called" + msgstr "内建函数%qD只需要一个实参" + +-#: c-family/c-common.c:7965 c/c-decl.c:6124 ++#: c-family/c-common.c:7966 c/c-decl.c:6124 + #, gcc-internal-format + msgid "size of array %qE is too large" + msgstr "数组%qE太大" + +-#: c-family/c-common.c:7967 c/c-decl.c:6127 ++#: c-family/c-common.c:7968 c/c-decl.c:6127 + #, gcc-internal-format + msgid "size of unnamed array is too large" + msgstr "无名数组太大" + +-#: c-family/c-common.c:7997 ++#: c-family/c-common.c:7998 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -29022,7 +29022,7 @@ + msgid "too many input files" + msgstr "输入文件太多" + +-#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8751 ++#: common/config/aarch64/aarch64-common.c:313 config/aarch64/aarch64.c:8759 + #, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "-mcpu 的值%qs未知" +@@ -29485,182 +29485,182 @@ + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "%qs必须与%qs一起使用" + +-#: config/aarch64/aarch64.c:8374 ++#: config/aarch64/aarch64.c:8382 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "" + +-#: config/aarch64/aarch64.c:8418 ++#: config/aarch64/aarch64.c:8426 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "" + +-#: config/aarch64/aarch64.c:8475 ++#: config/aarch64/aarch64.c:8483 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "%s: 不适用的选项 -- %c\n" + +-#: config/aarch64/aarch64.c:8493 ++#: config/aarch64/aarch64.c:8501 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "spec 函数名格式错误" + +-#: config/aarch64/aarch64.c:8707 ++#: config/aarch64/aarch64.c:8715 + #, fuzzy, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "%qs对%qs而言无效" + +-#: config/aarch64/aarch64.c:8748 ++#: config/aarch64/aarch64.c:8756 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "%qs后缺少宏名" + +-#: config/aarch64/aarch64.c:8755 ++#: config/aarch64/aarch64.c:8763 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "%X%P: 未知特征 %s\n" + +-#: config/aarch64/aarch64.c:8782 ++#: config/aarch64/aarch64.c:8790 + #, fuzzy, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "%qs后缺少宏名" + +-#: config/aarch64/aarch64.c:8785 ++#: config/aarch64/aarch64.c:8793 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "未知的 TLS 模型%qs" + +-#: config/aarch64/aarch64.c:8789 ++#: config/aarch64/aarch64.c:8797 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "%qs后缺少宏名" + +-#: config/aarch64/aarch64.c:8815 ++#: config/aarch64/aarch64.c:8823 + #, fuzzy, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "%qs后缺少宏名" + +-#: config/aarch64/aarch64.c:8818 ++#: config/aarch64/aarch64.c:8826 + #, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "-mtune 参数的值 %qs 未知" + +-#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093 ++#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 + #, gcc-internal-format, gfc-internal-format + msgid "switch -mcpu=%s conflicts with -march=%s switch" + msgstr "开关 -mcpu=%s 与 -march=%s 冲突" + +-#: config/aarch64/aarch64.c:8956 ++#: config/aarch64/aarch64.c:8964 + #, gcc-internal-format + msgid "Assembler does not support -mabi=ilp32" + msgstr "汇编器不支持 -mabi=ilp32" + +-#: config/aarch64/aarch64.c:8960 ++#: config/aarch64/aarch64.c:8968 + #, gcc-internal-format + msgid "Return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:9022 ++#: config/aarch64/aarch64.c:9030 + #, fuzzy, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "代码模式%qs在 %s 位模式下不受支持" + +-#: config/aarch64/aarch64.c:9187 ++#: config/aarch64/aarch64.c:9195 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "missing architecture name in 'arch' target %s" + msgstr "%qs后缺少宏名" + +-#: config/aarch64/aarch64.c:9190 ++#: config/aarch64/aarch64.c:9198 + #, fuzzy, gcc-internal-format + msgid "unknown value %qs for 'arch' target %s" + msgstr "未知的 TLS 模型%qs" + +-#: config/aarch64/aarch64.c:9194 ++#: config/aarch64/aarch64.c:9202 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs for 'arch' target %s" + msgstr "%qs后缺少宏名" + +-#: config/aarch64/aarch64.c:9228 ++#: config/aarch64/aarch64.c:9236 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "missing cpu name in 'cpu' target %s" + msgstr "%qs后缺少宏名" + +-#: config/aarch64/aarch64.c:9231 ++#: config/aarch64/aarch64.c:9239 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -mcpu" + msgid "unknown value %qs for 'cpu' target %s" + msgstr "-mcpu 的值%qs未知" + +-#: config/aarch64/aarch64.c:9235 ++#: config/aarch64/aarch64.c:9243 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier %qs for 'cpu' target %s" + msgstr "%qs后缺少宏名" + +-#: config/aarch64/aarch64.c:9266 ++#: config/aarch64/aarch64.c:9274 + #, fuzzy, gcc-internal-format + #| msgid "unknown value %qs for -mtune" + msgid "unknown value %qs for 'tune' target %s" + msgstr "-mtune 参数的值 %qs 未知" + +-#: config/aarch64/aarch64.c:9307 ++#: config/aarch64/aarch64.c:9315 + #, fuzzy, gcc-internal-format + msgid "missing feature modifier in target %s %qs" + msgstr "%qs后缺少宏名" + +-#: config/aarch64/aarch64.c:9312 ++#: config/aarch64/aarch64.c:9320 + #, fuzzy, gcc-internal-format + msgid "invalid feature modifier in target %s %qs" + msgstr "%qs后缺少宏名" + +-#: config/aarch64/aarch64.c:9364 ++#: config/aarch64/aarch64.c:9372 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "malformed spec function arguments" + msgid "malformed target %s" + msgstr "spec 函数参数格式错误" + +-#: config/aarch64/aarch64.c:9412 ++#: config/aarch64/aarch64.c:9420 + #, fuzzy, gcc-internal-format + msgid "target %s %qs does not accept an argument" + msgstr "%s 只接受 2 个参数" + +-#: config/aarch64/aarch64.c:9421 ++#: config/aarch64/aarch64.c:9429 + #, fuzzy, gcc-internal-format + msgid "target %s %qs does not allow a negated form" + msgstr "目标系统不支持调试输出" + +-#: config/aarch64/aarch64.c:9476 ++#: config/aarch64/aarch64.c:9484 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "target %s %s=%s is not valid" + msgstr "无效的 %s 字组:%s\n" + +-#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367 ++#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 + #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 +-#: config/s390/s390.c:14849 ++#: config/s390/s390.c:15017 + #, fuzzy, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "%qE属性需要一个字符串常量作为实参" + +-#: config/aarch64/aarch64.c:9546 ++#: config/aarch64/aarch64.c:9554 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "malformed target %s value" + msgstr "异常的 URL" + +-#: config/aarch64/aarch64.c:9563 ++#: config/aarch64/aarch64.c:9571 + #, fuzzy, gcc-internal-format + msgid "target %s %qs is invalid" + msgstr "属性%qs的参数无效" + +-#: config/aarch64/aarch64.c:9572 ++#: config/aarch64/aarch64.c:9580 + #, gcc-internal-format + msgid "malformed target %s list %qs" + msgstr "" + +-#: config/aarch64/aarch64.c:11420 ++#: config/aarch64/aarch64.c:11428 + #, fuzzy, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "操作数号超出范围" + +-#: config/aarch64/aarch64.c:11422 ++#: config/aarch64/aarch64.c:11430 + #, fuzzy, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "操作数号超出范围" +@@ -30072,62 +30072,62 @@ + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" + +-#: config/arm/arm.c:2799 ++#: config/arm/arm.c:2800 + #, gcc-internal-format + msgid "iWMMXt and NEON are incompatible" + msgstr "iWMMXt 与 NEON 互不兼容" + +-#: config/arm/arm.c:2805 ++#: config/arm/arm.c:2806 + #, gcc-internal-format + msgid "target CPU does not support ARM mode" + msgstr "目标 CPU 不支持 ARM 模式" + +-#: config/arm/arm.c:2809 ++#: config/arm/arm.c:2810 + #, gcc-internal-format + msgid "enabling backtrace support is only meaningful when compiling for the Thumb" + msgstr "函数调用回溯支持只在为 Thumb 编译时有意义" + +-#: config/arm/arm.c:2812 ++#: config/arm/arm.c:2813 + #, gcc-internal-format + msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" + msgstr "被调用者协作只在为 Thumb 编译时有意义" + +-#: config/arm/arm.c:2820 ++#: config/arm/arm.c:2821 + #, gcc-internal-format + msgid "-g with -mno-apcs-frame may not give sensible debugging" + msgstr "-g 与 -mno-apcs-frame 并用可能不能给出有意义的调试信息" + +-#: config/arm/arm.c:2824 ++#: config/arm/arm.c:2825 + #, gcc-internal-format + msgid "iWMMXt unsupported under Thumb mode" + msgstr "" + +-#: config/arm/arm.c:2827 ++#: config/arm/arm.c:2828 + #, gcc-internal-format + msgid "can not use -mtp=cp15 with 16-bit Thumb" + msgstr "-mtp=cp15 和 16 位 Thumb 不能并用" + +-#: config/arm/arm.c:2831 ++#: config/arm/arm.c:2832 + #, gcc-internal-format + msgid "RTP PIC is incompatible with Thumb" + msgstr "RTP PIC 与 Thumb 不兼容" + +-#: config/arm/arm.c:2839 ++#: config/arm/arm.c:2840 + #, gcc-internal-format + msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2844 ++#: config/arm/arm.c:2845 + #, gcc-internal-format + msgid "-mpure-code only supports non-pic code on armv7-m targets" + msgstr "" + +-#: config/arm/arm.c:2947 ++#: config/arm/arm.c:2948 + #, gcc-internal-format + msgid "target CPU does not support THUMB instructions" + msgstr "目标 CPU 不支持 THUMB 指令" + +-#: config/arm/arm.c:2992 ++#: config/arm/arm.c:2993 + #, gcc-internal-format + msgid "target CPU does not support unaligned accesses" + msgstr "目标 CPU 不支持未对齐的访问" +@@ -30134,131 +30134,137 @@ + + #. To support this we need to be able to parse FPU feature options + #. from the architecture string. +-#: config/arm/arm.c:3246 ++#: config/arm/arm.c:3247 + #, fuzzy, gcc-internal-format + #| msgid "-mpcrel -fPIC is not currently supported on selected cpu" + msgid "-mfpu=auto not currently supported without an explicit CPU." + msgstr "-mpcrel -fPIC 目前在所选的 CPU 上不受支持" + +-#: config/arm/arm.c:3321 ++#: config/arm/arm.c:3322 + #, gcc-internal-format + msgid "target CPU does not support interworking" + msgstr "目标 CPU 不支持交互工作" + +-#: config/arm/arm.c:3327 ++#: config/arm/arm.c:3328 + #, gcc-internal-format + msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" + msgstr "-mapcs-stack-check 和 -mno-apcs-frame 互不兼容" + +-#: config/arm/arm.c:3335 ++#: config/arm/arm.c:3336 + #, gcc-internal-format + msgid "-fpic and -mapcs-reent are incompatible" + msgstr "-fpic 和 -mapcs-reent 互不兼容" + +-#: config/arm/arm.c:3338 ++#: config/arm/arm.c:3339 + #, gcc-internal-format + msgid "APCS reentrant code not supported. Ignored" + msgstr "不支持 APCS 重入代码。已忽略" + +-#: config/arm/arm.c:3372 ++#: config/arm/arm.c:3373 + #, fuzzy, gcc-internal-format + #| msgid "-mrelocatable and -msdata=%s are incompatible" + msgid "selected fp16 options are incompatible" + msgstr "-mrelocatable 与 -msdata=%s 互不兼容" + +-#: config/arm/arm.c:3403 ++#: config/arm/arm.c:3404 + #, gcc-internal-format + msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" + msgstr "iwmmxt 需要与 AAPCS 兼容的 ABI 方能正确操作" + +-#: config/arm/arm.c:3406 ++#: config/arm/arm.c:3407 + #, gcc-internal-format + msgid "iwmmxt abi requires an iwmmxt capable cpu" + msgstr "iwmmxt abi 需要相应 CPU 的支持" + +-#: config/arm/arm.c:3417 ++#: config/arm/arm.c:3418 + #, gcc-internal-format + msgid "AAPCS does not support -mcaller-super-interworking" + msgstr "AAPCS 不支持 -mcaller-super-interworking" + +-#: config/arm/arm.c:3420 ++#: config/arm/arm.c:3421 + #, gcc-internal-format + msgid "AAPCS does not support -mcallee-super-interworking" + msgstr "AAPCS 不支持 -mcallee-super-interworking" + +-#: config/arm/arm.c:3425 ++#: config/arm/arm.c:3426 + #, gcc-internal-format + msgid "__fp16 and no ldrh" + msgstr "__fp16 而无 ldrh" + +-#: config/arm/arm.c:3436 ++#: config/arm/arm.c:3437 + #, fuzzy, gcc-internal-format + #| msgid "-mfloat-abi=hard and VFP" + msgid "-mfloat-abi=hard: selected processor lacks an FPU" + msgstr "-mfloat-abi=hard 和 VFP" + +-#: config/arm/arm.c:3444 ++#: config/arm/arm.c:3445 + #, gcc-internal-format + msgid "-mfloat-abi=hard and VFP" + msgstr "-mfloat-abi=hard 和 VFP" + +-#: config/arm/arm.c:3480 ++#: config/arm/arm.c:3481 + #, fuzzy, gcc-internal-format + msgid "structure size boundary can only be set to 8, 32 or 64" + msgstr "结构大小边界只能被设定为 %s" + +-#: config/arm/arm.c:3482 ++#: config/arm/arm.c:3483 + #, fuzzy, gcc-internal-format + msgid "structure size boundary can only be set to 8 or 32" + msgstr "结构大小边界只能被设定为 %s" + +-#: config/arm/arm.c:3507 ++#: config/arm/arm.c:3508 + #, gcc-internal-format + msgid "RTP PIC is incompatible with -msingle-pic-base" + msgstr "RTP PIC 与 -msingle-pic-base 不兼容" + +-#: config/arm/arm.c:3519 ++#: config/arm/arm.c:3520 + #, gcc-internal-format + msgid "-mpic-register= is useless without -fpic" + msgstr "-mpic-register= 不与 -fpic 并用时不起作用" + +-#: config/arm/arm.c:3528 ++#: config/arm/arm.c:3529 + #, gcc-internal-format, gfc-internal-format + msgid "unable to use '%s' for PIC register" + msgstr "‘%s’不能被用作 PIC 寄存器" + +-#: config/arm/arm.c:3547 ++#: config/arm/arm.c:3548 + #, gcc-internal-format + msgid "-freorder-blocks-and-partition not supported on this architecture" + msgstr "-freorder-blocks-and-partition 不能在此架构下工作" + +-#: config/arm/arm.c:3638 ++#: config/arm/arm.c:3639 + #, fuzzy, gcc-internal-format + #| msgid "target CPU does not support THUMB instructions" + msgid "target CPU does not support ARMv8-M Security Extensions" + msgstr "目标 CPU 不支持 THUMB 指令" + +-#: config/arm/arm.c:5706 ++#: config/arm/arm.c:5707 + #, fuzzy, gcc-internal-format + msgid "non-AAPCS derived PCS variant" + msgstr "不是从 AAPCS 派生出的 PCS 变种" + +-#: config/arm/arm.c:5708 ++#: config/arm/arm.c:5709 + #, fuzzy, gcc-internal-format + msgid "variadic functions must use the base AAPCS variant" + msgstr "可变参数函数必须使用基础的 AAPCS 变种" + +-#: config/arm/arm.c:5727 ++#: config/arm/arm.c:5728 + #, gcc-internal-format + msgid "PCS variant" + msgstr "PCS 变动" + +-#: config/arm/arm.c:5922 ++#: config/arm/arm.c:5923 + #, gcc-internal-format + msgid "Thumb-1 hard-float VFP ABI" + msgstr "Thumb-1 硬件浮点 VFP ABI" + +-#: config/arm/arm.c:6672 config/arm/arm.c:6690 config/arm/arm.c:6865 ++#: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ++#: config/arm/arm.c:26560 ++#, gcc-internal-format ++msgid "parameter passing for argument of type %qT changed in GCC 7.1" ++msgstr "" ++ ++#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 + #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 + #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 + #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 +@@ -30274,77 +30280,77 @@ + msgid "%qE attribute only applies to functions" + msgstr "%qE属性只能用于函数" + +-#: config/arm/arm.c:6814 ++#: config/arm/arm.c:6851 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to functions, not %s" + msgid "%qE attribute not available to functions with arguments passed on the stack" + msgstr "%qE属性只能用于函数而非 %s" + +-#: config/arm/arm.c:6826 ++#: config/arm/arm.c:6863 + #, fuzzy, gcc-internal-format + #| msgid "%qD must not have variable number of arguments" + msgid "%qE attribute not available to functions with variable number of arguments" + msgstr "%qD不能带可变数量的实参" + +-#: config/arm/arm.c:6835 ++#: config/arm/arm.c:6872 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to functions, not %s" + msgid "%qE attribute not available to functions that return value on the stack" + msgstr "%qE属性只能用于函数而非 %s" + +-#: config/arm/arm.c:6857 config/arm/arm.c:6909 ++#: config/arm/arm.c:6894 config/arm/arm.c:6946 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute ignored on non-class types" + msgid "%qE attribute ignored without -mcmse option." + msgstr "%qE属性在不是类的类型上被忽略" + +-#: config/arm/arm.c:6876 ++#: config/arm/arm.c:6913 + #, fuzzy, gcc-internal-format + msgid "%qE attribute has no effect on functions with static linkage" + msgstr "%qE属性只能用于函数" + +-#: config/arm/arm.c:6925 ++#: config/arm/arm.c:6962 + #, fuzzy, gcc-internal-format + #| msgid "%qE attribute only applies to function types" + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "%qE属性只能用于函数类型" + +-#: config/arm/arm.c:12208 ++#: config/arm/arm.c:12245 + #, fuzzy, gcc-internal-format + msgid "%K%s %wd out of range %wd - %wd" + msgstr "操作数号超出范围" + +-#: config/arm/arm.c:12211 ++#: config/arm/arm.c:12248 + #, fuzzy, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "操作数号超出范围" + +-#: config/arm/arm.c:23458 ++#: config/arm/arm.c:23495 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "无法计算出栈中参数的真实地址" + +-#: config/arm/arm.c:24111 ++#: config/arm/arm.c:24148 + #, fuzzy, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "非预期的模块结束" + +-#: config/arm/arm.c:24375 ++#: config/arm/arm.c:24412 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "高寄存器弹栈时没有可用的低寄存器" + +-#: config/arm/arm.c:24624 ++#: config/arm/arm.c:24661 + #, gcc-internal-format + msgid "interrupt Service Routines cannot be coded in Thumb mode" + msgstr "Thumb 模式中不能编码中断服务进程" + +-#: config/arm/arm.c:24853 ++#: config/arm/arm.c:24890 + #, gcc-internal-format + msgid "-fstack-check=specific for Thumb-1" + msgstr "" + +-#: config/arm/arm.c:30391 ++#: config/arm/arm.c:30435 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid element type for attribute %qs" + msgid "invalid fpu for attribute(target(\"%s\"))" +@@ -30353,13 +30359,13 @@ + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.c:30399 ++#: config/arm/arm.c:30443 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885 +-#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982 ++#: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ++#: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "attribute(target(\"%s\"))未知" +@@ -33016,7 +33022,7 @@ + msgid "vec_cmpne only accepts 2 arguments" + msgstr "vec_insert 只接受三个参数" + +-#: config/rs6000/rs6000-c.c:5711 ++#: config/rs6000/rs6000-c.c:5710 + #, fuzzy, gcc-internal-format + #| msgid "vec_insert only accepts 3 arguments" + msgid "vec_adde only accepts 3 arguments" +@@ -33028,43 +33034,43 @@ + msgid "vec_addec only accepts 3 arguments" + msgstr "vec_insert 只接受三个参数" + +-#: config/rs6000/rs6000-c.c:5861 ++#: config/rs6000/rs6000-c.c:5862 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts %d arguments" + msgstr "%s 只接受 %d 个参数" + +-#: config/rs6000/rs6000-c.c:5866 ++#: config/rs6000/rs6000-c.c:5867 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 1 argument" + msgstr "%s 只接受 1 个参数" + +-#: config/rs6000/rs6000-c.c:5871 ++#: config/rs6000/rs6000-c.c:5872 + #, gcc-internal-format, gfc-internal-format + msgid "%s only accepts 2 arguments" + msgstr "%s 只接受 2 个参数" + +-#: config/rs6000/rs6000-c.c:5937 ++#: config/rs6000/rs6000-c.c:5938 + #, gcc-internal-format + msgid "vec_extract only accepts 2 arguments" + msgstr "vec_extract 只接受两个参数" + +-#: config/rs6000/rs6000-c.c:6106 ++#: config/rs6000/rs6000-c.c:6107 + #, gcc-internal-format + msgid "vec_insert only accepts 3 arguments" + msgstr "vec_insert 只接受三个参数" + +-#: config/rs6000/rs6000-c.c:6380 ++#: config/rs6000/rs6000-c.c:6381 + #, fuzzy, gcc-internal-format + #| msgid "passing arg %d of %qE discards qualifiers frompointer target type" + msgid "passing arg %d of %qE discards qualifiers from pointer target type" + msgstr "传递%2$qE的第 %1$d 个参数时丢弃了指针目标类型的类型限定" + +-#: config/rs6000/rs6000-c.c:6434 ++#: config/rs6000/rs6000-c.c:6435 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "Builtin function %s not supported in this compiler configuration" + msgstr "弱引用在此配置下不受支持" + +-#: config/rs6000/rs6000-c.c:6442 ++#: config/rs6000/rs6000-c.c:6443 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid parameter combination for AltiVec intrinsic" + msgid "invalid parameter combination for AltiVec intrinsic %s" +@@ -34137,115 +34143,115 @@ + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "%qE属性的实参不是一个字符串常量" + +-#: config/s390/s390.c:9812 ++#: config/s390/s390.c:9980 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "局部变量大小总和超过架构极限。" + +-#: config/s390/s390.c:10926 ++#: config/s390/s390.c:11094 + #, fuzzy, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." + msgstr "影格大小的函数 %qs 是 %wd 字节超出用户提供的堆叠限制的 %d 字节。 unconditional 陷阱被已加入。" + +-#: config/s390/s390.c:10942 ++#: config/s390/s390.c:11110 + #, fuzzy, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." + msgstr "影格大小的函数 %qs 是 %wd 字节该项是超过半堆叠大小。动态检查会无法是 reliable。没有检查发出用于这个函数。" + +-#: config/s390/s390.c:10970 ++#: config/s390/s390.c:11138 + #, fuzzy, gcc-internal-format + msgid "frame size of %qs is %wd bytes" + msgstr "栈帧大小不是 8 字节的倍数:%wd" + +-#: config/s390/s390.c:10974 ++#: config/s390/s390.c:11142 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "%qs使用动态栈分配" + +-#: config/s390/s390.c:11352 ++#: config/s390/s390.c:11520 + #, gcc-internal-format + msgid "CPUs older than z900 are not supported for -fsplit-stack" + msgstr "" + +-#: config/s390/s390.c:14498 ++#: config/s390/s390.c:14666 + #, gcc-internal-format, gfc-internal-format + msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" + msgstr "" + +-#: config/s390/s390.c:14510 ++#: config/s390/s390.c:14678 + #, gcc-internal-format, gfc-internal-format + msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" + msgstr "" + +-#: config/s390/s390.c:14522 ++#: config/s390/s390.c:14690 + #, gcc-internal-format, gfc-internal-format + msgid "z/Architecture mode not supported on %s" + msgstr "z/Architecture 模式在 %s 上不受支持" + +-#: config/s390/s390.c:14525 ++#: config/s390/s390.c:14693 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "64-bit ABI 在 ESA/390 模式下不受支持" + +-#: config/s390/s390.c:14542 ++#: config/s390/s390.c:14710 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "hardware decimal floating point instructions not available on %s" + msgid "hardware vector support not available on %s" + msgstr "硬件十进制浮点指令在 %s 上不可用" + +-#: config/s390/s390.c:14545 ++#: config/s390/s390.c:14713 + #, gcc-internal-format + msgid "hardware vector support not available with -msoft-float" + msgstr "" + +-#: config/s390/s390.c:14573 ++#: config/s390/s390.c:14741 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating point instructions not available on %s" + msgstr "硬件十进制浮点指令在 %s 上不可用" + +-#: config/s390/s390.c:14577 ++#: config/s390/s390.c:14745 + #, gcc-internal-format + msgid "hardware decimal floating point instructions not available in ESA/390 mode" + msgstr "硬件十进制浮点指令在 ESA/390 模式下不可用" + +-#: config/s390/s390.c:14589 ++#: config/s390/s390.c:14757 + #, gcc-internal-format + msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" + msgstr "-mhard-dfp can%'t be used in conjunction with -msoft-float" + +-#: config/s390/s390.c:14597 ++#: config/s390/s390.c:14765 + #, gcc-internal-format + msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" + msgstr "-mbackchain -mpacked-stack -mhard-float 一起使用不受支持" + +-#: config/s390/s390.c:14603 ++#: config/s390/s390.c:14771 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "栈大小必须大于栈防护值" + +-#: config/s390/s390.c:14605 ++#: config/s390/s390.c:14773 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "栈大小不能大于 64K" + +-#: config/s390/s390.c:14608 ++#: config/s390/s390.c:14776 + #, gcc-internal-format + msgid "-mstack-guard implies use of -mstack-size" + msgstr "-mstack-guard 意味着使用 -mstack-size" + + #. argument is not a plain number +-#: config/s390/s390.c:14706 ++#: config/s390/s390.c:14874 + #, fuzzy, gcc-internal-format + msgid "arguments to %qs should be non-negative integers" + msgstr "“%s”的实参应该是一个非负整数" + +-#: config/s390/s390.c:14713 ++#: config/s390/s390.c:14881 + #, fuzzy, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "%qE属性的实参大于 %d" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.c:14921 ++#: config/s390/s390.c:15089 + #, fuzzy, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "嵌套函数在此目标机上不受支持" +Index: gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/Makefile.in (.../branches/gcc-7-branch) +@@ -2139,6 +2139,7 @@ + + optionlist: s-options ; @true + s-options: $(ALL_OPT_FILES) Makefile $(srcdir)/opt-gather.awk ++ LC_ALL=C ; export LC_ALL ; \ + $(AWK) -f $(srcdir)/opt-gather.awk $(ALL_OPT_FILES) > tmp-optionlist + $(SHELL) $(srcdir)/../move-if-change tmp-optionlist optionlist + $(STAMP) s-options +Index: gcc/config/s390/s390.md +=================================================================== +--- a/src/gcc/config/s390/s390.md (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/s390/s390.md (.../branches/gcc-7-branch) +@@ -9660,14 +9660,16 @@ + operands[0] = force_reg (Pmode, operands[0]); + }) + ++; The first constraint must be an "extra address constraint" in order ++; to trigger address reloading in LRA/reload + (define_insn "*indirect_jump" + [(set (pc) +- (match_operand 0 "address_operand" "a,ZR"))] ++ (match_operand 0 "address_operand" "ZR,a"))] + "" + "@ +- br\t%0 +- b\t%a0" +- [(set_attr "op_type" "RR,RX") ++ b\t%a0 ++ br\t%0" ++ [(set_attr "op_type" "RX,RR") + (set_attr "type" "branch") + (set_attr "atype" "agen") + (set_attr "cpu_facility" "*")]) +Index: gcc/config/s390/s390.c +=================================================================== +--- a/src/gcc/config/s390/s390.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/s390/s390.c (.../branches/gcc-7-branch) +@@ -3102,6 +3102,9 @@ + struct s390_address addr; + bool decomposed = false; + ++ if (!address_operand (op, GET_MODE (op))) ++ return 0; ++ + /* This check makes sure that no symbolic address (except literal + pool references) are accepted by the R or T constraints. */ + if (s390_loadrelative_operand_p (op, NULL, NULL)) +Index: gcc/config/sparc/driver-sparc.c +=================================================================== +--- a/src/gcc/config/sparc/driver-sparc.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/sparc/driver-sparc.c (.../branches/gcc-7-branch) +@@ -57,6 +57,7 @@ + { "UltraSPARC-T2+", "niagara2" }, + { "SPARC-T3", "niagara3" }, + { "SPARC-T4", "niagara4" }, ++ { "SPARC-T5", "niagara4" }, + #else + { "SuperSparc", "supersparc" }, + { "HyperSparc", "hypersparc" }, +@@ -73,6 +74,7 @@ + { "UltraSparc T2", "niagara2" }, + { "UltraSparc T3", "niagara3" }, + { "UltraSparc T4", "niagara4" }, ++ { "UltraSparc T5", "niagara4" }, + { "LEON", "leon3" }, + #endif + { "SPARC-M7", "niagara7" }, +Index: gcc/config/sparc/sparc.md +=================================================================== +--- a/src/gcc/config/sparc/sparc.md (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/sparc/sparc.md (.../branches/gcc-7-branch) +@@ -338,7 +338,8 @@ + (const_int 2) + (const_int 1)) + (eq_attr "type" "sibcall") +- (if_then_else (eq_attr "leaf_function" "true") ++ (if_then_else (ior (eq_attr "leaf_function" "true") ++ (eq_attr "flat" "true")) + (if_then_else (eq_attr "empty_delay_slot" "true") + (const_int 3) + (const_int 2)) +@@ -7097,7 +7098,10 @@ + (define_expand "return" + [(return)] + "sparc_can_use_return_insn_p ()" +- "") ++{ ++ if (cfun->calls_alloca) ++ emit_insn (gen_frame_blockage ()); ++}) + + (define_insn "*return_internal" + [(return)] +Index: gcc/config/sparc/sparc.c +=================================================================== +--- a/src/gcc/config/sparc/sparc.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/sparc/sparc.c (.../branches/gcc-7-branch) +@@ -1341,7 +1341,6 @@ + }; + const struct cpu_table *cpu; + unsigned int i; +- int fpu; + + if (sparc_debug_string != NULL) + { +@@ -1433,8 +1432,6 @@ + call_used_regs [i] = 1; + } + +- fpu = target_flags & MASK_FPU; /* save current -mfpu status */ +- + /* Set the default CPU. */ + if (!global_options_set.x_sparc_cpu_and_features) + { +@@ -1473,22 +1470,18 @@ + #ifndef HAVE_AS_LEON + & ~(MASK_LEON | MASK_LEON3) + #endif ++ & ~(target_flags_explicit & MASK_FEATURES) + ); + +- /* If -mfpu or -mno-fpu was explicitly used, don't override with +- the processor default. */ +- if (target_flags_explicit & MASK_FPU) +- target_flags = (target_flags & ~MASK_FPU) | fpu; +- +- /* -mvis2 implies -mvis */ ++ /* -mvis2 implies -mvis. */ + if (TARGET_VIS2) + target_flags |= MASK_VIS; + +- /* -mvis3 implies -mvis2 and -mvis */ ++ /* -mvis3 implies -mvis2 and -mvis. */ + if (TARGET_VIS3) + target_flags |= MASK_VIS2 | MASK_VIS; + +- /* -mvis4 implies -mvis3, -mvis2 and -mvis */ ++ /* -mvis4 implies -mvis3, -mvis2 and -mvis. */ + if (TARGET_VIS4) + target_flags |= MASK_VIS3 | MASK_VIS2 | MASK_VIS; + +@@ -1499,8 +1492,7 @@ + | MASK_FMAF); + + /* -mvis assumes UltraSPARC+, so we are sure v9 instructions +- are available. +- -m64 also implies v9. */ ++ are available; -m64 also implies v9. */ + if (TARGET_VIS || TARGET_ARCH64) + { + target_flags |= MASK_V9; +@@ -1507,7 +1499,7 @@ + target_flags &= ~(MASK_V8 | MASK_SPARCLET | MASK_SPARCLITE); + } + +- /* -mvis also implies -mv8plus on 32-bit */ ++ /* -mvis also implies -mv8plus on 32-bit. */ + if (TARGET_VIS && ! TARGET_ARCH64) + target_flags |= MASK_V8PLUS; + +@@ -1528,15 +1520,18 @@ + target_flags |= MASK_LRA; + + /* Supply a default value for align_functions. */ +- if (align_functions == 0 +- && (sparc_cpu == PROCESSOR_ULTRASPARC ++ if (align_functions == 0) ++ { ++ if (sparc_cpu == PROCESSOR_ULTRASPARC + || sparc_cpu == PROCESSOR_ULTRASPARC3 + || sparc_cpu == PROCESSOR_NIAGARA + || sparc_cpu == PROCESSOR_NIAGARA2 + || sparc_cpu == PROCESSOR_NIAGARA3 +- || sparc_cpu == PROCESSOR_NIAGARA4 +- || sparc_cpu == PROCESSOR_NIAGARA7)) +- align_functions = 32; ++ || sparc_cpu == PROCESSOR_NIAGARA4) ++ align_functions = 32; ++ else if (sparc_cpu == PROCESSOR_NIAGARA7) ++ align_functions = 64; ++ } + + /* Validate PCC_STRUCT_RETURN. */ + if (flag_pcc_struct_return == DEFAULT_PCC_STRUCT_RETURN) +@@ -5789,6 +5784,9 @@ + { + HOST_WIDE_INT size = sparc_frame_size; + ++ if (cfun->calls_alloca) ++ emit_insn (gen_frame_blockage ()); ++ + if (sparc_n_global_fp_regs > 0) + emit_save_or_restore_global_fp_regs (sparc_frame_base_reg, + sparc_frame_base_offset +Index: gcc/config/sparc/sparc.h +=================================================================== +--- a/src/gcc/config/sparc/sparc.h (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/sparc/sparc.h (.../branches/gcc-7-branch) +@@ -423,10 +423,15 @@ + #define WCHAR_TYPE_SIZE 16 + + /* Mask of all CPU selection flags. */ +-#define MASK_ISA \ +- (MASK_SPARCLITE + MASK_SPARCLET \ ++#define MASK_ISA \ ++ (MASK_SPARCLITE + MASK_SPARCLET + MASK_LEON + MASK_LEON3 \ + + MASK_V8 + MASK_V9 + MASK_DEPRECATED_V8_INSNS) + ++/* Mask of all CPU feature flags. */ ++#define MASK_FEATURES \ ++ (MASK_FPU + MASK_HARD_QUAD + MASK_VIS + MASK_VIS2 + MASK_VIS3 \ ++ + MASK_VIS4 + MASK_CBCOND + MASK_FMAF + MASK_POPC + MASK_SUBXC) ++ + /* TARGET_HARD_MUL: Use 32-bit hardware multiply instructions but not %y. */ + #define TARGET_HARD_MUL \ + (TARGET_SPARCLITE || TARGET_SPARCLET \ +@@ -1566,8 +1571,11 @@ + and annulled branches insert 4 bubbles. + + On Niagara-2 and Niagara-3, a not-taken branch costs 1 cycle whereas +- a taken branch costs 6 cycles. */ ++ a taken branch costs 6 cycles. + ++ The T4 Supplement specifies the branch latency at 2 cycles. ++ The M7 Supplement specifies the branch latency at 1 cycle. */ ++ + #define BRANCH_COST(speed_p, predictable_p) \ + ((sparc_cpu == PROCESSOR_V9 \ + || sparc_cpu == PROCESSOR_ULTRASPARC) \ +@@ -1579,7 +1587,11 @@ + : ((sparc_cpu == PROCESSOR_NIAGARA2 \ + || sparc_cpu == PROCESSOR_NIAGARA3) \ + ? 5 \ +- : 3)))) ++ : (sparc_cpu == PROCESSOR_NIAGARA4 \ ++ ? 2 \ ++ : (sparc_cpu == PROCESSOR_NIAGARA7 \ ++ ? 1 \ ++ : 3)))))) + + /* Control the assembler format that we output. */ + +Index: gcc/config/sparc/sol2.h +=================================================================== +--- a/src/gcc/config/sparc/sol2.h (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/sparc/sol2.h (.../branches/gcc-7-branch) +@@ -169,7 +169,7 @@ + #undef CPP_CPU64_DEFAULT_SPEC + #define CPP_CPU64_DEFAULT_SPEC "" + #undef ASM_CPU32_DEFAULT_SPEC +-#define ASM_CPU32_DEFAUILT_SPEC AS_SPARC32_FLAG AS_NIAGARA7_FLAG ++#define ASM_CPU32_DEFAULT_SPEC AS_SPARC32_FLAG AS_NIAGARA7_FLAG + #undef ASM_CPU64_DEFAULT_SPEC + #define ASM_CPU64_DEFAULT_SPEC AS_SPARC64_FLAG AS_NIAGARA7_FLAG + #endif +Index: gcc/config/i386/i386.md +=================================================================== +--- a/src/gcc/config/i386/i386.md (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/i386/i386.md (.../branches/gcc-7-branch) +@@ -2146,9 +2146,9 @@ + + (define_insn "*movdi_internal" + [(set (match_operand:DI 0 "nonimmediate_operand" +- "=r ,o ,r,r ,r,m ,*y,*y,?*y,?m,?r ,?*Ym,*v,*v,*v,m ,m,?r ,?r,?*Yi,?*Ym,?*Yi,*k,*k ,*r,*m") ++ "=r ,o ,r,r ,r,m ,*y,*y,?*y,?m,?r ,?*Ym,*v,*v,*v,m ,m,?r ,?*Yi,?*Ym,?*Yi,*k,*k ,*r,*m") + (match_operand:DI 1 "general_operand" +- "riFo,riF,Z,rem,i,re,C ,*y,m ,*y,*Yn,r ,C ,*v,m ,*v,v,*Yj,*v,r ,*Yj ,*Yn ,*r,*km,*k,*k"))] ++ "riFo,riF,Z,rem,i,re,C ,*y,m ,*y,*Yn,r ,C ,*v,m ,*v,v,*Yj,r ,*Yj ,*Yn ,*r,*km,*k,*k"))] + "!(MEM_P (operands[0]) && MEM_P (operands[1]))" + { + switch (get_attr_type (insn)) +@@ -2170,9 +2170,6 @@ + return "movq\t{%1, %0|%0, %1}"; + + case TYPE_SSELOG1: +- if (GENERAL_REG_P (operands[0])) +- return "%vpextrq\t{$0, %1, %0|%0, %1, 0}"; +- + return standard_sse_constant_opcode (insn, operands[1]); + + case TYPE_SSEMOV: +@@ -2226,10 +2223,8 @@ + [(set (attr "isa") + (cond [(eq_attr "alternative" "0,1") + (const_string "nox64") +- (eq_attr "alternative" "2,3,4,5,10,11,17,19,22,24") ++ (eq_attr "alternative" "2,3,4,5,10,11,17,18,21,23") + (const_string "x64") +- (eq_attr "alternative" "18") +- (const_string "x64_sse4") + ] + (const_string "*"))) + (set (attr "type") +@@ -2239,13 +2234,13 @@ + (const_string "mmx") + (eq_attr "alternative" "7,8,9,10,11") + (const_string "mmxmov") +- (eq_attr "alternative" "12,18") ++ (eq_attr "alternative" "12") + (const_string "sselog1") +- (eq_attr "alternative" "13,14,15,16,17,19") ++ (eq_attr "alternative" "13,14,15,16,17,18") + (const_string "ssemov") +- (eq_attr "alternative" "20,21") ++ (eq_attr "alternative" "19,20") + (const_string "ssecvt") +- (eq_attr "alternative" "22,23,24,25") ++ (eq_attr "alternative" "21,22,23,24") + (const_string "mskmov") + (and (match_operand 0 "register_operand") + (match_operand 1 "pic_32bit_operand")) +@@ -2255,23 +2250,18 @@ + (set (attr "modrm") + (if_then_else + (and (eq_attr "alternative" "4") (eq_attr "type" "imov")) +- (const_string "0") +- (const_string "*"))) ++ (const_string "0") ++ (const_string "*"))) + (set (attr "length_immediate") +- (cond [(and (eq_attr "alternative" "4") (eq_attr "type" "imov")) +- (const_string "8") +- (eq_attr "alternative" "18") +- (const_string "1") +- ] +- (const_string "*"))) ++ (if_then_else ++ (and (eq_attr "alternative" "4") (eq_attr "type" "imov")) ++ (const_string "8") ++ (const_string "*"))) + (set (attr "prefix_rex") +- (if_then_else (eq_attr "alternative" "10,11,17,18,19") ++ (if_then_else ++ (eq_attr "alternative" "10,11,17,18") + (const_string "1") + (const_string "*"))) +- (set (attr "prefix_extra") +- (if_then_else (eq_attr "alternative" "18") +- (const_string "1") +- (const_string "*"))) + (set (attr "prefix") + (if_then_else (eq_attr "type" "sselog1,ssemov") + (const_string "maybe_vex") +@@ -2300,8 +2290,6 @@ + (and (eq_attr "alternative" "14,15,16") + (not (match_test "TARGET_SSE2"))) + (const_string "V2SF") +- (eq_attr "alternative" "18") +- (const_string "TI") + ] + (const_string "DI"))) + (set (attr "enabled") +@@ -2327,17 +2315,14 @@ + + (define_insn "*movsi_internal" + [(set (match_operand:SI 0 "nonimmediate_operand" +- "=r,m ,*y,*y,?rm,?*y,*v,*v,*v,m ,?r ,?r,?*Yi,*k,*k ,*rm") ++ "=r,m ,*y,*y,?*y,?m,?r ,?*Ym,*v,*v,*v,m ,?r ,?*Yi,*k,*k ,*rm") + (match_operand:SI 1 "general_operand" +- "g ,re,C ,*y,*y ,rm ,C ,*v,m ,*v,*Yj,*v,r ,*r,*km,*k"))] ++ "g ,re,C ,*y,m ,*y,*Yn,r ,C ,*v,m ,*v,*Yj,r ,*r,*km,*k"))] + "!(MEM_P (operands[0]) && MEM_P (operands[1]))" + { + switch (get_attr_type (insn)) + { + case TYPE_SSELOG1: +- if (GENERAL_REG_P (operands[0])) +- return "%vpextrd\t{$0, %1, %0|%0, %1, 0}"; +- + return standard_sse_constant_opcode (insn, operands[1]); + + case TYPE_MSKMOV: +@@ -2393,20 +2378,16 @@ + gcc_unreachable (); + } + } +- [(set (attr "isa") +- (if_then_else (eq_attr "alternative" "11") +- (const_string "sse4") +- (const_string "*"))) +- (set (attr "type") ++ [(set (attr "type") + (cond [(eq_attr "alternative" "2") + (const_string "mmx") +- (eq_attr "alternative" "3,4,5") ++ (eq_attr "alternative" "3,4,5,6,7") + (const_string "mmxmov") +- (eq_attr "alternative" "6,11") ++ (eq_attr "alternative" "8") + (const_string "sselog1") +- (eq_attr "alternative" "7,8,9,10,12") ++ (eq_attr "alternative" "9,10,11,12,13") + (const_string "ssemov") +- (eq_attr "alternative" "13,14,15") ++ (eq_attr "alternative" "14,15,16") + (const_string "mskmov") + (and (match_operand 0 "register_operand") + (match_operand 1 "pic_32bit_operand")) +@@ -2413,14 +2394,6 @@ + (const_string "lea") + ] + (const_string "imov"))) +- (set (attr "length_immediate") +- (if_then_else (eq_attr "alternative" "11") +- (const_string "1") +- (const_string "*"))) +- (set (attr "prefix_extra") +- (if_then_else (eq_attr "alternative" "11") +- (const_string "1") +- (const_string "*"))) + (set (attr "prefix") + (if_then_else (eq_attr "type" "sselog1,ssemov") + (const_string "maybe_vex") +@@ -2432,7 +2405,7 @@ + (set (attr "mode") + (cond [(eq_attr "alternative" "2,3") + (const_string "DI") +- (eq_attr "alternative" "6,7") ++ (eq_attr "alternative" "8,9") + (cond [(ior (match_operand 0 "ext_sse_reg_operand") + (match_operand 1 "ext_sse_reg_operand")) + (const_string "XI") +@@ -2446,11 +2419,9 @@ + ] + (const_string "TI")) + +- (and (eq_attr "alternative" "8,9") ++ (and (eq_attr "alternative" "10,11") + (not (match_test "TARGET_SSE2"))) + (const_string "SF") +- (eq_attr "alternative" "11") +- (const_string "TI") + ] + (const_string "SI")))]) + +@@ -3767,10 +3738,10 @@ + + (define_insn "*zero_extendsidi2" + [(set (match_operand:DI 0 "nonimmediate_operand" +- "=r,?r,?o,r ,o,?*Ym,?!*y,?r ,?r,?*Yi,?*x,?*x,?*v,*r") ++ "=r,?r,?o,r ,o,?*Ym,?!*y,?r ,?*Yi,?*x,?*x,?*v,*r") + (zero_extend:DI + (match_operand:SI 1 "x86_64_zext_operand" +- "0 ,rm,r ,rmWz,0,r ,m ,*Yj,*x,r ,m , *x, *v,*k")))] ++ "0 ,rm,r ,rmWz,0,r ,m ,*Yj,r ,m , *x, *v,*k")))] + "" + { + switch (get_attr_type (insn)) +@@ -3787,9 +3758,6 @@ + case TYPE_MMXMOV: + return "movd\t{%1, %0|%0, %1}"; + +- case TYPE_SSELOG1: +- return "%vpextrd\t{$0, %1, %k0|%k0, %1, 0}"; +- + case TYPE_SSEMOV: + if (SSE_REG_P (operands[0]) && SSE_REG_P (operands[1])) + { +@@ -3817,15 +3785,13 @@ + (const_string "nox64") + (eq_attr "alternative" "3,7") + (const_string "x64") +- (eq_attr "alternative" "8") +- (const_string "x64_sse4") ++ (eq_attr "alternative" "9") ++ (const_string "sse2") + (eq_attr "alternative" "10") +- (const_string "sse2") ++ (const_string "sse4") + (eq_attr "alternative" "11") +- (const_string "sse4") ++ (const_string "avx512f") + (eq_attr "alternative" "12") +- (const_string "avx512f") +- (eq_attr "alternative" "13") + (const_string "x64_avx512bw") + ] + (const_string "*"))) +@@ -3834,24 +3800,18 @@ + (const_string "multi") + (eq_attr "alternative" "5,6") + (const_string "mmxmov") +- (eq_attr "alternative" "7,9,10,11,12") ++ (eq_attr "alternative" "7,8,9,10,11") + (const_string "ssemov") +- (eq_attr "alternative" "8") +- (const_string "sselog1") +- (eq_attr "alternative" "13") ++ (eq_attr "alternative" "12") + (const_string "mskmov") + ] + (const_string "imovx"))) + (set (attr "prefix_extra") +- (if_then_else (eq_attr "alternative" "8,11,12") ++ (if_then_else (eq_attr "alternative" "10,11") + (const_string "1") + (const_string "*"))) +- (set (attr "length_immediate") +- (if_then_else (eq_attr "alternative" "8") +- (const_string "1") +- (const_string "*"))) + (set (attr "prefix") +- (if_then_else (eq_attr "type" "ssemov,sselog1") ++ (if_then_else (eq_attr "type" "ssemov") + (const_string "maybe_vex") + (const_string "orig"))) + (set (attr "prefix_0f") +@@ -3861,7 +3821,7 @@ + (set (attr "mode") + (cond [(eq_attr "alternative" "5,6") + (const_string "DI") +- (eq_attr "alternative" "7,8,9,11,12") ++ (eq_attr "alternative" "7,8,10,11") + (const_string "TI") + ] + (const_string "SI")))]) +@@ -12730,24 +12690,6 @@ + (set_attr "znver1_decode" "vector") + (set_attr "mode" "")]) + +-(define_insn_and_split "*ctzhi2" +- [(set (match_operand:SI 0 "register_operand") +- (ctz:SI +- (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand")))) +- (clobber (reg:CC FLAGS_REG))] +- "TARGET_BMI +- && can_create_pseudo_p ()" +- "#" +- "&& 1" +- [(const_int 0)] +-{ +- rtx tmp = gen_reg_rtx (HImode); +- +- emit_insn (gen_tzcnt_hi (tmp, operands[1])); +- emit_insn (gen_zero_extendhisi2 (operands[0], tmp)); +- DONE; +-}) +- + (define_insn_and_split "ctz2" + [(set (match_operand:SWI48 0 "register_operand" "=r") + (ctz:SWI48 +@@ -12867,24 +12809,6 @@ + operands[2] = GEN_INT (GET_MODE_BITSIZE (mode)-1); + }) + +-(define_insn_and_split "*clzhi2" +- [(set (match_operand:SI 0 "register_operand") +- (clz:SI +- (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand")))) +- (clobber (reg:CC FLAGS_REG))] +- "TARGET_LZCNT +- && can_create_pseudo_p ()" +- "#" +- "&& 1" +- [(const_int 0)] +-{ +- rtx tmp = gen_reg_rtx (HImode); +- +- emit_insn (gen_lzcnt_hi (tmp, operands[1])); +- emit_insn (gen_zero_extendhisi2 (operands[0], tmp)); +- DONE; +-}) +- + (define_insn_and_split "clz2_lzcnt" + [(set (match_operand:SWI48 0 "register_operand" "=r") + (clz:SWI48 +Index: gcc/config/i386/mmx.md +=================================================================== +--- a/src/gcc/config/i386/mmx.md (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/i386/mmx.md (.../branches/gcc-7-branch) +@@ -78,9 +78,9 @@ + + (define_insn "*mov_internal" + [(set (match_operand:MMXMODE 0 "nonimmediate_operand" +- "=r ,o ,r,r ,m ,?!y,!y,?!y,m ,r ,?!Ym,v,v,v,m,*x,*x,*x,m ,r ,Yi,!Ym,*Yi") ++ "=r ,o ,r,r ,m ,?!y,!y,?!y,m ,r ,?!Ym,v,v,v,m,r ,Yi,!Ym,*Yi") + (match_operand:MMXMODE 1 "vector_move_operand" +- "rCo,rC,C,rm,rC,C ,!y,m ,?!y,?!Yn,r ,C,v,m,v,C ,*x,m ,*x,Yj,r ,*Yj,!Yn"))] ++ "rCo,rC,C,rm,rC,C ,!y,m ,?!y,?!Yn,r ,C,v,m,v,Yj,r ,*Yj,!Yn"))] + "TARGET_MMX + && !(MEM_P (operands[0]) && MEM_P (operands[1]))" + { +@@ -146,7 +146,7 @@ + [(set (attr "isa") + (cond [(eq_attr "alternative" "0,1") + (const_string "nox64") +- (eq_attr "alternative" "2,3,4,9,10,11,12,13,14,19,20") ++ (eq_attr "alternative" "2,3,4,9,10,15,16") + (const_string "x64") + ] + (const_string "*"))) +@@ -159,14 +159,14 @@ + (const_string "mmx") + (eq_attr "alternative" "6,7,8,9,10") + (const_string "mmxmov") +- (eq_attr "alternative" "11,15") ++ (eq_attr "alternative" "11") + (const_string "sselog1") +- (eq_attr "alternative" "21,22") ++ (eq_attr "alternative" "17,18") + (const_string "ssecvt") + ] + (const_string "ssemov"))) + (set (attr "prefix_rex") +- (if_then_else (eq_attr "alternative" "9,10,19,20") ++ (if_then_else (eq_attr "alternative" "9,10,15,16") + (const_string "1") + (const_string "*"))) + (set (attr "prefix") +@@ -181,7 +181,7 @@ + (set (attr "mode") + (cond [(eq_attr "alternative" "2") + (const_string "SI") +- (eq_attr "alternative" "11,12,15,16") ++ (eq_attr "alternative" "11,12") + (cond [(ior (match_operand 0 "ext_sse_reg_operand") + (match_operand 1 "ext_sse_reg_operand")) + (const_string "XI") +@@ -197,7 +197,7 @@ + ] + (const_string "TI")) + +- (and (eq_attr "alternative" "13,14,17,18") ++ (and (eq_attr "alternative" "13,14") + (ior (match_test "mode == V2SFmode") + (not (match_test "TARGET_SSE2")))) + (const_string "V2SF") +Index: gcc/config/i386/cpuid.h +=================================================================== +--- a/src/gcc/config/i386/cpuid.h (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/i386/cpuid.h (.../branches/gcc-7-branch) +@@ -246,8 +246,9 @@ + unsigned int *__ecx, unsigned int *__edx) + { + unsigned int __ext = __leaf & 0x80000000; ++ unsigned int __maxlevel = __get_cpuid_max (__ext, 0); + +- if (__get_cpuid_max (__ext, 0) < __leaf) ++ if (__maxlevel == 0 || __maxlevel < __leaf) + return 0; + + __cpuid (__leaf, *__eax, *__ebx, *__ecx, *__edx); +@@ -262,8 +263,9 @@ + unsigned int *__ecx, unsigned int *__edx) + { + unsigned int __ext = __leaf & 0x80000000; ++ unsigned int __maxlevel = __get_cpuid_max (__ext, 0); + +- if (__get_cpuid_max (__ext, 0) < __leaf) ++ if (__maxlevel == 0 || __maxlevel < __leaf) + return 0; + + __cpuid_count (__leaf, __subleaf, *__eax, *__ebx, *__ecx, *__edx); +Index: gcc/config/i386/sse.md +=================================================================== +--- a/src/gcc/config/i386/sse.md (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/i386/sse.md (.../branches/gcc-7-branch) +@@ -13508,13 +13508,12 @@ + "#") + + (define_insn "*vec_extract_0" +- [(set (match_operand:SWI48 0 "nonimmediate_operand" "=r ,r,v ,m") ++ [(set (match_operand:SWI48 0 "nonimmediate_operand" "=r ,v ,m") + (vec_select:SWI48 +- (match_operand: 1 "nonimmediate_operand" "mYj,v,vm,v") ++ (match_operand: 1 "nonimmediate_operand" "mYj,vm,v") + (parallel [(const_int 0)])))] + "TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))" +- "#" +- [(set_attr "isa" "*,sse4,*,*")]) ++ "#") + + (define_insn "*vec_extractv2di_0_sse" + [(set (match_operand:DI 0 "nonimmediate_operand" "=v,m") +@@ -13842,10 +13841,10 @@ + ;; movd instead of movq is required to handle broken assemblers. + (define_insn "vec_concatv2di" + [(set (match_operand:V2DI 0 "register_operand" +- "=Yr,*x,x ,v ,Yi,v ,!x,x,v ,x,x,v") ++ "=Yr,*x,x ,v ,Yi,v ,x ,x,v ,x,x,v") + (vec_concat:V2DI + (match_operand:DI 1 "nonimmediate_operand" +- " 0, 0,x ,Yv,r ,vm,*y,0,Yv,0,0,v") ++ " 0, 0,x ,Yv,r ,vm,?!*Yn,0,Yv,0,0,v") + (match_operand:DI 2 "vector_move_operand" + "*rm,rm,rm,rm,C ,C ,C ,x,Yv,x,m,m")))] + "TARGET_SSE" +@@ -17105,12 +17104,12 @@ + (set_attr "mode" "TI")]) + + (define_insn "xop_vpermil23" +- [(set (match_operand:VF_128_256 0 "register_operand" "=x") ++ [(set (match_operand:VF_128_256 0 "register_operand" "=x,x") + (unspec:VF_128_256 +- [(match_operand:VF_128_256 1 "register_operand" "x") +- (match_operand:VF_128_256 2 "nonimmediate_operand" "%x") +- (match_operand: 3 "nonimmediate_operand" "xm") +- (match_operand:SI 4 "const_0_to_3_operand" "n")] ++ [(match_operand:VF_128_256 1 "register_operand" "x,x") ++ (match_operand:VF_128_256 2 "nonimmediate_operand" "x,m") ++ (match_operand: 3 "nonimmediate_operand" "xm,x") ++ (match_operand:SI 4 "const_0_to_3_operand" "n,n")] + UNSPEC_VPERMIL2))] + "TARGET_XOP" + "vpermil2\t{%4, %3, %2, %1, %0|%0, %1, %2, %3, %4}" +Index: gcc/config/i386/sync.md +=================================================================== +--- a/src/gcc/config/i386/sync.md (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/i386/sync.md (.../branches/gcc-7-branch) +@@ -25,6 +25,9 @@ + UNSPEC_FILD_ATOMIC + UNSPEC_FIST_ATOMIC + ++ UNSPEC_LDX_ATOMIC ++ UNSPEC_STX_ATOMIC ++ + ;; __atomic support + UNSPEC_LDA + UNSPEC_STA +@@ -199,9 +202,8 @@ + } + else + { +- adjust_reg_mode (tmp, DImode); +- emit_move_insn (tmp, src); +- emit_move_insn (mem, tmp); ++ emit_insn (gen_loaddi_via_sse (tmp, src)); ++ emit_insn (gen_storedi_via_sse (mem, tmp)); + } + + if (mem != dst) +@@ -226,10 +228,12 @@ + "operands[5] = gen_lowpart (DFmode, operands[1]);") + + (define_peephole2 +- [(set (match_operand:DI 0 "sse_reg_operand") +- (match_operand:DI 1 "memory_operand")) ++ [(set (match_operand:DF 0 "sse_reg_operand") ++ (unspec:DF [(match_operand:DI 1 "memory_operand")] ++ UNSPEC_LDX_ATOMIC)) + (set (match_operand:DI 2 "memory_operand") +- (match_dup 0)) ++ (unspec:DI [(match_dup 0)] ++ UNSPEC_STX_ATOMIC)) + (set (match_operand:DF 3 "fp_register_operand") + (match_operand:DF 4 "memory_operand"))] + "!TARGET_64BIT +@@ -301,7 +305,9 @@ + rtx dst = operands[0], src = operands[1]; + rtx mem = operands[2], tmp = operands[3]; + +- if (!SSE_REG_P (src)) ++ if (SSE_REG_P (src)) ++ emit_move_insn (dst, src); ++ else + { + if (REG_P (src)) + { +@@ -313,16 +319,13 @@ + { + emit_insn (gen_loaddi_via_fpu (tmp, src)); + emit_insn (gen_storedi_via_fpu (dst, tmp)); +- DONE; + } + else + { +- adjust_reg_mode (tmp, DImode); +- emit_move_insn (tmp, src); +- src = tmp; ++ emit_insn (gen_loaddi_via_sse (tmp, src)); ++ emit_insn (gen_storedi_via_sse (dst, tmp)); + } + } +- emit_move_insn (dst, src); + DONE; + }) + +@@ -344,10 +347,12 @@ + (define_peephole2 + [(set (match_operand:DF 0 "memory_operand") + (match_operand:DF 1 "fp_register_operand")) +- (set (match_operand:DI 2 "sse_reg_operand") +- (match_operand:DI 3 "memory_operand")) ++ (set (match_operand:DF 2 "sse_reg_operand") ++ (unspec:DF [(match_operand:DI 3 "memory_operand")] ++ UNSPEC_LDX_ATOMIC)) + (set (match_operand:DI 4 "memory_operand") +- (match_dup 2))] ++ (unspec:DI [(match_dup 2)] ++ UNSPEC_STX_ATOMIC))] + "!TARGET_64BIT + && peep2_reg_dead_p (3, operands[2]) + && rtx_equal_p (operands[0], adjust_address_nv (operands[3], DFmode, 0))" +@@ -382,6 +387,32 @@ + [(set_attr "type" "fmov") + (set_attr "mode" "DI")]) + ++(define_insn "loaddi_via_sse" ++ [(set (match_operand:DF 0 "register_operand" "=x") ++ (unspec:DF [(match_operand:DI 1 "memory_operand" "m")] ++ UNSPEC_LDX_ATOMIC))] ++ "TARGET_SSE" ++{ ++ if (TARGET_SSE2) ++ return "%vmovq\t{%1, %0|%0, %1}"; ++ return "movlps\t{%1, %0|%0, %1}"; ++} ++ [(set_attr "type" "ssemov") ++ (set_attr "mode" "DI")]) ++ ++(define_insn "storedi_via_sse" ++ [(set (match_operand:DI 0 "memory_operand" "=m") ++ (unspec:DI [(match_operand:DF 1 "register_operand" "x")] ++ UNSPEC_STX_ATOMIC))] ++ "TARGET_SSE" ++{ ++ if (TARGET_SSE2) ++ return "%vmovq\t{%1, %0|%0, %1}"; ++ return "movlps\t{%1, %0|%0, %1}"; ++} ++ [(set_attr "type" "ssemov") ++ (set_attr "mode" "DI")]) ++ + (define_expand "atomic_compare_and_swap" + [(match_operand:QI 0 "register_operand") ;; bool success output + (match_operand:SWI124 1 "register_operand") ;; oldval output +Index: gcc/config/i386/i386.c +=================================================================== +--- a/src/gcc/config/i386/i386.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/i386/i386.c (.../branches/gcc-7-branch) +@@ -3536,8 +3536,17 @@ + rtx_insn *insn = DF_REF_INSN (ref); + + start_sequence (); +- if (TARGET_SSE4_1) ++ if (!TARGET_INTER_UNIT_MOVES_TO_VEC) + { ++ rtx tmp = assign_386_stack_local (DImode, SLOT_STV_TEMP); ++ emit_move_insn (adjust_address (tmp, SImode, 0), ++ gen_rtx_SUBREG (SImode, reg, 0)); ++ emit_move_insn (adjust_address (tmp, SImode, 4), ++ gen_rtx_SUBREG (SImode, reg, 4)); ++ emit_move_insn (vreg, tmp); ++ } ++ else if (TARGET_SSE4_1) ++ { + emit_insn (gen_sse2_loadld (gen_rtx_SUBREG (V4SImode, vreg, 0), + CONST0_RTX (V4SImode), + gen_rtx_SUBREG (SImode, reg, 0))); +@@ -3546,7 +3555,7 @@ + gen_rtx_SUBREG (SImode, reg, 4), + GEN_INT (2))); + } +- else if (TARGET_INTER_UNIT_MOVES_TO_VEC) ++ else + { + rtx tmp = gen_reg_rtx (DImode); + emit_insn (gen_sse2_loadld (gen_rtx_SUBREG (V4SImode, vreg, 0), +@@ -3560,15 +3569,6 @@ + gen_rtx_SUBREG (V4SImode, vreg, 0), + gen_rtx_SUBREG (V4SImode, tmp, 0))); + } +- else +- { +- rtx tmp = assign_386_stack_local (DImode, SLOT_STV_TEMP); +- emit_move_insn (adjust_address (tmp, SImode, 0), +- gen_rtx_SUBREG (SImode, reg, 0)); +- emit_move_insn (adjust_address (tmp, SImode, 4), +- gen_rtx_SUBREG (SImode, reg, 4)); +- emit_move_insn (vreg, tmp); +- } + rtx_insn *seq = get_insns (); + end_sequence (); + emit_conversion_insns (seq, insn); +@@ -3625,8 +3625,17 @@ + if (scalar_copy) + { + start_sequence (); +- if (TARGET_SSE4_1) ++ if (!TARGET_INTER_UNIT_MOVES_FROM_VEC) + { ++ rtx tmp = assign_386_stack_local (DImode, SLOT_STV_TEMP); ++ emit_move_insn (tmp, reg); ++ emit_move_insn (gen_rtx_SUBREG (SImode, scopy, 0), ++ adjust_address (tmp, SImode, 0)); ++ emit_move_insn (gen_rtx_SUBREG (SImode, scopy, 4), ++ adjust_address (tmp, SImode, 4)); ++ } ++ else if (TARGET_SSE4_1) ++ { + rtx tmp = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (1, const0_rtx)); + emit_insn + (gen_rtx_SET +@@ -3641,7 +3650,7 @@ + gen_rtx_VEC_SELECT (SImode, + gen_rtx_SUBREG (V4SImode, reg, 0), tmp))); + } +- else if (TARGET_INTER_UNIT_MOVES_FROM_VEC) ++ else + { + rtx vcopy = gen_reg_rtx (V2DImode); + emit_move_insn (vcopy, gen_rtx_SUBREG (V2DImode, reg, 0)); +@@ -3652,15 +3661,6 @@ + emit_move_insn (gen_rtx_SUBREG (SImode, scopy, 4), + gen_rtx_SUBREG (SImode, vcopy, 0)); + } +- else +- { +- rtx tmp = assign_386_stack_local (DImode, SLOT_STV_TEMP); +- emit_move_insn (tmp, reg); +- emit_move_insn (gen_rtx_SUBREG (SImode, scopy, 0), +- adjust_address (tmp, SImode, 0)); +- emit_move_insn (gen_rtx_SUBREG (SImode, scopy, 4), +- adjust_address (tmp, SImode, 4)); +- } + rtx_insn *seq = get_insns (); + end_sequence (); + emit_conversion_insns (seq, insn); +Index: gcc/config/xtensa/xtensa.c +=================================================================== +--- a/src/gcc/config/xtensa/xtensa.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/xtensa/xtensa.c (.../branches/gcc-7-branch) +@@ -1780,7 +1780,8 @@ + rtx tgt = operands[callop]; + + if (GET_CODE (tgt) == CONST_INT) +- sprintf (result, "call%d\t0x%lx", WINDOW_SIZE, INTVAL (tgt)); ++ sprintf (result, "call%d\t" HOST_WIDE_INT_PRINT_HEX, ++ WINDOW_SIZE, INTVAL (tgt)); + else if (register_operand (tgt, VOIDmode)) + sprintf (result, "callx%d\t%%%d", WINDOW_SIZE, callop); + else +@@ -2351,7 +2352,7 @@ + + case 'L': + if (GET_CODE (x) == CONST_INT) +- fprintf (file, "%ld", (32 - INTVAL (x)) & 0x1f); ++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, (32 - INTVAL (x)) & 0x1f); + else + output_operand_lossage ("invalid %%L value"); + break; +@@ -2358,7 +2359,7 @@ + + case 'R': + if (GET_CODE (x) == CONST_INT) +- fprintf (file, "%ld", INTVAL (x) & 0x1f); ++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x) & 0x1f); + else + output_operand_lossage ("invalid %%R value"); + break; +@@ -2372,7 +2373,7 @@ + + case 'd': + if (GET_CODE (x) == CONST_INT) +- fprintf (file, "%ld", INTVAL (x)); ++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); + else + output_operand_lossage ("invalid %%d value"); + break; +@@ -2437,7 +2438,7 @@ + else if (GET_CODE (x) == MEM) + output_address (GET_MODE (x), XEXP (x, 0)); + else if (GET_CODE (x) == CONST_INT) +- fprintf (file, "%ld", INTVAL (x)); ++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); + else + output_addr_const (file, x); + } +Index: gcc/config/aarch64/cortex-a57-fma-steering.c +=================================================================== +--- a/src/gcc/config/aarch64/cortex-a57-fma-steering.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/aarch64/cortex-a57-fma-steering.c (.../branches/gcc-7-branch) +@@ -411,9 +411,9 @@ + the list of tree roots of ref_forest. */ + this->m_globals->remove_forest (other_forest); + this->m_roots->splice (this->m_roots->begin (), *other_roots); ++ this->m_nb_nodes += other_forest->m_nb_nodes; ++ + delete other_forest; +- +- this->m_nb_nodes += other_forest->m_nb_nodes; + } + + /* Dump information about the forest FOREST. */ +Index: gcc/config/rs6000/predicates.md +=================================================================== +--- a/src/gcc/config/rs6000/predicates.md (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/rs6000/predicates.md (.../branches/gcc-7-branch) +@@ -847,6 +847,22 @@ + (and (match_operand 0 "memory_operand") + (match_test "offsettable_nonstrict_memref_p (op)"))) + ++;; Return 1 if the operand is a simple offsettable memory operand ++;; that does not include pre-increment, post-increment, etc. ++(define_predicate "simple_offsettable_mem_operand" ++ (match_operand 0 "offsettable_mem_operand") ++{ ++ rtx addr = XEXP (op, 0); ++ ++ if (GET_CODE (addr) != PLUS && GET_CODE (addr) != LO_SUM) ++ return 0; ++ ++ if (!CONSTANT_P (XEXP (addr, 1))) ++ return 0; ++ ++ return base_reg_operand (XEXP (addr, 0), Pmode); ++}) ++ + ;; Return 1 if the operand is suitable for load/store quad memory. + ;; This predicate only checks for non-atomic loads/stores (not lqarx/stqcx). + (define_predicate "quad_memory_operand" +Index: gcc/config/rs6000/rs6000.c +=================================================================== +--- a/src/gcc/config/rs6000/rs6000.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/rs6000/rs6000.c (.../branches/gcc-7-branch) +@@ -5873,6 +5873,10 @@ + + /* Implement targetm.vectorize.init_cost. */ + ++/* For each vectorized loop, this var holds TRUE iff a non-memory vector ++ instruction is needed by the vectorization. */ ++static bool rs6000_vect_nonmem; ++ + static void * + rs6000_init_cost (struct loop *loop_info) + { +@@ -5881,6 +5885,7 @@ + data->cost[vect_prologue] = 0; + data->cost[vect_body] = 0; + data->cost[vect_epilogue] = 0; ++ rs6000_vect_nonmem = false; + return data; + } + +@@ -5907,6 +5912,15 @@ + + retval = (unsigned) (count * stmt_cost); + cost_data->cost[where] += retval; ++ ++ /* Check whether we're doing something other than just a copy loop. ++ Not all such loops may be profitably vectorized; see ++ rs6000_finish_cost. */ ++ if ((kind == vec_to_scalar || kind == vec_perm ++ || kind == vec_promote_demote || kind == vec_construct ++ || kind == scalar_to_vec) ++ || (where == vect_body && kind == vector_stmt)) ++ rs6000_vect_nonmem = true; + } + + return retval; +@@ -5923,6 +5937,19 @@ + if (cost_data->loop_info) + rs6000_density_test (cost_data); + ++ /* Don't vectorize minimum-vectorization-factor, simple copy loops ++ that require versioning for any reason. The vectorization is at ++ best a wash inside the loop, and the versioning checks make ++ profitability highly unlikely and potentially quite harmful. */ ++ if (cost_data->loop_info) ++ { ++ loop_vec_info vec_info = loop_vec_info_for_loop (cost_data->loop_info); ++ if (!rs6000_vect_nonmem ++ && LOOP_VINFO_VECT_FACTOR (vec_info) == 2 ++ && LOOP_REQUIRES_VERSIONING (vec_info)) ++ cost_data->cost[vect_body] += 10000; ++ } ++ + *prologue_cost = cost_data->cost[vect_prologue]; + *body_cost = cost_data->cost[vect_body]; + *epilogue_cost = cost_data->cost[vect_epilogue]; +@@ -18183,6 +18210,17 @@ + def_builtin ("__builtin_vsx_st_elemrev_v16qi", + void_ftype_v16qi_long_pvoid, VSX_BUILTIN_ST_ELEMREV_V16QI); + } ++ else ++ { ++ rs6000_builtin_decls[(int)VSX_BUILTIN_LD_ELEMREV_V8HI] ++ = rs6000_builtin_decls[(int)VSX_BUILTIN_LXVW4X_V8HI]; ++ rs6000_builtin_decls[(int)VSX_BUILTIN_LD_ELEMREV_V16QI] ++ = rs6000_builtin_decls[(int)VSX_BUILTIN_LXVW4X_V16QI]; ++ rs6000_builtin_decls[(int)VSX_BUILTIN_ST_ELEMREV_V8HI] ++ = rs6000_builtin_decls[(int)VSX_BUILTIN_STXVW4X_V8HI]; ++ rs6000_builtin_decls[(int)VSX_BUILTIN_ST_ELEMREV_V16QI] ++ = rs6000_builtin_decls[(int)VSX_BUILTIN_STXVW4X_V16QI]; ++ } + + def_builtin ("__builtin_vec_vsx_ld", opaque_ftype_long_pcvoid, + VSX_BUILTIN_VEC_LD); +Index: gcc/config/rs6000/vsx.md +=================================================================== +--- a/src/gcc/config/rs6000/vsx.md (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/rs6000/vsx.md (.../branches/gcc-7-branch) +@@ -3068,10 +3068,11 @@ + ;; V2DF/V2DI splat + (define_insn_and_split "vsx_splat_" + [(set (match_operand:VSX_D 0 "vsx_register_operand" +- "=, ,we,") ++ "=, ,?we,??") ++ + (vec_duplicate:VSX_D + (match_operand: 1 "splat_input_operand" +- ",Z, b, wA")))] ++ ",Z, b, wA")))] + "VECTOR_MEM_VSX_P (mode)" + "@ + xxpermdi %x0,%x1,%x1,0 +@@ -3078,8 +3079,12 @@ + lxvdsx %x0,%y1 + mtvsrdd %x0,%1,%1 + #" +- "&& reload_completed && TARGET_POWERPC64 && !TARGET_P9_VECTOR +- && int_reg_operand (operands[1], mode)" ++ "&& reload_completed ++ && !vsx_register_operand (operands[1], mode) ++ && !(MEM_P (operands[1]) ++ && indexed_or_indirect_address (XEXP (operands[1], 0), Pmode)) ++ && !(TARGET_POWERPC64 && TARGET_P9_VECTOR ++ && base_reg_operand (operands[1], mode))" + [(set (match_dup 2) + (match_dup 1)) + (set (match_dup 0) +Index: gcc/config/rs6000/rs6000.md +=================================================================== +--- a/src/gcc/config/rs6000/rs6000.md (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/rs6000/rs6000.md (.../branches/gcc-7-branch) +@@ -445,35 +445,6 @@ + (DD "wn") + (TD "wn")]) + +-; Definitions for load to 32-bit fpr register +-(define_mode_attr f32_lr [(SF "f") (SD "wz")]) +-(define_mode_attr f32_lr2 [(SF "wb") (SD "wn")]) +-(define_mode_attr f32_lm [(SF "m") (SD "Z")]) +-(define_mode_attr f32_lm2 [(SF "wY") (SD "wn")]) +-(define_mode_attr f32_li [(SF "lfs%U1%X1 %0,%1") (SD "lfiwzx %0,%y1")]) +-(define_mode_attr f32_li2 [(SF "lxssp %0,%1") (SD "lfiwzx %0,%y1")]) +-(define_mode_attr f32_lv [(SF "lxsspx %x0,%y1") (SD "lxsiwzx %x0,%y1")]) +- +-; Definitions for store from 32-bit fpr register +-(define_mode_attr f32_sr [(SF "f") (SD "wx")]) +-(define_mode_attr f32_sr2 [(SF "wb") (SD "wn")]) +-(define_mode_attr f32_sm [(SF "m") (SD "Z")]) +-(define_mode_attr f32_sm2 [(SF "wY") (SD "wn")]) +-(define_mode_attr f32_si [(SF "stfs%U0%X0 %1,%0") (SD "stfiwx %1,%y0")]) +-(define_mode_attr f32_si2 [(SF "stxssp %1,%0") (SD "stfiwx %1,%y0")]) +-(define_mode_attr f32_sv [(SF "stxsspx %x1,%y0") (SD "stxsiwx %x1,%y0")]) +- +-; Definitions for 32-bit fpr direct move +-; At present, the decimal modes are not allowed in the traditional altivec +-; registers, so restrict the constraints to just the traditional FPRs. +-(define_mode_attr f32_dm [(SF "wn") (SD "wh")]) +- +-; Definitions for 32-bit VSX +-(define_mode_attr f32_vsx [(SF "ww") (SD "wn")]) +- +-; Definitions for 32-bit use of altivec registers +-(define_mode_attr f32_av [(SF "wu") (SD "wn")]) +- + ; Definitions for 64-bit VSX + (define_mode_attr f64_vsx [(DF "ws") (DD "wn")]) + +@@ -566,7 +537,9 @@ + (define_code_iterator any_float [float unsigned_float]) + + (define_code_attr u [(sign_extend "") +- (zero_extend "u")]) ++ (zero_extend "u") ++ (fix "") ++ (unsigned_fix "u")]) + + (define_code_attr su [(sign_extend "s") + (zero_extend "u") +@@ -728,6 +701,11 @@ + (define_code_attr SMINMAX [(smin "SMIN") + (smax "SMAX")]) + ++;; Iterator to optimize the following cases: ++;; D-form load to FPR register & move to Altivec register ++;; Move Altivec register to FPR register and store ++(define_mode_iterator ALTIVEC_DFORM [DI DF SF]) ++ + + ;; Start with fixed-point load and store insns. Here we put only the more + ;; complex forms. Basic data transfer is done later. +@@ -1027,8 +1005,8 @@ + + + (define_insn "extendsi2" +- [(set (match_operand:EXTSI 0 "gpc_reg_operand" "=r,r,wl,wu,wj,wK") +- (sign_extend:EXTSI (match_operand:SI 1 "lwa_operand" "Y,r,Z,Z,r,wK")))] ++ [(set (match_operand:EXTSI 0 "gpc_reg_operand" "=r,r,wl,wu,wj,wK,wH") ++ (sign_extend:EXTSI (match_operand:SI 1 "lwa_operand" "Y,r,Z,Z,r,wK,wH")))] + "" + "@ + lwa%U1%X1 %0,%1 +@@ -1036,10 +1014,39 @@ + lfiwax %0,%y1 + lxsiwax %x0,%y1 + mtvsrwa %x0,%1 +- vextsw2d %0,%1" +- [(set_attr "type" "load,exts,fpload,fpload,mffgpr,vecexts") +- (set_attr "sign_extend" "yes")]) ++ vextsw2d %0,%1 ++ #" ++ [(set_attr "type" "load,exts,fpload,fpload,mffgpr,vecexts,vecperm") ++ (set_attr "sign_extend" "yes") ++ (set_attr "length" "4,4,4,4,4,4,8")]) + ++(define_split ++ [(set (match_operand:DI 0 "altivec_register_operand") ++ (sign_extend:DI (match_operand:SI 1 "altivec_register_operand")))] ++ "TARGET_VSX_SMALL_INTEGER && TARGET_P8_VECTOR && !TARGET_P9_VECTOR ++ && reload_completed" ++ [(const_int 0)] ++{ ++ rtx dest = operands[0]; ++ rtx src = operands[1]; ++ int dest_regno = REGNO (dest); ++ int src_regno = REGNO (src); ++ rtx dest_v2di = gen_rtx_REG (V2DImode, dest_regno); ++ rtx src_v4si = gen_rtx_REG (V4SImode, src_regno); ++ ++ if (VECTOR_ELT_ORDER_BIG) ++ { ++ emit_insn (gen_altivec_vupkhsw (dest_v2di, src_v4si)); ++ emit_insn (gen_vsx_xxspltd_v2di (dest_v2di, dest_v2di, const1_rtx)); ++ } ++ else ++ { ++ emit_insn (gen_altivec_vupklsw (dest_v2di, src_v4si)); ++ emit_insn (gen_vsx_xxspltd_v2di (dest_v2di, dest_v2di, const0_rtx)); ++ } ++ DONE; ++}) ++ + (define_insn_and_split "*extendsi2_dot" + [(set (match_operand:CC 2 "cc_reg_operand" "=x,?y") + (compare:CC (sign_extend:EXTSI (match_operand:SI 1 "gpc_reg_operand" "r,r")) +@@ -5570,7 +5577,7 @@ + "TARGET_HARD_FLOAT && ((TARGET_FPRS && ) || )" + " + { +- if (!) ++ if (! && !TARGET_VSX_SMALL_INTEGER) + { + rtx src = force_reg (mode, operands[1]); + +@@ -5596,7 +5603,8 @@ + (clobber (match_scratch:DI 2 "=d"))] + "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT + && (mode != SFmode || TARGET_SINGLE_FLOAT) +- && TARGET_STFIWX && can_create_pseudo_p ()" ++ && TARGET_STFIWX && can_create_pseudo_p () ++ && !TARGET_VSX_SMALL_INTEGER" + "#" + "" + [(pc)] +@@ -5637,7 +5645,8 @@ + (fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "d,"))) + (clobber (match_operand:DI 2 "gpc_reg_operand" "=1,d")) + (clobber (match_operand:DI 3 "offsettable_mem_operand" "=o,o"))] +- "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT" ++ "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT ++ && !TARGET_VSX_SMALL_INTEGER" + "#" + "" + [(pc)] +@@ -5721,7 +5730,7 @@ + || )" + " + { +- if (!) ++ if (! && !TARGET_VSX_SMALL_INTEGER) + { + emit_insn (gen_fixuns_truncsi2_stfiwx (operands[0], operands[1])); + DONE; +@@ -5733,7 +5742,8 @@ + (unsigned_fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "d"))) + (clobber (match_scratch:DI 2 "=d"))] + "TARGET_HARD_FLOAT && TARGET_FPRS && && TARGET_FCTIWUZ +- && TARGET_STFIWX && can_create_pseudo_p ()" ++ && TARGET_STFIWX && can_create_pseudo_p () ++ && !TARGET_VSX_SMALL_INTEGER" + "#" + "" + [(pc)] +@@ -5818,13 +5828,43 @@ + } + DONE; + }) +-; Here, we use (set (reg) (unspec:DI [(fix:SI ...)] UNSPEC_FCTIWZ)) +-; rather than (set (subreg:SI (reg)) (fix:SI ...)) +-; because the first makes it clear that operand 0 is not live +-; before the instruction. ++ ++;; If -mvsx-small-integer, we can represent the FIX operation directly. On ++;; older machines, we have to use an UNSPEC to produce a SImode and move it ++;; to another location, since SImode is not allowed in vector registers. ++(define_insn "*fctiwz__smallint" ++ [(set (match_operand:SI 0 "vsx_register_operand" "=d,wi") ++ (any_fix:SI (match_operand:SFDF 1 "gpc_reg_operand" ",")))] ++ "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT ++ && TARGET_VSX_SMALL_INTEGER" ++ "@ ++ fctiwz %0,%1 ++ xscvdpxws %x0,%x1" ++ [(set_attr "type" "fp")]) ++ ++;; Combiner pattern to prevent moving the result of converting a floating point ++;; value to 32-bit integer to GPR in order to save it. ++(define_insn_and_split "*fctiwz__mem" ++ [(set (match_operand:SI 0 "memory_operand" "=Z") ++ (any_fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "wa"))) ++ (clobber (match_scratch:SI 2 "=wa"))] ++ "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT ++ && TARGET_VSX_SMALL_INTEGER" ++ "#" ++ "&& reload_completed" ++ [(set (match_dup 2) ++ (any_fix:SI (match_dup 1))) ++ (set (match_dup 0) ++ (match_dup 2))]) ++ ++;; Here, we use (set (reg) (unspec:DI [(fix:SI ...)] UNSPEC_FCTIWZ)) ++;; rather than (set (subreg:SI (reg)) (fix:SI ...)) ++;; because the first makes it clear that operand 0 is not live ++;; before the instruction. + (define_insn "fctiwz_" + [(set (match_operand:DI 0 "gpc_reg_operand" "=d,wi") +- (unspec:DI [(fix:SI (match_operand:SFDF 1 "gpc_reg_operand" ","))] ++ (unspec:DI [(fix:SI ++ (match_operand:SFDF 1 "gpc_reg_operand" ","))] + UNSPEC_FCTIWZ))] + "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT" + "@ +@@ -7168,40 +7208,82 @@ + operands[3] = gen_int_mode (l, SImode); + }") + +-(define_insn "mov_hardfloat" +- [(set (match_operand:FMOVE32 0 "nonimmediate_operand" +- "=!r, , , , m, , +- , Z, , !r, ?, ?r, +- f, , !r, *c*l, !r, *h") +- (match_operand:FMOVE32 1 "input_operand" +- "m, , , Z, r, , +- , , , , r, , +- f, , r, r, *h, 0"))] +- "(register_operand (operands[0], mode) +- || register_operand (operands[1], mode)) ++;; Originally, we tried to keep movsf and movsd common, but the differences ++;; addressing was making it rather difficult to hide with mode attributes. In ++;; particular for SFmode, on ISA 2.07 (power8) systems, having the GPR store ++;; before the VSX stores meant that the register allocator would tend to do a ++;; direct move to the GPR (which involves conversion from scalar to ++;; vector/memory formats) to save values in the traditional Altivec registers, ++;; while SDmode had problems on power6 if the GPR store was not first due to ++;; the power6 not having an integer store operation. ++;; ++;; LWZ LFS LXSSP LXSSPX STFS STXSSP ++;; STXSSPX STW XXLXOR LI FMR XSCPSGNDP ++;; MR MT MF NOP ++ ++(define_insn "movsf_hardfloat" ++ [(set (match_operand:SF 0 "nonimmediate_operand" ++ "=!r, f, wb, wu, m, wY, ++ Z, m, ww, !r, f, ww, ++ !r, *c*l, !r, *h") ++ (match_operand:SF 1 "input_operand" ++ "m, m, wY, Z, f, wb, ++ wu, r, j, j, f, ww, ++ r, r, *h, 0"))] ++ "(register_operand (operands[0], SFmode) ++ || register_operand (operands[1], SFmode)) + && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_SINGLE_FLOAT + && (TARGET_ALLOW_SF_SUBREG +- || valid_sf_si_move (operands[0], operands[1], mode))" ++ || valid_sf_si_move (operands[0], operands[1], SFmode))" + "@ + lwz%U1%X1 %0,%1 +- +- +- ++ lfs%U1%X1 %0,%1 ++ lxssp %0,%1 ++ lxsspx %x0,%y1 ++ stfs%U0%X0 %1,%0 ++ stxssp %1,%0 ++ stxsspx %x1,%y0 + stw%U0%X0 %1,%0 +- +- +- + xxlxor %x0,%x0,%x0 + li %0,0 ++ fmr %0,%1 ++ xscpsgndp %x0,%x1,%x1 ++ mr %0,%1 ++ mt%0 %1 ++ mf%1 %0 ++ nop" ++ [(set_attr "type" ++ "load, fpload, fpload, fpload, fpstore, fpstore, ++ fpstore, store, veclogical, integer, fpsimple, fpsimple, ++ *, mtjmpr, mfjmpr, *")]) ++ ++;; LWZ LFIWZX STW STFIWX MTVSRWZ MFVSRWZ ++;; FMR MR MT%0 MF%1 NOP ++(define_insn "movsd_hardfloat" ++ [(set (match_operand:SD 0 "nonimmediate_operand" ++ "=!r, wz, m, Z, ?wh, ?r, ++ f, !r, *c*l, !r, *h") ++ (match_operand:SD 1 "input_operand" ++ "m, Z, r, wx, r, wh, ++ f, r, r, *h, 0"))] ++ "(register_operand (operands[0], SDmode) ++ || register_operand (operands[1], SDmode)) ++ && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_SINGLE_FLOAT" ++ "@ ++ lwz%U1%X1 %0,%1 ++ lfiwzx %0,%y1 ++ stw%U0%X0 %1,%0 ++ stfiwx %1,%y0 + mtvsrwz %x0,%1 + mfvsrwz %0,%x1 + fmr %0,%1 +- xscpsgndp %x0,%x1,%x1 + mr %0,%1 + mt%0 %1 + mf%1 %0 + nop" +- [(set_attr "type" "load,fpload,fpload,fpload,store,fpstore,fpstore,fpstore,veclogical,integer,mffgpr,mftgpr,fpsimple,fpsimple,*,mtjmpr,mfjmpr,*")]) ++ [(set_attr "type" ++ "load, fpload, store, fpstore, mffgpr, mftgpr, ++ fpsimple, *, mtjmpr, mfjmpr, *")]) + + (define_insn "*mov_softfloat" + [(set (match_operand:FMOVE32 0 "nonimmediate_operand" "=r,cl,r,r,m,r,r,r,r,*h") +@@ -13999,6 +14081,74 @@ + (set_attr "length" "8")]) + + ++;; Optimize cases where we want to do a D-form load (register+offset) on ++;; ISA 2.06/2.07 to an Altivec register, and the register allocator ++;; has generated: ++;; load fpr ++;; move fpr->altivec ++ ++(define_peephole2 ++ [(match_scratch:DI 0 "b") ++ (set (match_operand:ALTIVEC_DFORM 1 "fpr_reg_operand") ++ (match_operand:ALTIVEC_DFORM 2 "simple_offsettable_mem_operand")) ++ (set (match_operand:ALTIVEC_DFORM 3 "altivec_register_operand") ++ (match_dup 1))] ++ "TARGET_VSX && TARGET_POWERPC64 && TARGET_UPPER_REGS_ ++ && !TARGET_P9_DFORM_SCALAR && peep2_reg_dead_p (2, operands[1])" ++ [(set (match_dup 0) ++ (match_dup 4)) ++ (set (match_dup 3) ++ (match_dup 5))] ++{ ++ rtx tmp_reg = operands[0]; ++ rtx mem = operands[2]; ++ rtx addr = XEXP (mem, 0); ++ rtx add_op0, add_op1, new_addr; ++ ++ gcc_assert (GET_CODE (addr) == PLUS || GET_CODE (addr) == LO_SUM); ++ add_op0 = XEXP (addr, 0); ++ add_op1 = XEXP (addr, 1); ++ gcc_assert (REG_P (add_op0)); ++ new_addr = gen_rtx_PLUS (DImode, add_op0, tmp_reg); ++ ++ operands[4] = add_op1; ++ operands[5] = change_address (mem, mode, new_addr); ++}) ++ ++;; Optimize cases were want to do a D-form store on ISA 2.06/2.07 from an ++;; Altivec register, and the register allocator has generated: ++;; move altivec->fpr ++;; store fpr ++ ++(define_peephole2 ++ [(match_scratch:DI 0 "b") ++ (set (match_operand:ALTIVEC_DFORM 1 "fpr_reg_operand") ++ (match_operand:ALTIVEC_DFORM 2 "altivec_register_operand")) ++ (set (match_operand:ALTIVEC_DFORM 3 "simple_offsettable_mem_operand") ++ (match_dup 1))] ++ "TARGET_VSX && TARGET_POWERPC64 && TARGET_UPPER_REGS_ ++ && !TARGET_P9_DFORM_SCALAR && peep2_reg_dead_p (2, operands[1])" ++ [(set (match_dup 0) ++ (match_dup 4)) ++ (set (match_dup 5) ++ (match_dup 2))] ++{ ++ rtx tmp_reg = operands[0]; ++ rtx mem = operands[3]; ++ rtx addr = XEXP (mem, 0); ++ rtx add_op0, add_op1, new_addr; ++ ++ gcc_assert (GET_CODE (addr) == PLUS || GET_CODE (addr) == LO_SUM); ++ add_op0 = XEXP (addr, 0); ++ add_op1 = XEXP (addr, 1); ++ gcc_assert (REG_P (add_op0)); ++ new_addr = gen_rtx_PLUS (DImode, add_op0, tmp_reg); ++ ++ operands[4] = add_op1; ++ operands[5] = change_address (mem, mode, new_addr); ++}) ++ ++ + ;; Miscellaneous ISA 2.06 (power7) instructions + (define_insn "addg6s" + [(set (match_operand:SI 0 "register_operand" "=r") +Index: gcc/config/arm/arm.c +=================================================================== +--- a/src/gcc/config/arm/arm.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/arm/arm.c (.../branches/gcc-7-branch) +@@ -8670,8 +8670,17 @@ + { + const_rtx x = *iter; + if (GET_CODE (x) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (x) != 0) +- return true; ++ { ++ /* ARM currently does not provide relocations to encode TLS variables ++ into AArch32 instructions, only data, so there is no way to ++ currently implement these if a literal pool is disabled. */ ++ if (arm_disable_literal_pool) ++ sorry ("accessing thread-local storage is not currently supported " ++ "with -mpure-code or -mslow-flash-data"); + ++ return true; ++ } ++ + /* Don't recurse into UNSPEC_TLS looking for TLS symbols; these are + TLS offsets, not real symbol references. */ + if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_TLS) +@@ -16377,6 +16386,7 @@ + push_minipool_fix (rtx_insn *insn, HOST_WIDE_INT address, rtx *loc, + machine_mode mode, rtx value) + { ++ gcc_assert (!arm_disable_literal_pool); + Mfix * fix = (Mfix *) obstack_alloc (&minipool_obstack, sizeof (* fix)); + + fix->insn = insn; +@@ -16428,10 +16438,6 @@ + int + arm_max_const_double_inline_cost () + { +- /* Let the value get synthesized to avoid the use of literal pools. */ +- if (arm_disable_literal_pool) +- return 99; +- + return ((optimize_size || arm_ld_sched) ? 3 : 4); + } + +@@ -17378,6 +17384,11 @@ + if (!optimize) + split_all_insns_noflow (); + ++ /* Make sure we do not attempt to create a literal pool even though it should ++ no longer be necessary to create any. */ ++ if (arm_disable_literal_pool) ++ return ; ++ + minipool_fix_head = minipool_fix_tail = NULL; + + /* The first insn must always be a note, or the code below won't +Index: gcc/config/arm/vfp.md +=================================================================== +--- a/src/gcc/config/arm/vfp.md (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/arm/vfp.md (.../branches/gcc-7-branch) +@@ -2079,3 +2079,40 @@ + ;; fmdhr et al (VFPv1) + ;; Support for xD (single precision only) variants. + ;; fmrrs, fmsrr ++ ++;; Split an immediate DF move to two immediate SI moves. ++(define_insn_and_split "no_literal_pool_df_immediate" ++ [(set (match_operand:DF 0 "s_register_operand" "") ++ (match_operand:DF 1 "const_double_operand" ""))] ++ "TARGET_THUMB2 && arm_disable_literal_pool ++ && !(TARGET_HARD_FLOAT && TARGET_VFP_DOUBLE ++ && vfp3_const_double_rtx (operands[1]))" ++ "#" ++ "&& !reload_completed" ++ [(set (subreg:SI (match_dup 1) 0) (match_dup 2)) ++ (set (subreg:SI (match_dup 1) 4) (match_dup 3)) ++ (set (match_dup 0) (match_dup 1))] ++ " ++ long buf[2]; ++ real_to_target (buf, CONST_DOUBLE_REAL_VALUE (operands[1]), DFmode); ++ operands[2] = GEN_INT ((int) buf[0]); ++ operands[3] = GEN_INT ((int) buf[1]); ++ operands[1] = gen_reg_rtx (DFmode); ++ ") ++ ++;; Split an immediate SF move to one immediate SI move. ++(define_insn_and_split "no_literal_pool_sf_immediate" ++ [(set (match_operand:SF 0 "s_register_operand" "") ++ (match_operand:SF 1 "const_double_operand" ""))] ++ "TARGET_THUMB2 && arm_disable_literal_pool ++ && !(TARGET_HARD_FLOAT && vfp3_const_double_rtx (operands[1]))" ++ "#" ++ "&& !reload_completed" ++ [(set (subreg:SI (match_dup 1) 0) (match_dup 2)) ++ (set (match_dup 0) (match_dup 1))] ++ " ++ long buf; ++ real_to_target (&buf, CONST_DOUBLE_REAL_VALUE (operands[1]), SFmode); ++ operands[2] = GEN_INT ((int) buf); ++ operands[1] = gen_reg_rtx (SFmode); ++ ") +Index: gcc/config/arm/arm.md +=================================================================== +--- a/src/gcc/config/arm/arm.md (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/arm/arm.md (.../branches/gcc-7-branch) +@@ -233,10 +233,6 @@ + (match_test "arm_restrict_it")) + (const_string "no") + +- (and (eq_attr "use_literal_pool" "yes") +- (match_test "arm_disable_literal_pool")) +- (const_string "no") +- + (eq_attr "arch_enabled" "no") + (const_string "no")] + (const_string "yes"))) +@@ -5878,8 +5874,9 @@ + (match_operand:ANY64 1 "immediate_operand" ""))] + "TARGET_32BIT + && reload_completed +- && (arm_const_double_inline_cost (operands[1]) +- <= arm_max_const_double_inline_cost ())" ++ && (arm_disable_literal_pool ++ || (arm_const_double_inline_cost (operands[1]) ++ <= arm_max_const_double_inline_cost ()))" + [(const_int 0)] + " + arm_split_constant (SET, SImode, curr_insn, +Index: gcc/config/pa/pa.c +=================================================================== +--- a/src/gcc/config/pa/pa.c (.../tags/gcc_7_1_0_release) ++++ b/src/gcc/config/pa/pa.c (.../branches/gcc-7-branch) +@@ -3299,6 +3299,24 @@ + static bool + pa_assemble_integer (rtx x, unsigned int size, int aligned_p) + { ++ bool result; ++ tree decl = NULL; ++ ++ /* When we have a SYMBOL_REF with a SYMBOL_REF_DECL, we need to call ++ call assemble_external and set the SYMBOL_REF_DECL to NULL before ++ calling output_addr_const. Otherwise, it may call assemble_external ++ in the midst of outputing the assembler code for the SYMBOL_REF. ++ We restore the SYMBOL_REF_DECL after the output is done. */ ++ if (GET_CODE (x) == SYMBOL_REF) ++ { ++ decl = SYMBOL_REF_DECL (x); ++ if (decl) ++ { ++ assemble_external (decl); ++ SET_SYMBOL_REF_DECL (x, NULL); ++ } ++ } ++ + if (size == UNITS_PER_WORD + && aligned_p + && function_label_operand (x, VOIDmode)) +@@ -3311,9 +3329,15 @@ + + output_addr_const (asm_out_file, x); + fputc ('\n', asm_out_file); +- return true; ++ result = true; + } +- return default_assemble_integer (x, size, aligned_p); ++ else ++ result = default_assemble_integer (x, size, aligned_p); ++ ++ if (decl) ++ SET_SYMBOL_REF_DECL (x, decl); ++ ++ return result; + } + + /* Output an ascii string. */ +@@ -9962,19 +9986,23 @@ + if (from == to) + return false; + ++ if (GET_MODE_SIZE (from) == GET_MODE_SIZE (to)) ++ return false; ++ ++ /* Reject changes to/from modes with zero size. */ ++ if (!GET_MODE_SIZE (from) || !GET_MODE_SIZE (to)) ++ return true; ++ + /* Reject changes to/from complex and vector modes. */ + if (COMPLEX_MODE_P (from) || VECTOR_MODE_P (from) + || COMPLEX_MODE_P (to) || VECTOR_MODE_P (to)) + return true; + +- if (GET_MODE_SIZE (from) == GET_MODE_SIZE (to)) +- return false; +- +- /* There is no way to load QImode or HImode values directly from +- memory. SImode loads to the FP registers are not zero extended. +- On the 64-bit target, this conflicts with the definition of +- LOAD_EXTEND_OP. Thus, we can't allow changing between modes +- with different sizes in the floating-point registers. */ ++ /* There is no way to load QImode or HImode values directly from memory ++ to a FP register. SImode loads to the FP registers are not zero ++ extended. On the 64-bit target, this conflicts with the definition ++ of LOAD_EXTEND_OP. Thus, we can't allow changing between modes with ++ different sizes in the floating-point registers. */ + if (MAYBE_FP_REG_CLASS_P (rclass)) + return true; + +Index: libgo/Makefile.in +=================================================================== +--- a/src/libgo/Makefile.in (.../tags/gcc_7_1_0_release) ++++ b/src/libgo/Makefile.in (.../branches/gcc-7-branch) +@@ -1075,7 +1075,7 @@ + BUILDPACKAGE = \ + $(MKDIR_P) $(@D); \ + files=`echo $^ | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; \ +- $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//'` $($(subst -,_,$(subst .,_,$(subst /,_,$@)))_GOCFLAGS) -o $@ $$files ++ $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//' -e 's|golang_org|vendor/golang_org|'` $($(subst -,_,$(subst .,_,$(subst /,_,$@)))_GOCFLAGS) -o $@ $$files + + + # How to build a .gox file from a .lo file. +Index: libgo/Makefile.am +=================================================================== +--- a/src/libgo/Makefile.am (.../tags/gcc_7_1_0_release) ++++ b/src/libgo/Makefile.am (.../branches/gcc-7-branch) +@@ -920,7 +920,7 @@ + BUILDPACKAGE = \ + $(MKDIR_P) $(@D); \ + files=`echo $^ | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; \ +- $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//'` $($(subst -,_,$(subst .,_,$(subst /,_,$@)))_GOCFLAGS) -o $@ $$files ++ $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//' -e 's|golang_org|vendor/golang_org|'` $($(subst -,_,$(subst .,_,$(subst /,_,$@)))_GOCFLAGS) -o $@ $$files + + # How to build a .gox file from a .lo file. + BUILDGOX = \ +Index: libgfortran/m4/matmul_internal.m4 +=================================================================== +--- a/src/libgfortran/m4/matmul_internal.m4 (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/m4/matmul_internal.m4 (.../branches/gcc-7-branch) +@@ -223,15 +223,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = ('rtype_name`)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/Makefile.in +=================================================================== +--- a/src/libgfortran/Makefile.in (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/Makefile.in (.../branches/gcc-7-branch) +@@ -137,8 +137,9 @@ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ +- $(top_srcdir)/../config/math.m4 $(top_srcdir)/../libtool.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/../config/math.m4 \ ++ $(top_srcdir)/../config/ax_check_define.m4 \ ++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ +Index: libgfortran/runtime/environ.c +=================================================================== +--- a/src/libgfortran/runtime/environ.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/runtime/environ.c (.../branches/gcc-7-branch) +@@ -37,9 +37,20 @@ + provided. */ + + #ifdef FALLBACK_SECURE_GETENV ++ ++#if SUPPORTS_WEAKREF && defined(HAVE___SECURE_GETENV) ++static char* weak_secure_getenv (const char*) ++ __attribute__((__weakref__("__secure_getenv"))); ++#endif ++ + char * + secure_getenv (const char *name) + { ++#if SUPPORTS_WEAKREF && defined(HAVE___SECURE_GETENV) ++ if (weak_secure_getenv) ++ return weak_secure_getenv (name); ++#endif ++ + if ((getuid () == geteuid ()) && (getgid () == getegid ())) + return getenv (name); + else +Index: libgfortran/ChangeLog +=================================================================== +--- a/src/libgfortran/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,57 @@ ++2017-06-06 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/80975 ++ * m4/matmul_internal.m4: Move zeroing before early return. ++ * generated/matmul_c10.c: Regenerated. ++ * generated/matmul_c16.c: Regenerated. ++ * generated/matmul_c4.c: Regenerated. ++ * generated/matmul_c8.c: Regenerated. ++ * generated/matmul_i1.c: Regenerated. ++ * generated/matmul_i16.c: Regenerated. ++ * generated/matmul_i2.c: Regenerated. ++ * generated/matmul_i4.c: Regenerated. ++ * generated/matmul_i8.c: Regenerated. ++ * generated/matmul_r10.c: Regenerated. ++ * generated/matmul_r16.c: Regenerated. ++ * generated/matmul_r4.c: Regenerated. ++ * generated/matmul_r8.c: Regenerated. ++ ++2017-05-23 Jerry DeLisle ++ ++ Backport from trunk ++ PR libgfortran/80741 ++ * transfer.c (finalize_transfer): Reset last_char to 'empty'. ++ * file_pos.c (formatted_backspace): Likewise. ++ (st_endfile): Likewise. ++ (st_rewind): Likewise. ++ (st_flush): Likewise. ++ ++2017-05-23 Paul Thomas ++ Jerry DeLisle ++ ++ Backport from trunk ++ PR fortran/80333 ++ * list_read.c (nml_read_obj): Compute pointer into class/type ++ arrays from the nl->dim information. Update it for each iteration ++ of the loop for the given object. ++ ++2017-05-19 Janne Blomqvist ++ ++ Backport from trunk ++ * libgfortran.h: HAVE_SECURE_GETENV: Don't check ++ HAVE___SECURE_GETENV. ++ * environ/runtime.c (secure_getenv): Use __secure_getenv via a ++ weak reference. ++ ++2017-05-17 Jerry DeLisle ++ ++ Backport from trunk ++ PR libgfortran/80727 ++ * transfer.c (read_sf_internal): Remove bogus code to detect EOR. ++ (read_block_form): For internal units, generate EOR if no more ++ bytes left in unit and we are trying to read with ADVANCE='NO'. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +Index: libgfortran/generated/matmul_r8.c +=================================================================== +--- a/src/libgfortran/generated/matmul_r8.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_r8.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_r16.c +=================================================================== +--- a/src/libgfortran/generated/matmul_r16.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_r16.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_c8.c +=================================================================== +--- a/src/libgfortran/generated/matmul_c8.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_c8.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_i8.c +=================================================================== +--- a/src/libgfortran/generated/matmul_i8.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_i8.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_8)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_c16.c +=================================================================== +--- a/src/libgfortran/generated/matmul_c16.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_c16.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_r10.c +=================================================================== +--- a/src/libgfortran/generated/matmul_r10.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_r10.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_10)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_10)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_10)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_10)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_10)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_i1.c +=================================================================== +--- a/src/libgfortran/generated/matmul_i1.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_i1.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_1)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_1)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_1)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_1)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_1)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_r4.c +=================================================================== +--- a/src/libgfortran/generated/matmul_r4.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_r4.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_REAL_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_i2.c +=================================================================== +--- a/src/libgfortran/generated/matmul_i2.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_i2.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_2)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_2)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_2)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_2)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_2)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_c10.c +=================================================================== +--- a/src/libgfortran/generated/matmul_c10.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_c10.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_10)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_10)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_10)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_10)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_10)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_c4.c +=================================================================== +--- a/src/libgfortran/generated/matmul_c4.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_c4.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_COMPLEX_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_i4.c +=================================================================== +--- a/src/libgfortran/generated/matmul_i4.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_i4.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_4)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/generated/matmul_i16.c +=================================================================== +--- a/src/libgfortran/generated/matmul_i16.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/generated/matmul_i16.c (.../branches/gcc-7-branch) +@@ -307,15 +307,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -850,15 +850,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1393,15 +1393,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -1932,15 +1932,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +@@ -2529,15 +2529,15 @@ + b_offset = 1 + b_dim1; + b -= b_offset; + +- /* Early exit if possible */ +- if (m == 0 || n == 0 || k == 0) +- return; +- + /* Empty c first. */ + for (j=1; j<=n; j++) + for (i=1; i<=m; i++) + c[i + j * c_dim1] = (GFC_INTEGER_16)0; + ++ /* Early exit if possible */ ++ if (m == 0 || n == 0 || k == 0) ++ return; ++ + /* Start turning the crank. */ + i1 = n; + for (jj = 1; jj <= i1; jj += 512) +Index: libgfortran/libgfortran.h +=================================================================== +--- a/src/libgfortran/libgfortran.h (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/libgfortran.h (.../branches/gcc-7-branch) +@@ -808,9 +808,7 @@ + + /* Secure getenv() which returns NULL if running as SUID/SGID. */ + #ifndef HAVE_SECURE_GETENV +-#ifdef HAVE___SECURE_GETENV +-#define secure_getenv __secure_getenv +-#elif defined(HAVE_GETUID) && defined(HAVE_GETEUID) \ ++#if defined(HAVE_GETUID) && defined(HAVE_GETEUID) \ + && defined(HAVE_GETGID) && defined(HAVE_GETEGID) + #define FALLBACK_SECURE_GETENV + extern char *secure_getenv (const char *); +Index: libgfortran/io/file_pos.c +=================================================================== +--- a/src/libgfortran/io/file_pos.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/io/file_pos.c (.../branches/gcc-7-branch) +@@ -82,7 +82,7 @@ + goto io_error; + u->last_record--; + u->endfile = NO_ENDFILE; +- ++ u->last_char = EOF - 1; + return; + + io_error: +@@ -322,6 +322,7 @@ + + unit_truncate (u, stell (u->s), &fpp->common); + u->endfile = AFTER_ENDFILE; ++ u->last_char = EOF - 1; + if (0 == stell (u->s)) + u->flags.position = POSITION_REWIND; + } +@@ -371,6 +372,7 @@ + if (u == NULL) + return; + u->endfile = AFTER_ENDFILE; ++ u->last_char = EOF - 1; + } + } + +@@ -430,6 +432,7 @@ + u->current_record = 0; + u->strm_pos = 1; + u->read_bad = 0; ++ u->last_char = EOF - 1; + } + /* Update position for INQUIRE. */ + u->flags.position = POSITION_REWIND; +@@ -458,6 +461,7 @@ + fbuf_flush (u, u->mode); + + sflush (u->s); ++ u->last_char = EOF - 1; + unlock_unit (u); + } + else +Index: libgfortran/io/list_read.c +=================================================================== +--- a/src/libgfortran/io/list_read.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/io/list_read.c (.../branches/gcc-7-branch) +@@ -2871,6 +2871,7 @@ + index_type m; + size_t obj_name_len; + void *pdata; ++ gfc_class list_obj; + + /* If we have encountered a previous read error or this object has not been + touched in name parsing, just return. */ +@@ -2909,12 +2910,29 @@ + { + /* Update the pointer to the data, using the current index vector */ + +- pdata = (void*)(nl->mem_pos + offset); +- for (dim = 0; dim < nl->var_rank; dim++) +- pdata = (void*)(pdata + (nl->ls[dim].idx +- - GFC_DESCRIPTOR_LBOUND(nl,dim)) +- * GFC_DESCRIPTOR_STRIDE(nl,dim) * nl->size); ++ if ((nl->type == BT_DERIVED || nl->type == BT_CLASS) ++ && nl->dtio_sub != NULL) ++ { ++ pdata = NULL; /* Not used under these conidtions. */ ++ if (nl->type == BT_CLASS) ++ list_obj.data = ((gfc_class*)nl->mem_pos)->data; ++ else ++ list_obj.data = (void *)nl->mem_pos; + ++ for (dim = 0; dim < nl->var_rank; dim++) ++ list_obj.data = list_obj.data + (nl->ls[dim].idx ++ - GFC_DESCRIPTOR_LBOUND(nl,dim)) ++ * GFC_DESCRIPTOR_STRIDE(nl,dim) * nl->size; ++ } ++ else ++ { ++ pdata = (void*)(nl->mem_pos + offset); ++ for (dim = 0; dim < nl->var_rank; dim++) ++ pdata = (void*)(pdata + (nl->ls[dim].idx ++ - GFC_DESCRIPTOR_LBOUND(nl,dim)) ++ * GFC_DESCRIPTOR_STRIDE(nl,dim) * nl->size); ++ } ++ + /* If we are finished with the repeat count, try to read next value. */ + + nml_carry = 0; +@@ -2958,6 +2976,7 @@ + break; + + case BT_DERIVED: ++ case BT_CLASS: + /* If this object has a User Defined procedure, call it. */ + if (nl->dtio_sub != NULL) + { +@@ -2970,13 +2989,11 @@ + int noiostat; + int *child_iostat = NULL; + gfc_array_i4 vlist; +- gfc_class list_obj; + formatted_dtio dtio_ptr = (formatted_dtio)nl->dtio_sub; + + GFC_DESCRIPTOR_DATA(&vlist) = NULL; + GFC_DIMENSION_SET(vlist.dim[0],1, 0, 0); + +- list_obj.data = (void *)nl->mem_pos; + list_obj.vptr = nl->vtable; + list_obj.len = 0; + +Index: libgfortran/io/transfer.c +=================================================================== +--- a/src/libgfortran/io/transfer.c (.../tags/gcc_7_1_0_release) ++++ b/src/libgfortran/io/transfer.c (.../branches/gcc-7-branch) +@@ -272,12 +272,6 @@ + return NULL; + } + +- if (base && *base == 0) +- { +- generate_error (&dtp->common, LIBERROR_EOR, NULL); +- return NULL; +- } +- + dtp->u.p.current_unit->bytes_left -= *length; + + if (((dtp->common.flags & IOPARM_DT_HAS_SIZE) != 0) || +@@ -470,12 +464,25 @@ + } + } + +- if (unlikely (dtp->u.p.current_unit->bytes_left == 0 +- && !is_internal_unit(dtp))) ++ if (is_internal_unit(dtp)) + { +- hit_eof (dtp); +- return NULL; ++ if (*nbytes > 0 && dtp->u.p.current_unit->bytes_left == 0) ++ { ++ if (dtp->u.p.advance_status == ADVANCE_NO) ++ { ++ generate_error (&dtp->common, LIBERROR_EOR, NULL); ++ return NULL; ++ } ++ } + } ++ else ++ { ++ if (unlikely (dtp->u.p.current_unit->bytes_left == 0)) ++ { ++ hit_eof (dtp); ++ return NULL; ++ } ++ } + + *nbytes = dtp->u.p.current_unit->bytes_left; + } +@@ -3970,7 +3977,7 @@ + fbuf_seek (dtp->u.p.current_unit, 0, SEEK_END); + + dtp->u.p.current_unit->saved_pos = 0; +- ++ dtp->u.p.current_unit->last_char = EOF - 1; + next_record (dtp, 1); + + done: +Index: libada/configure +=================================================================== +--- a/src/libada/configure (.../tags/gcc_7_1_0_release) ++++ b/src/libada/configure (.../branches/gcc-7-branch) +@@ -2960,9 +2960,7 @@ + + + # Determine what to build for 'gnatlib' +-if test $build = $target \ +- && test ${enable_shared} = yes ; then +- # Note that build=target is almost certainly the wrong test; FIXME ++if test ${enable_shared} = yes; then + default_gnatlib_target="gnatlib-shared" + else + default_gnatlib_target="gnatlib-plain" +@@ -3006,9 +3004,10 @@ + + fi + +-have_getipinfo= + if test x$have_unwind_getipinfo = xyes; then + have_getipinfo=-DHAVE_GETIPINFO ++else ++ have_getipinfo= + fi + + +Index: libada/configure.ac +=================================================================== +--- a/src/libada/configure.ac (.../tags/gcc_7_1_0_release) ++++ b/src/libada/configure.ac (.../branches/gcc-7-branch) +@@ -127,9 +127,7 @@ + AC_PROG_LN_S + + # Determine what to build for 'gnatlib' +-if test $build = $target \ +- && test ${enable_shared} = yes ; then +- # Note that build=target is almost certainly the wrong test; FIXME ++if test ${enable_shared} = yes; then + default_gnatlib_target="gnatlib-shared" + else + default_gnatlib_target="gnatlib-plain" +@@ -138,11 +136,12 @@ + + # Check for _Unwind_GetIPInfo + GCC_CHECK_UNWIND_GETIPINFO +-have_getipinfo= + if test x$have_unwind_getipinfo = xyes; then + have_getipinfo=-DHAVE_GETIPINFO ++else ++ have_getipinfo= + fi +-AC_SUBST(have_getipinfo) ++AC_SUBST([have_getipinfo]) + + # Determine what GCC version number to use in filesystem paths. + GCC_BASE_VER +Index: libada/ChangeLog +=================================================================== +--- a/src/libada/ChangeLog (.../tags/gcc_7_1_0_release) ++++ b/src/libada/ChangeLog (.../branches/gcc-7-branch) +@@ -1,3 +1,10 @@ ++2017-06-01 Eric Botcazou ++ ++ PR ada/80921 ++ * configure.ac (default_gnatlib_target): Remove bogus condition. ++ (have_getipinfo): Tweak. ++ * configure: Regenerate. ++ + 2017-05-02 Release Manager + + * GCC 7.1.0 released. +@@ -8,7 +15,7 @@ + * configure.ac: Add GCC_BASE_VER. + * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get + version from BASE-VER file. +- * configure: Regenerated. ++ * configure: Regenerate. + + 2017-01-04 Alan Modra + --- gcc-7-7.1.0.orig/debian/patches/sys-auxv-header.diff +++ gcc-7-7.1.0/debian/patches/sys-auxv-header.diff @@ -0,0 +1,46 @@ +# DP: Check for the sys/auxv.h header file. + +Index: b/src/gcc/configure.ac +=================================================================== +--- a/src/gcc/configure.ac ++++ b/src/gcc/configure.ac +@@ -1112,6 +1112,7 @@ AC_HEADER_TIOCGWINSZ + AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h iconv.h \ + fcntl.h ftw.h unistd.h sys/file.h sys/time.h sys/mman.h \ + sys/resource.h sys/param.h sys/times.h sys/stat.h \ ++ sys/auxv.h \ + direct.h malloc.h langinfo.h ldfcn.h locale.h wchar.h) + + # Check for thread headers. +Index: b/src/gcc/config.in +=================================================================== +--- a/src/gcc/config.in ++++ b/src/gcc/config.in +@@ -1762,6 +1762,12 @@ + #endif + + ++/* Define to 1 if you have the header file. */ ++#ifndef USED_FOR_TARGET ++#undef HAVE_SYS_AUXV_H ++#endif ++ ++ + /* Define to 1 if you have the header file. */ + #ifndef USED_FOR_TARGET + #undef HAVE_SYS_FILE_H +Index: b/src/gcc/config/rs6000/driver-rs6000.c +=================================================================== +--- a/src/gcc/config/rs6000/driver-rs6000.c ++++ b/src/gcc/config/rs6000/driver-rs6000.c +@@ -31,6 +31,10 @@ along with GCC; see the file COPYING3. + # include + #endif + ++#ifdef HAVE_SYS_AUXV_H ++# include ++#endif ++ + #if defined (__APPLE__) || (__FreeBSD__) + # include + # include --- gcc-7-7.1.0.orig/debian/patches/testsuite-glibc-warnings.diff +++ gcc-7-7.1.0/debian/patches/testsuite-glibc-warnings.diff @@ -0,0 +1,29 @@ +# DP: fix testcases that triggered -Wunused-result with glibc +# DP: Author: Steve Beattie +--- + src/gcc/testsuite/c-c++-common/cilk-plus/AN/comma_exp.c | 2 +- + src/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +Index: b/src/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c ++++ b/src/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c +@@ -1,5 +1,5 @@ + /* { dg-shouldfail "tsan" } */ +-/* { dg-additional-options "-ldl" } */ ++/* { dg-additional-options "-Wno-unused-result -ldl" } */ + + #include + #include +Index: b/src/gcc/testsuite/c-c++-common/cilk-plus/AN/comma_exp.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/cilk-plus/AN/comma_exp.c ++++ b/src/gcc/testsuite/c-c++-common/cilk-plus/AN/comma_exp.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-options "-fcilkplus" } */ ++/* { dg-options "-fcilkplus -Wno-unused-result" } */ + + #include + --- gcc-7-7.1.0.orig/debian/patches/testsuite-hardening-format.diff +++ gcc-7-7.1.0/debian/patches/testsuite-hardening-format.diff @@ -0,0 +1,356 @@ +#! /bin/sh -e + +# All lines beginning with `# DPATCH:' are a description of the patch. +# DP: Description: use -Wno-format on tests that cannot be adjusted other ways. +# DP: Author: Kees Cook +# DP: Ubuntu: https://bugs.launchpad.net/bugs/344502 + +dir= +if [ $# -eq 3 -a "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) + patch $pdir -f --no-backup-if-mismatch -p1 < $0 + #cd ${dir}gcc && autoconf + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- + src/gcc/testsuite/c-c++-common/torture/vector-compare-1.c | 1 + + src/gcc/testsuite/g++.dg/abi/pragma-pack1.C | 2 ++ + src/gcc/testsuite/g++.dg/abi/regparm1.C | 1 + + src/gcc/testsuite/g++.dg/cpp0x/constexpr-tuple.C | 1 + + src/gcc/testsuite/g++.dg/torture/pr51436.C | 1 + + src/gcc/testsuite/g++.old-deja/g++.law/weak.C | 2 +- + src/gcc/testsuite/g++.old-deja/g++.other/std1.C | 1 + + src/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.x | 5 +++++ + src/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.x | 5 +++++ + src/gcc/testsuite/gcc.dg/charset/builtin2.c | 2 +- + src/gcc/testsuite/gcc.dg/format/format.exp | 2 +- + src/gcc/testsuite/gcc.dg/ipa/ipa-sra-1.c | 2 +- + src/gcc/testsuite/gcc.dg/lto/20090218-2_0.c | 2 ++ + src/gcc/testsuite/gcc.dg/pr30473.c | 2 +- + src/gcc/testsuite/gcc.dg/pr38902.c | 2 +- + src/gcc/testsuite/gcc.dg/pr59418.c | 2 +- + src/gcc/testsuite/gcc.dg/torture/tls/tls-test.c | 2 +- + src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-1.c | 2 +- + src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-chk-1.c | 2 +- + src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-1.c | 2 +- + src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-chk-1.c | 2 +- + src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-1.c | 2 +- + src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c | 2 +- + src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-1.c | 2 +- + src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-chk-1.c | 2 +- + src/gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c | 2 +- + src/gcc/testsuite/objc.dg/torture/strings/const-str-3.m | 2 +- + 28 files changed, 40 insertions(+), 18 deletions(-) + +Index: b/src/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.x +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.x +@@ -0,0 +1,5 @@ ++# Implement "/* { dg-options "-U_FORITFY_SOURCE" } */", due to ++# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20567 ++ ++set additional_flags "-U_FORTIFY_SOURCE" ++return 0 +Index: b/src/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.x +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.x +@@ -0,0 +1,5 @@ ++# Implement "/* { dg-options "-U_FORITFY_SOURCE" } */", due to ++# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20567 ++ ++set additional_flags "-U_FORTIFY_SOURCE" ++return 0 +Index: b/src/gcc/testsuite/gcc.dg/charset/builtin2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/charset/builtin2.c ++++ b/src/gcc/testsuite/gcc.dg/charset/builtin2.c +@@ -3,7 +3,7 @@ + + /* { dg-do compile } */ + /* { dg-require-iconv "IBM1047" } */ +-/* { dg-options "-O2 -fexec-charset=IBM1047" } */ ++/* { dg-options "-O2 -fexec-charset=IBM1047 -Wno-format" } */ + /* { dg-final { scan-assembler-not "printf" } } */ + /* { dg-final { scan-assembler-not "fprintf" } } */ + /* { dg-final { scan-assembler-not "sprintf" } } */ +Index: b/src/gcc/testsuite/gcc.dg/format/format.exp +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/format/format.exp ++++ b/src/gcc/testsuite/gcc.dg/format/format.exp +@@ -26,7 +26,7 @@ load_lib gcc-dg.exp + load_lib torture-options.exp + + torture-init +-set-torture-options [list { } { -DWIDE } ] ++set-torture-options [list { -Wformat=0 } { -DWIDE -Wformat=0 } ] + + dg-init + gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "" "" +Index: b/src/gcc/testsuite/gcc.dg/pr30473.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr30473.c ++++ b/src/gcc/testsuite/gcc.dg/pr30473.c +@@ -1,7 +1,7 @@ + /* PR middle-end/30473 */ + /* Make sure this doesn't ICE. */ + /* { dg-do compile } */ +-/* { dg-options "-O2" } */ ++/* { dg-options "-O2 -Wno-format" } */ + + extern int sprintf (char *, const char *, ...); + +Index: b/src/gcc/testsuite/gcc.dg/pr38902.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr38902.c ++++ b/src/gcc/testsuite/gcc.dg/pr38902.c +@@ -1,6 +1,6 @@ + /* PR target/38902 */ + /* { dg-do run } */ +-/* { dg-options "-O2 -fstack-protector" } */ ++/* { dg-options "-O2 -fstack-protector -Wno-format" } */ + /* { dg-require-effective-target fstack_protector } */ + + #ifdef DEBUG +Index: b/src/gcc/testsuite/gcc.dg/pr59418.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr59418.c ++++ b/src/gcc/testsuite/gcc.dg/pr59418.c +@@ -2,7 +2,7 @@ + /* Reported by Ryan Mansfield */ + + /* { dg-do compile } */ +-/* { dg-options "-Os -g" } */ ++/* { dg-options "-Os -g -Wno-format-zero-length" } */ + /* { dg-options "-march=armv7-a -mfloat-abi=hard -Os -g" { target { arm*-*-* && { ! arm_thumb1 } } } } */ + + extern int printf (const char *__format, ...); +Index: b/src/gcc/testsuite/gcc.dg/ipa/ipa-sra-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/ipa/ipa-sra-1.c ++++ b/src/gcc/testsuite/gcc.dg/ipa/ipa-sra-1.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-options "-O2 -fipa-sra -fdump-tree-eipa_sra-details" } */ ++/* { dg-options "-O2 -fipa-sra -fdump-tree-eipa_sra-details -Wformat=0" } */ + + struct bovid + { +Index: b/src/gcc/testsuite/gcc.dg/lto/20090218-2_0.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/lto/20090218-2_0.c ++++ b/src/gcc/testsuite/gcc.dg/lto/20090218-2_0.c +@@ -1,3 +1,5 @@ ++/* { dg-lto-options "-Wno-nonnull" } */ ++ + void set_mem_alias_set (); + void emit_push_insn () { + set_mem_alias_set (); +Index: b/src/gcc/testsuite/c-c++-common/torture/vector-compare-1.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/torture/vector-compare-1.c ++++ b/src/gcc/testsuite/c-c++-common/torture/vector-compare-1.c +@@ -1,4 +1,5 @@ + /* { dg-do run } */ ++/* { dg-options "-Wformat=0" } */ + #define vector(elcount, type) \ + __attribute__((vector_size((elcount)*sizeof(type)))) type + +Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-chk-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-chk-1.c ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-chk-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-fab1" } */ ++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */ + + #include + +Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-1.c ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-fab1" } */ ++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */ + + #include + +Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-1.c ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-fab1" } */ ++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */ + + extern int printf (const char *, ...); + volatile int vi0, vi1, vi2, vi3, vi4, vi5, vi6, vi7, vi8, vi9, via; +Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-chk-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-chk-1.c ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-chk-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-fab1" } */ ++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */ + + extern int __printf_chk (int, const char *, ...); + volatile int vi0, vi1, vi2, vi3, vi4, vi5, vi6, vi7, vi8, vi9, via; +Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-1.c ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-fab1" } */ ++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */ + + typedef struct { int i; } FILE; + FILE *fp; +Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-chk-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-chk-1.c ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-chk-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-fab1" } */ ++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */ + + typedef struct { int i; } FILE; + FILE *fp; +Index: b/src/gcc/testsuite/gcc.dg/torture/tls/tls-test.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/tls/tls-test.c ++++ b/src/gcc/testsuite/gcc.dg/torture/tls/tls-test.c +@@ -1,7 +1,7 @@ + /* { dg-do run } */ + /* { dg-require-effective-target tls } */ + /* { dg-require-effective-target pthread } */ +-/* { dg-options "-pthread" } */ ++/* { dg-options "-pthread -Wformat=0" } */ + + #include + extern int printf (char *,...); +Index: b/src/gcc/testsuite/objc.dg/torture/strings/const-str-3.m +=================================================================== +--- a/src/gcc/testsuite/objc.dg/torture/strings/const-str-3.m ++++ b/src/gcc/testsuite/objc.dg/torture/strings/const-str-3.m +@@ -2,7 +2,7 @@ + /* Developed by Markus Hitter . */ + /* { dg-do run } */ + /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */ +-/* { dg-options "-fconstant-string-class=Foo" } */ ++/* { dg-options "-fconstant-string-class=Foo -Wno-format-security" } */ + /* { dg-options "-mno-constant-cfstrings -fconstant-string-class=Foo" { target *-*-darwin* } } */ + + #include "../../../objc-obj-c++-shared/objc-test-suite-types.h" +Index: b/src/gcc/testsuite/g++.dg/abi/pragma-pack1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/abi/pragma-pack1.C ++++ b/src/gcc/testsuite/g++.dg/abi/pragma-pack1.C +@@ -1,5 +1,7 @@ + // PR c++/7046 + ++// { dg-options "-Wformat=0" } ++ + extern "C" int printf (const char *, ...); + + #pragma pack(4) +Index: b/src/gcc/testsuite/g++.dg/abi/regparm1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/abi/regparm1.C ++++ b/src/gcc/testsuite/g++.dg/abi/regparm1.C +@@ -1,6 +1,7 @@ + // PR c++/29911 (9381) + // { dg-do run { target i?86-*-* x86_64-*-* } } + // { dg-require-effective-target c++11 } ++// { dg-options "-Wformat=0" } + + extern "C" int printf(const char *, ...); + +Index: b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-tuple.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-tuple.C ++++ b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-tuple.C +@@ -1,5 +1,6 @@ + // PR c++/53202 + // { dg-do run { target c++11 } } ++// { dg-options "-Wformat=0" } + + #include + +Index: b/src/gcc/testsuite/g++.dg/torture/pr51436.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/torture/pr51436.C ++++ b/src/gcc/testsuite/g++.dg/torture/pr51436.C +@@ -1,4 +1,5 @@ + /* { dg-do compile } */ ++/* { dg-options "-Wno-nonnull" } */ + + typedef __SIZE_TYPE__ size_t; + extern "C" void *memcpy (void *, __const void *, size_t); +Index: b/src/gcc/testsuite/g++.old-deja/g++.law/weak.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.law/weak.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.law/weak.C +@@ -1,6 +1,6 @@ + // { dg-do link { target i?86-*-linux* i?86-*-gnu* x86_64-*-linux* } } + // { dg-require-effective-target static } +-// { dg-options "-static" } ++// { dg-options "-static -Wno-nonnull" } + // Bug: g++ fails to instantiate operator<<. + + // libc-5.4.xx has __IO_putc in its static C library, which can conflict +Index: b/src/gcc/testsuite/g++.old-deja/g++.other/std1.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.other/std1.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.other/std1.C +@@ -1,4 +1,5 @@ + // { dg-do assemble } ++// { dg-options "-Wno-nonnull" } + // Origin: Mark Mitchell + + extern "C" int memcmp (const void * __s1, +Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-1.c ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-fab1" } */ ++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */ + + #include + +Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-fab1" } */ ++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */ + + #include + --- gcc-7-7.1.0.orig/debian/patches/testsuite-hardening-printf-types.diff +++ gcc-7-7.1.0/debian/patches/testsuite-hardening-printf-types.diff @@ -0,0 +1,667 @@ +# DP: Description: adjust/standardize printf types to avoid -Wformat warnings. +# DP: Author: Kees Cook +# DP: Ubuntu: https://bugs.launchpad.net/bugs/344502 + +Index: b/src/gcc/testsuite/g++.dg/ext/align1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ext/align1.C ++++ b/src/gcc/testsuite/g++.dg/ext/align1.C +@@ -16,6 +16,7 @@ float f1 __attribute__ ((aligned)); + int + main (void) + { +- printf ("%d %d\n", __alignof (a1), __alignof (f1)); ++ // "%td" is not allowed by ISO C++, so use %p with a void * cast ++ printf ("%p %p\n", (void*)__alignof (a1), (void*)__alignof (f1)); + return (__alignof (a1) < __alignof (f1)); + } +Index: b/src/gcc/testsuite/g++.old-deja/g++.law/operators28.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.law/operators28.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.law/operators28.C +@@ -14,7 +14,8 @@ void* new_test::operator new(size_t sz, + { + void *p; + +- printf("%d %d %d\n", sz, count, type); ++ // ISO C++ does not support format size modifier "z", so use a cast ++ printf("%u %d %d\n", (unsigned int)sz, count, type); + + p = new char[sz * count]; + ((new_test *)p)->type = type; +Index: b/src/gcc/testsuite/gcc.dg/torture/matrix-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/matrix-2.c ++++ b/src/gcc/testsuite/gcc.dg/torture/matrix-2.c +@@ -42,7 +42,7 @@ main (int argc, char **argv) + } + for (i = 0; i < ARCHnodes; i++) + for (j = 0; j < 3; j++) +- printf ("%x\n",vel[i][j]); ++ printf ("%p\n",vel[i][j]); + /*if (i!=1 || j!=1)*/ + /*if (i==1 && j==1) + continue; +@@ -82,14 +82,14 @@ mem_init (void) + for (j = 0; j < 3; j++) + { + vel[i][j] = (int *) malloc (ARCHnodes1 * sizeof (int)); +- printf ("%x %d %d\n",vel[i][j], ARCHnodes1, sizeof (int)); ++ printf ("%p %d %d\n",vel[i][j], ARCHnodes1, (int)sizeof (int)); + } + } + for (i = 0; i < ARCHnodes; i++) + { + for (j = 0; j < 3; j++) + { +- printf ("%x\n",vel[i][j]); ++ printf ("%p\n",vel[i][j]); + } + } + +@@ -98,7 +98,7 @@ mem_init (void) + { + for (j = 0; j < 3; j++) + { +- printf ("%x\n",vel[i][j]); ++ printf ("%p\n",vel[i][j]); + /*for (k = 0; k < ARCHnodes1; k++) + { + vel[i][j][k] = d; +Index: b/src/gcc/testsuite/gcc.dg/packed-vla.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/packed-vla.c ++++ b/src/gcc/testsuite/gcc.dg/packed-vla.c +@@ -18,8 +18,8 @@ int func(int levels) + int b[4]; + } __attribute__ ((__packed__)) foo; + +- printf("foo %d\n", sizeof(foo)); +- printf("bar %d\n", sizeof(bar)); ++ printf("foo %d\n", (int)sizeof(foo)); ++ printf("bar %d\n", (int)sizeof(bar)); + + if (sizeof (foo) != sizeof (bar)) + abort (); +Index: b/src/gcc/testsuite/g++.dg/opt/alias2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/opt/alias2.C ++++ b/src/gcc/testsuite/g++.dg/opt/alias2.C +@@ -30,14 +30,14 @@ public: + + + _Deque_base::~_Deque_base() { +- printf ("bb %x %x\n", this, *_M_start._M_node); ++ printf ("bb %p %x\n", this, *_M_start._M_node); + } + + void + _Deque_base::_M_initialize_map() + { + yy = 0x123; +- printf ("aa %x %x\n", this, yy); ++ printf ("aa %p %x\n", this, yy); + + _M_start._M_node = &yy; + _M_start._M_cur = yy; +Index: b/src/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C +@@ -33,7 +33,7 @@ struct VBase + void Offset () const + { + printf ("VBase\n"); +- printf (" VBase::member %d\n", &this->VBase::member - (int *)this); ++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this)); + } + }; + +@@ -55,8 +55,8 @@ struct VDerived : virtual VBase + void Offset () const + { + printf ("VDerived\n"); +- printf (" VBase::member %d\n", &this->VBase::member - (int *)this); +- printf (" VDerived::member %d\n", &this->VDerived::member - (int *)this); ++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this)); ++ printf (" VDerived::member %d\n", (int)(&this->VDerived::member - (int *)this)); + } + }; + struct B : virtual VBase +@@ -65,8 +65,8 @@ struct B : virtual VBase + void Offset () const + { + printf ("B\n"); +- printf (" VBase::member %d\n", &this->VBase::member - (int *)this); +- printf (" B::member %d\n", &this->B::member - (int *)this); ++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this)); ++ printf (" B::member %d\n", (int)(&this->B::member - (int *)this)); + } + }; + struct MostDerived : B, virtual VDerived +@@ -75,10 +75,10 @@ struct MostDerived : B, virtual VDerived + void Offset () const + { + printf ("MostDerived\n"); +- printf (" VBase::member %d\n", &this->VBase::member - (int *)this); +- printf (" B::member %d\n", &this->B::member - (int *)this); +- printf (" VDerived::member %d\n", &this->VDerived::member - (int *)this); +- printf (" MostDerived::member %d\n", &this->MostDerived::member - (int *)this); ++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this)); ++ printf (" B::member %d\n", (int)(&this->B::member - (int *)this)); ++ printf (" VDerived::member %d\n", (int)(&this->VDerived::member - (int *)this)); ++ printf (" MostDerived::member %d\n", (int)(&this->MostDerived::member - (int *)this)); + } + }; + +@@ -95,10 +95,10 @@ int main () + if (ctorVDerived != &dum.VDerived::member) + return 24; + +- printf (" VBase::member %d\n", &dum.VBase::member - this_); +- printf (" B::member %d\n", &dum.B::member - this_); +- printf (" VDerived::member %d\n", &dum.VDerived::member - this_); +- printf (" MostDerived::member %d\n", &dum.MostDerived::member - this_); ++ printf (" VBase::member %d\n", (int)(&dum.VBase::member - this_)); ++ printf (" B::member %d\n", (int)(&dum.B::member - this_)); ++ printf (" VDerived::member %d\n", (int)(&dum.VDerived::member - this_)); ++ printf (" MostDerived::member %d\n", (int)(&dum.MostDerived::member - this_)); + dum.MostDerived::Offset (); + dum.B::Offset (); + dum.VDerived::Offset (); +Index: b/src/gcc/testsuite/g++.old-deja/g++.brendan/template8.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.brendan/template8.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.brendan/template8.C +@@ -15,6 +15,6 @@ int main(){ + + Double_alignt<20000> heap; + +- printf(" &heap.array[0] = %d, &heap.for_alignt = %d\n", &heap.array[0], &heap.for_alignt); ++ printf(" &heap.array[0] = %p, &heap.for_alignt = %p\n", (void*)&heap.array[0], (void*)&heap.for_alignt); + + } +Index: b/src/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C +@@ -16,7 +16,7 @@ int main() + } + + catch (E *&e) { +- printf ("address of e is 0x%lx\n", (__SIZE_TYPE__)e); ++ printf ("address of e is %p\n", (void *)e); + return !((__SIZE_TYPE__)e != 5 && e->x == 5); + } + return 2; +Index: b/src/gcc/testsuite/g++.old-deja/g++.jason/access23.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.jason/access23.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.jason/access23.C +@@ -42,19 +42,19 @@ public: + void DoSomething() { + PUB_A = 0; + Foo::A = 0; +- printf("%x\n",pX); ++ printf("%p\n",pX); + Foo::PUB.A = 0; +- printf("%x\n",PUB.pX); ++ printf("%p\n",PUB.pX); + B = 0; +- printf("%x\n",Foo::pY); ++ printf("%p\n",Foo::pY); + PRT_A = 0; + PRT.B = 0; +- printf("%x\n",Foo::PRT.pY); ++ printf("%p\n",Foo::PRT.pY); + PRV_A = 0; // { dg-error "" } + Foo::C = 0; // { dg-error "" } +- printf("%x\n",pZ); // { dg-error "" } ++ printf("%p\n",pZ); // { dg-error "" } + Foo::PRV.C = 0; // { dg-error "" } +- printf("%x\n",PRV.pZ); // { dg-error "" } ++ printf("%p\n",PRV.pZ); // { dg-error "" } + } + }; + +@@ -64,17 +64,17 @@ int main() + + a.PUB_A = 0; + a.A = 0; +- printf("%x\n",a.pX); ++ printf("%p\n",a.pX); + a.PRT_A = 0; // { dg-error "" } + a.B = 0; // { dg-error "" } +- printf("%x\n",a.pY); // { dg-error "" } ++ printf("%p\n",a.pY); // { dg-error "" } + a.PRV_A = 0; // { dg-error "" } + a.C = 0; // { dg-error "" } +- printf("%x\n",a.pZ); // { dg-error "" } ++ printf("%p\n",a.pZ); // { dg-error "" } + a.PUB.A = 0; +- printf("%x\n",a.PUB.pX); ++ printf("%p\n",a.PUB.pX); + a.PRT.B = 0; // { dg-error "" } +- printf("%x\n",a.PRT.pY); // { dg-error "" } ++ printf("%p\n",a.PRT.pY); // { dg-error "" } + a.PRV.C = 0; // { dg-error "" } +- printf("%x\n",a.PRV.pZ); // { dg-error "" } ++ printf("%p\n",a.PRV.pZ); // { dg-error "" } + } +Index: b/src/gcc/testsuite/g++.old-deja/g++.law/cvt8.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.law/cvt8.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.law/cvt8.C +@@ -20,12 +20,12 @@ struct B { + B::operator const A&() const { + static A a; + a.i = i; +- printf("convert B to A at %x\n", &a); ++ printf("convert B to A at %p\n", (void*)&a); + return a; + } + + void f(A &a) { // { dg-message "" } in passing argument +- printf("A at %x is %d\n", &a, a.i); ++ printf("A at %p is %d\n", (void*)&a, a.i); + } + + int main() { +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/net35.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/net35.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/net35.C +@@ -17,10 +17,10 @@ public: + + int main() { + C c; +- printf("&c.x = %x\n", &c.x); +- printf("&c.B1::x = %x\n", &c.B1::x); +- printf("&c.B2::x = %x\n", &c.B2::x); +- printf("&c.A::x = %x\n", &c.A::x); ++ printf("&c.x = %p\n", (void*)&c.x); ++ printf("&c.B1::x = %p\n", (void*)&c.B1::x); ++ printf("&c.B2::x = %p\n", (void*)&c.B2::x); ++ printf("&c.A::x = %p\n", (void*)&c.A::x); + if (&c.x != &c.B1::x + || &c.x != &c.B2::x + || &c.x != &c.A::x) +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/offset1.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/offset1.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/offset1.C +@@ -6,7 +6,7 @@ int fail = 0; + class Foo { + public: + virtual void setName() { +- printf("Foo at %x\n", this); ++ printf("Foo at %p\n", (void*)this); + if (vp != (void*)this) + fail = 1; + } +@@ -15,7 +15,7 @@ public: + class Bar : public Foo { + public: + virtual void init(int argc, char **argv) { +- printf("Bar's Foo at %x\n", (Foo*)this); ++ printf("Bar's Foo at %p\n", (void*)(Foo*)this); + vp = (void*)(Foo*)this; + setName(); + } +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p12306.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p12306.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p12306.C +@@ -18,7 +18,7 @@ public: + if (ptr2 != &(*this).slist) + fail = 6; + +- if (0) printf("at %x %x\n", (RWSlistIterator*)this, &(*this).slist); ++ if (0) printf("at %p %p\n", (void*)(RWSlistIterator*)this, (void*)&(*this).slist); + } + }; + +@@ -54,14 +54,14 @@ Sim_Event_Manager::Sim_Event_Manager () + void Sim_Event_Manager::post_event () { + ptr1 = (RWSlistIterator*)&last_posted_event_position_; + ptr2 = &((RWSlistIterator*)&last_posted_event_position_)->slist; +- if (0) printf("at %x %x\n", (RWSlistIterator*)&last_posted_event_position_, +- &((RWSlistIterator*)&last_posted_event_position_)->slist); ++ if (0) printf("at %p %p\n", (void*)(RWSlistIterator*)&last_posted_event_position_, ++ (void*)&((RWSlistIterator*)&last_posted_event_position_)->slist); + if (ptr1 != (RWSlistIterator*)&last_posted_event_position_) + fail = 1; + if (ptr2 != &((RWSlistIterator&)last_posted_event_position_).slist) + fail = 2; +- if (0) printf("at %x ?%x\n", (RWSlistIterator*)&last_posted_event_position_, +- &((RWSlistIterator&)last_posted_event_position_).slist); ++ if (0) printf("at %p ?%p\n", (void*)(RWSlistIterator*)&last_posted_event_position_, ++ (void*)&((RWSlistIterator&)last_posted_event_position_).slist); + if (ptr1 != (RWSlistIterator*)&last_posted_event_position_) + fail = 3; + if (ptr2 != &((RWSlistIterator&)last_posted_event_position_).slist) +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p3579.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p3579.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p3579.C +@@ -7,26 +7,26 @@ int num_x; + + class Y { + public: +- Y () { printf("Y() this: %x\n", this); } +- ~Y () { printf("~Y() this: %x\n", this); } ++ Y () { printf("Y() this: %p\n", (void*)this); } ++ ~Y () { printf("~Y() this: %p\n", (void*)this); } + }; + + class X { + public: + X () { + ++num_x; +- printf("X() this: %x\n", this); ++ printf("X() this: %p\n", (void*)this); + Y y; + *this = (X) y; + } + +- X (const Y & yy) { printf("X(const Y&) this: %x\n", this); ++num_x; } ++ X (const Y & yy) { printf("X(const Y&) this: %p\n", (void*)this); ++num_x; } + X & operator = (const X & xx) { +- printf("X.op=(X&) this: %x\n", this); ++ printf("X.op=(X&) this: %p\n", (void*)this); + return *this; + } + +- ~X () { printf("~X() this: %x\n", this); --num_x; } ++ ~X () { printf("~X() this: %p\n", (void*)this); --num_x; } + }; + + int main (int, char **) { +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C +@@ -38,7 +38,7 @@ public: + virtual void xx(int doit) { + --num; + if (ptr != this) +- printf("FAIL\n%x != %x\n", ptr, this); ++ printf("FAIL\n%p != %p\n", ptr, (void*)this); + printf ("C is destructed.\n"); + B::xx (0); + if (doit) A::xx (1); +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C +@@ -48,7 +48,7 @@ public: + virtual void xx(int doit) { + --num; + if (ptr != this) { +- printf("FAIL\n%x != %x\n", ptr, this); ++ printf("FAIL\n%p != %p\n", ptr, (void*)this); + exit(1); + } + printf ("D is destructed.\n"); +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p3708.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708.C +@@ -38,7 +38,7 @@ public: + virtual void xx(int doit) { + --num; + if (ptr != this) +- printf("FAIL\n%x != %x\n", ptr, this); ++ printf("FAIL\n%p != %p\n", ptr, (void*)this); + printf ("C is destructed.\n"); + B::xx (0); + if (doit) A::xx (1); +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p646.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p646.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p646.C +@@ -35,20 +35,20 @@ int foo::si = 0; + foo::foo () + { + si++; +- printf ("new foo @ 0x%x; now %d foos\n", this, si); ++ printf ("new foo @ %p; now %d foos\n", (void*)this, si); + } + + foo::foo (const foo &other) + { + si++; +- printf ("another foo @ 0x%x; now %d foos\n", this, si); ++ printf ("another foo @ %p; now %d foos\n", (void*)this, si); + *this = other; + } + + foo::~foo () + { + si--; +- printf ("deleted foo @ 0x%x; now %d foos\n", this, si); ++ printf ("deleted foo @ %p; now %d foos\n", (void*)this, si); + } + + int +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p710.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p710.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p710.C +@@ -30,7 +30,7 @@ class B + virtual ~B() {} + void operator delete(void*,size_t s) + { +- printf("B::delete() %d\n",s); ++ printf("B::delete() %u\n",(unsigned int)s); + } + void operator delete(void*){} + }; +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p789a.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p789a.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p789a.C +@@ -13,10 +13,10 @@ struct foo + int x; + foo () { + x = count++; +- printf("this %d = %x\n", x, (void *)this); ++ printf("this %d = %p\n", x, (void *)this); + } + virtual ~foo () { +- printf("this %d = %x\n", x, (void *)this); ++ printf("this %d = %p\n", x, (void *)this); + --count; + } + }; +@@ -31,7 +31,7 @@ int main () + { + for (int j = 0; j < 3; j++) + { +- printf("&a[%d][%d] = %x\n", i, j, (void *)&array[i][j]); ++ printf("&a[%d][%d] = %p\n", i, j, (void *)&array[i][j]); + } + } + // The count should be nine, if not, fail the test. +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C +@@ -42,7 +42,7 @@ B_table b; + bar jar; + + int main() { +- printf("ptr to B_table=%x, ptr to A_table=%x\n",&b,(A_table*)&b); ++ printf("ptr to B_table=%p, ptr to A_table=%p\n",(void*)&b,(void*)(A_table*)&b); + B_table::B_ti_fn z = &B_table::func1; + int j = 1; + jar.call_fn_fn1(j,(void *)&z); +Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/temp.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.mike/temp.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/temp.C +@@ -7,11 +7,11 @@ class T { + public: + T() { + i = 1; +- printf("T() at %x\n", this); ++ printf("T() at %p\n", (void*)this); + } + T(const T& o) { + i = o.i; +- printf("T(const T&) at %x <-- %x\n", this, &o); ++ printf("T(const T&) at %p <-- %p\n", (void*)this, (void*)&o); + } + T operator +(const T& o) { + T r; +@@ -21,7 +21,7 @@ public: + operator int () { + return i; + } +- ~T() { printf("~T() at %x\n", this); } ++ ~T() { printf("~T() at %p\n", (void*)this); } + } s, b; + + int foo() { return getenv("TEST") == 0; } +Index: b/src/gcc/testsuite/g++.old-deja/g++.other/temporary1.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.other/temporary1.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.other/temporary1.C +@@ -5,16 +5,16 @@ int c, d; + class Foo + { + public: +- Foo() { printf("Foo() 0x%08lx\n", (__SIZE_TYPE__)this); ++c; } +- Foo(Foo const &) { printf("Foo(Foo const &) 0x%08lx\n", (__SIZE_TYPE__)this); } +- ~Foo() { printf("~Foo() 0x%08lx\n", (__SIZE_TYPE__)this); ++d; } ++ Foo() { printf("Foo() %p\n", (void*)this); ++c; } ++ Foo(Foo const &) { printf("Foo(Foo const &) %p\n", (void*)this); } ++ ~Foo() { printf("~Foo() %p\n", (void*)this); ++d; } + }; + + // Bar creates constructs a temporary Foo() as a default + class Bar + { + public: +- Bar(Foo const & = Foo()) { printf("Bar(Foo const &) 0x%08lx\n", (__SIZE_TYPE__)this); } ++ Bar(Foo const & = Foo()) { printf("Bar(Foo const &) %p\n", (void*)this); } + }; + + void fakeRef(Bar *) +Index: b/src/gcc/testsuite/g++.old-deja/g++.other/virtual8.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.other/virtual8.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.other/virtual8.C +@@ -4,7 +4,7 @@ extern "C" int printf (const char*, ...) + struct A + { + virtual void f () { +- printf ("%x\n", this); ++ printf ("%p\n", (void*)this); + } + }; + +Index: b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C +@@ -13,7 +13,7 @@ struct S + + template + void f(U u) +- { printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); } ++ { printf ("In S::f(U)\nsizeof(U) == %d\n", (int)sizeof(u)); } + + int c[16]; + }; +Index: b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C +@@ -13,7 +13,7 @@ struct S + + template + void f(U u) +- { printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); } ++ { printf ("In S::f(U)\nsizeof(U) == %d\n", (int)sizeof(u)); } + + int c[16]; + }; +Index: b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C +@@ -6,7 +6,7 @@ template + struct S + { + template +- void f(U u) { printf ("%d\n", sizeof (U)); } ++ void f(U u) { printf ("%d\n", (int)sizeof (U)); } + + int i[4]; + }; +Index: b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C +@@ -16,7 +16,7 @@ template + template + void S::f(U u) + { +- printf ("%d\n", sizeof (U)); ++ printf ("%d\n", (int)sizeof (U)); + } + + +Index: b/src/gcc/testsuite/g++.old-deja/g++.pt/t39.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.pt/t39.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/t39.C +@@ -10,9 +10,9 @@ struct frob { + + template + void frob::print () { +- printf ("this = %08x\n", this); +- printf (" ptr = %08x\n", ptr); +- printf (" values = %x %x %x ...\n", ptr[0], ptr[1], ptr[2]); ++ printf ("this = %p\n", (void*)this); ++ printf (" ptr = %p\n", (void*)ptr); ++ printf (" values = %x %x %x ...\n", (int)ptr[0], (int)ptr[1], (int)ptr[2]); + } + + static int x[10]; +Index: b/src/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C +=================================================================== +--- a/src/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C ++++ b/src/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C +@@ -44,15 +44,15 @@ int main() + A * a = new B; + B * b = dynamic_cast(a); + +- printf("%p\n",b); // (*2*) ++ printf("%p\n",(void*)b); // (*2*) + b->print(); + + a = b; +- printf("%p\n",a); ++ printf("%p\n",(void*)a); + a->print(); + + a = a->clone(); +- printf("%p\n",a); ++ printf("%p\n",(void*)a); + a->print(); // (*1*) + + return 0; +Index: b/src/gcc/testsuite/gcc.dg/pch/inline-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pch/inline-4.c ++++ b/src/gcc/testsuite/gcc.dg/pch/inline-4.c +@@ -1,6 +1,6 @@ + #include "inline-4.h" + extern int printf (const char *, ...); + int main(void) { +- printf (getstring()); ++ printf ("%s", getstring()); + return 0; + } --- gcc-7-7.1.0.orig/debian/patches/testsuite-hardening-updates.diff +++ gcc-7-7.1.0/debian/patches/testsuite-hardening-updates.diff @@ -0,0 +1,144 @@ +# DP: Fix some gcc and g++ testcases to pass with hardening defaults + +--- + src/gcc/testsuite/c-c++-common/asan/strncpy-overflow-1.c | 2 +- + src/gcc/testsuite/c-c++-common/cilk-plus/CK/spawnee_inline.c | 2 +- + src/gcc/testsuite/g++.dg/asan/asan_test.C | 2 +- + src/gcc/testsuite/g++.dg/asan/interception-malloc-test-1.C | 2 +- + src/gcc/testsuite/g++.dg/fstack-protector-strong.C | 2 +- + src/gcc/testsuite/gcc.c-torture/execute/memset-1.c | 1 - + src/gcc/testsuite/gcc.c-torture/execute/memset-1.x | 5 +++++ + src/gcc/testsuite/gcc.dg/fstack-protector-strong.c | 2 +- + src/gcc/testsuite/gcc.dg/stack-usage-1.c | 2 +- + src/gcc/testsuite/gcc.dg/superblock.c | 2 +- + src/gcc/testsuite/gcc.target/i386/sw-1.c | 2 +- + 11 files changed, 14 insertions(+), 10 deletions(-) + +Index: b/src/gcc/testsuite/g++.dg/asan/asan_test.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/asan/asan_test.C ++++ b/src/gcc/testsuite/g++.dg/asan/asan_test.C +@@ -2,7 +2,7 @@ + // { dg-skip-if "" { *-*-* } { "*" } { "-O2" } } + // { dg-skip-if "" { *-*-* } { "-flto" } { "" } } + // { dg-additional-sources "asan_globals_test-wrapper.cc" } +-// { dg-options "-std=c++11 -fsanitize=address -fno-builtin -Wall -Werror -g -DASAN_UAR=0 -DASAN_HAS_EXCEPTIONS=1 -DASAN_HAS_BLACKLIST=0 -DSANITIZER_USE_DEJAGNU_GTEST=1 -lasan -lpthread -ldl" } ++// { dg-options "-std=c++11 -fsanitize=address -fno-builtin -Wall -Werror -Wno-unused-result -g -DASAN_UAR=0 -DASAN_HAS_EXCEPTIONS=1 -DASAN_HAS_BLACKLIST=0 -DSANITIZER_USE_DEJAGNU_GTEST=1 -lasan -lpthread -ldl" } + // { dg-additional-options "-DASAN_NEEDS_SEGV=1" { target { ! arm*-*-* } } } + // { dg-additional-options "-DASAN_LOW_MEMORY=1 -DASAN_NEEDS_SEGV=0" { target arm*-*-* } } + // { dg-additional-options "-DASAN_AVOID_EXPENSIVE_TESTS=1" { target { ! run_expensive_tests } } } +Index: b/src/gcc/testsuite/g++.dg/asan/interception-malloc-test-1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/asan/interception-malloc-test-1.C ++++ b/src/gcc/testsuite/g++.dg/asan/interception-malloc-test-1.C +@@ -1,7 +1,7 @@ + // ASan interceptor can be accessed with __interceptor_ prefix. + + // { dg-do run { target *-*-linux* } } +-// { dg-options "-fno-builtin-free" } ++// { dg-options "-fno-builtin-free -Wno-unused-result" } + // { dg-additional-options "-D__NO_INLINE__" { target { *-*-linux-gnu } } } + // { dg-shouldfail "asan" } + +Index: b/src/gcc/testsuite/gcc.c-torture/execute/memset-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/execute/memset-1.c ++++ b/src/gcc/testsuite/gcc.c-torture/execute/memset-1.c +@@ -1,3 +1,5 @@ ++/* { dg-prune-output ".*warning: memset used with constant zero length parameter.*" } */ ++ + /* Copyright (C) 2002 Free Software Foundation. + + Test memset with various combinations of pointer alignments and lengths to +Index: b/src/gcc/testsuite/c-c++-common/asan/strncpy-overflow-1.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/asan/strncpy-overflow-1.c ++++ b/src/gcc/testsuite/c-c++-common/asan/strncpy-overflow-1.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-options "-fno-builtin-malloc -fno-builtin-strncpy" } */ ++/* { dg-options "-fno-builtin-malloc -fno-builtin-strncpy -U_FORTIFY_SOURCE" } */ + /* { dg-shouldfail "asan" } */ + + #include +Index: b/src/gcc/testsuite/gcc.dg/superblock.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/superblock.c ++++ b/src/gcc/testsuite/gcc.dg/superblock.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-asynchronous-unwind-tables -fsched2-use-superblocks -fdump-rtl-sched2 -fdump-rtl-bbro" } */ ++/* { dg-options "-O2 -fno-asynchronous-unwind-tables -fsched2-use-superblocks -fdump-rtl-sched2 -fdump-rtl-bbro -fno-stack-protector" } */ + /* { dg-require-effective-target scheduling } */ + + typedef int aligned __attribute__ ((aligned (64))); +Index: b/src/gcc/testsuite/gcc.dg/stack-usage-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/stack-usage-1.c ++++ b/src/gcc/testsuite/gcc.dg/stack-usage-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-fstack-usage" } */ ++/* { dg-options "-fstack-usage -fno-stack-protector" } */ + /* nvptx doesn't have a reg allocator, and hence no stack usage data. */ + /* { dg-skip-if "" { nvptx-*-* } { "*" } { "" } } */ + +Index: b/src/gcc/testsuite/gcc.target/i386/sw-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/sw-1.c ++++ b/src/gcc/testsuite/gcc.target/i386/sw-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mtune=generic -fshrink-wrap -fdump-rtl-pro_and_epilogue" } */ ++/* { dg-options "-O2 -mtune=generic -fshrink-wrap -fdump-rtl-pro_and_epilogue -fno-stack-protector" } */ + /* { dg-skip-if "No shrink-wrapping preformed" { x86_64-*-mingw* } { "*" } { "" } } */ + + #include +Index: b/src/gcc/testsuite/c-c++-common/cilk-plus/CK/spawnee_inline.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/cilk-plus/CK/spawnee_inline.c ++++ b/src/gcc/testsuite/c-c++-common/cilk-plus/CK/spawnee_inline.c +@@ -1,6 +1,6 @@ + /* { dg-do run } */ + /* { dg-require-effective-target cilkplus_runtime } */ +-/* { dg-options "-fcilkplus -w" } */ ++/* { dg-options "-fcilkplus -w -U_FORTIFY_SOURCE" } */ + + #include + #include +Index: b/src/gcc/testsuite/gcc.dg/fstack-protector-strong.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/fstack-protector-strong.c ++++ b/src/gcc/testsuite/gcc.dg/fstack-protector-strong.c +@@ -1,7 +1,7 @@ + /* Test that stack protection is done on chosen functions. */ + + /* { dg-do compile { target i?86-*-* x86_64-*-* rs6000-*-* s390x-*-* } } */ +-/* { dg-options "-O2 -fstack-protector-strong" } */ ++/* { dg-options "-O2 -fstack-protector-strong -U_FORTIFY_SOURCE" } */ + + /* This test checks the presence of __stack_chk_fail function in assembler. + * Compiler generates _stack_chk_fail_local (wrapper) calls instead for PIC. +Index: b/src/gcc/testsuite/g++.dg/fstack-protector-strong.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/fstack-protector-strong.C ++++ b/src/gcc/testsuite/g++.dg/fstack-protector-strong.C +@@ -1,7 +1,7 @@ + /* Test that stack protection is done on chosen functions. */ + + /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-options "-O2 -fstack-protector-strong" } */ ++/* { dg-options "-O2 -fstack-protector-strong -U_FORTIFY_SOURCE" } */ + + /* This test checks the presence of __stack_chk_fail function in assembler. + * Compiler generates _stack_chk_fail_local (wrapper) calls instead for PIC. +Index: b/src/gcc/testsuite/gcc.c-torture/execute/memset-1.x +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.c-torture/execute/memset-1.x +@@ -0,0 +1,5 @@ ++# Implement "/* { dg-options "-U_FORITFY_SOURCE" } */", due to ++# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20567 ++ ++set additional_flags "-U_FORTIFY_SOURCE" ++return 0 --- gcc-7-7.1.0.orig/debian/porting.html +++ gcc-7-7.1.0/debian/porting.html @@ -0,0 +1,30 @@ + + +Porting libstdc++-v3 + + + + + + + +

    Porting libstdc++-v3

    +
    +


    +Node: Top, +Next: , +Up: (dir) +
    +
    + +The documentation in this file was removed, because it is licencensed +under a non DFSG conforming licencse. + + --- gcc-7-7.1.0.orig/debian/reduce-test-diff.awk +++ gcc-7-7.1.0/debian/reduce-test-diff.awk @@ -0,0 +1,33 @@ +#! /usr/bin/gawk -f + +BEGIN { + skip=0 + warn=0 +} + +/^-(FAIL|ERROR|UNRESOLVED|WARNING)/ { + next +} + +# only compare gcc, g++, g77 and objc results +/=== treelang tests ===/ { + skip=1 +} + +# omit extra files appended to test-summary +/^\+Compiler version/ { + skip=1 +} + +skip == 0 { + print + next +} + +/^\+(FAIL|ERROR|UNRESOLVED|WARNING)/ { + warn=1 +} + +END { + exit warn +} --- gcc-7-7.1.0.orig/debian/rules +++ gcc-7-7.1.0/debian/rules @@ -0,0 +1,83 @@ +#! /usr/bin/make -f +# -*- makefile -*- +# Build rules for gcc (>= 2.95) and gcc-snapshot +# Targets found in this makefile: +# - unpack tarballs +# - patch sources +# - (re)create the control file +# - create a debian/rules.parameters file, which is included +# by debian/rules2 +# All other targets are passed to the debian/rules2 file + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +unexport LANG LC_ALL LC_CTYPE LC_COLLATE LC_TIME LC_NUMERIC LC_MESSAGES + +default: build + +include debian/rules.defs +include debian/rules.unpack +include debian/rules.patch + +control: $(control_dependencies) + -mkdir -p $(stampdir) + $(MAKE) -f debian/rules.conf $@ + +configure: control $(unpack_stamp) $(patch_stamp) + $(MAKE) -f debian/rules2 $@ + +pre-build: +#ifneq (,$(filter $(distrelease),squeeze sid)) +#ifeq (,$(filter $(DEB_TARGET_ARCH),amd64 i386)) +# @echo explicitely fail the build for $(DEB_TARGET_ARCH) +# @echo no bug report required. please ask the port maintainers if they support gcc-4.5. +# false +#endif +#endif + +build: pre-build control + $(MAKE) $(NJOBS) -f debian/rules2 $@ +build-arch: pre-build control + $(MAKE) $(NJOBS) -f debian/rules2 $@ +build-indep: pre-build control + $(MAKE) $(NJOBS) -f debian/rules2 $@ + +check: $(check_stamp) +$(check_stamp): $(build_stamp) + $(MAKE) -f debian/rules2 $@ + +clean: + rm -rf $(stampdir) +# remove temporary dirs used for unpacking + rm -rf $(gcc_srcdir) $(gdc_srcdir) $(nl_nvptx_srcdir) + -$(MAKE) -f debian/rules2 $@ + rm -rf $(srcdir)* $(builddir)* debian/tmp* html + rm -f bootstrap-* first-move-stamp + rm -f debian/*.tmp + rm -f debian/soname-cache + find debian -name '.#*' | xargs -r rm -f + rm -f $(series_file)* + dh_clean + +install: + $(MAKE) -f debian/rules2 $@ + +html-docs doxygen-docs update-doxygen-docs update-ada-files xxx: + $(MAKE) -f debian/rules2 $@ + +binary-indep binary-arch binary: + $(MAKE) -f debian/rules2 $@ + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +release: + foo=$(shell basename $(CURDIR)); \ + if [ "$$foo" != "gcc-3.4" ]; then \ + find -name CVS -o -name .cvsignore -o -name '.#*' | \ + xargs rm -rf; \ + fi + +.NOTPARALLEL: +.PHONY: build clean binary-indep binary-arch binary release --- gcc-7-7.1.0.orig/debian/rules.conf +++ gcc-7-7.1.0/debian/rules.conf @@ -0,0 +1,1328 @@ +# -*- makefile -*- +# rules.conf +# - used to build debian/control and debian/rules.parameters +# - assumes unpacked sources + +include debian/rules.defs +include debian/rules.sonames + +# manual ... +ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),hppa m68k)) + ifeq ($(DEB_TARGET_ARCH),m68k) + GCC_SONAME := 2 + endif + ifeq ($(DEB_TARGET_ARCH),hppa) + GCC_SONAME := 4 + endif +else + GCC_SONAME := 1 +endif +DEB_LIBGCC_SOVERSION := $(DEB_SOEVERSION) +DEB_LIBGCC_VERSION := $(DEB_EVERSION) + +_soname_map = gcc=$(GCC_SONAME) stdc++=$(CXX_SONAME) gomp=$(GOMP_SONAME) \ + ssp=$(SSP_SONAME) gfortran=$(FORTRAN_SONAME) \ + itm=$(ITM_SONAME) objc=$(OBJC_SONAME) quadmath=$(QUADMATH_SONAME) \ + go=$(GO_SONAME) backtrace=$(BTRACE_SONAME) \ + atomic=$(ATOMIC_SONAME) asan=$(ASAN_SONAME) lsan=$(LSAN_SONAME) \ + tsan=$(TSAN_SONAME) ubsan=$(UBSAN_SONAME) \ + vtv=$(VTV_SONAME) cilkrts=$(CILKRTS_SONAME) mpx=$(MPX_SONAME) \ + gphobos=$(GPHOBOS_SONAME) hsail-rt=$(HSAIL_SONAME) +_soname = $(patsubst $(1)=%,%,$(filter $(1)=%,$(_soname_map))) + +rel_on_dev := $(if $(cross_lib_arch),>=,=) +# $(call _lib_name,,,) +_lib_name = $(subst $(SPACE),, \ + lib$(2)$(1) \ + $(if $(filter dev,$(3)),,$(call _soname,$(1))) \ + $(if $(or $(filter $(3),dev),$(and $(filter $(3),dbg),$(filter $(1),stdc++))),-$(BASE_VERSION)) \ + $(if $(3),-$(3))$(LS)$(AQ)) +# $(call _lib_vers,,) +_lib_vers = ($(if $(filter $(1),dev),$(rel_on_dev),>=) $(2)) + +# Helper to generate biarch/triarch dependencies. +# For example, $(eval $(call gen_multilib_deps,gomp)) will create the +# libgompbiarch variable, and make it contains the libgompbiarch{32,64,n32} +# variables if biarch{32,64,n32} is set to yes. + +define gen_multilib_deps + lib$1biarch64$2 := $(call _lib_name,$(1),64,$(2)) $(call _lib_vers,$(2),$(3)) + lib$1biarch32$2 := $(call _lib_name,$(1),32,$(2)) $(call _lib_vers,$(2),$(3)) + lib$1biarchn32$2 := $(call _lib_name,$(1),n32,$(2)) $(call _lib_vers,$(2),$(3)) + lib$1biarchx32$2 := $(call _lib_name,$(1),x32,$(2)) $(call _lib_vers,$(2),$(3)) + lib$1biarchhf$2 := $(call _lib_name,$(1),hf,$(2)) $(call _lib_vers,$(2),$(3)) + lib$1biarchsf$2 := $(call _lib_name,$(1),sf,$(2)) $(call _lib_vers,$(2),$(3)) + ifeq ($$(biarch64),yes) + lib$1biarch$2 := $$(lib$1biarch64$2) + endif + ifeq ($$(biarch32),yes) + ifeq ($$(biarch64),yes) + lib$1biarch$2 := $$(lib$1biarch64$2), $$(lib$1biarch32$2) + else + lib$1biarch$2 := $$(lib$1biarch32$2) + endif + endif + ifeq ($$(biarchx32),yes) + ifeq ($1,mpx) + ifeq ($$(biarch64),yes) + lib$1biarch$2 := $$(lib$1biarch64$2) + else ifeq ($$(biarch32),yes) + lib$1biarch$2 := $$(lib$1biarch32$2) + else + lib$1biarch$2 := + endif + else ifeq ($$(biarch64),yes) + lib$1biarch$2 := $$(lib$1biarch64$2), $$(lib$1biarchx32$2) + else ifeq ($$(biarch32),yes) + lib$1biarch$2 := $$(lib$1biarch32$2), $$(lib$1biarchx32$2) + else + lib$1biarch$2 := $$(lib$1biarchx32$2) + endif + endif + ifeq ($$(biarchn32),yes) + ifeq ($$(biarch64),yes) + lib$1biarch$2 := $$(lib$1biarch64$2), $$(lib$1biarchn32$2) + else ifeq ($$(biarch32),yes) + lib$1biarch$2 := $$(lib$1biarch32$2), $$(lib$1biarchn32$2) + else + lib$1biarch$2 := $$(lib$1biarchn32$2) + endif + endif + ifeq ($$(biarchhf),yes) + lib$1biarch$2 := $$(lib$1biarchhf$2) | $(call _lib_name,$(1),hf,$(2)) + endif + ifeq ($$(biarchsf),yes) + lib$1biarch$2 := $$(lib$1biarchsf$2) | $(call _lib_name,$(1),sf,$(2)) + endif +endef +ifeq ($(with_shared_libgcc),yes) + LIBGCC_DEP := libgcc$(GCC_SONAME)$(LS)$(AQ) (>= $(DEB_LIBGCC_VERSION)) + $(eval $(call gen_multilib_deps,gcc,,$(DEB_LIBGCC_VERSION))) +endif +LIBGCC_DEV_DEP := libgcc-$(BASE_VERSION)-dev$(LS)$(AQ) ($(rel_on_dev) $(DEB_VERSION)) +$(foreach x,stdc++ gomp ssp gfortran itm objc atomic asan lsan mpx ubsan quadmath go vtv cilkrts, \ + $(eval $(call gen_multilib_deps,$(x),,$$$${gcc:Version}))) +$(foreach x,gcc stdc++ gfortran objc go gphobos, \ + $(eval $(call gen_multilib_deps,$(x),dev,$$$${gcc:Version}))) +$(foreach x,gcc stdc++ gfortran objc go gphobos, \ + $(eval $(call gen_multilib_deps,$(x),dbg,$$$${gcc:Version}))) + +# Helper to generate _no_archs variables. +# For example, $(eval $(call gen_no_archs,go)) will create the go_no_archs +# variable, using the go_no_cpu and go_no_systems variables. +define gen_no_archs + $1_no_archs := + ifneq (,$$($1_no_cpus)) + $1_no_archs += $$(foreach cpu,$$(filter-out i386 amd64 alpha arm,$$($1_no_cpus)),!$$(cpu)) + ifneq (,$$(filter i386,$$($1_no_cpus))) + $1_no_archs += !i386 !hurd-i386 !kfreebsd-i386 + endif + ifneq (,$$(filter amd64,$$($1_no_cpus))) + $1_no_archs += !amd64 !kfreebsd-amd64 + endif + ifneq (,$$(filter alpha,$$($1_no_cpus))) + $1_no_archs += !alpha !hurd-alpha + endif + ifneq (,$$(filter arm,$$($1_no_cpus))) + $1_no_archs += !arm !armel !armhf + endif + ifneq (,$$(strip $3)) + $1_no_systems_tmp := $$(subst $$(SPACE)gnu$$(SPACE),$$(SPACE)hurd-gnu$$(SPACE),$$(SPACE)$3$$(SPACE)) + $1_no_archs += $$(foreach cpu,$$($1_no_cpus),$$(foreach system,$$($1_no_systems_tmp),!$$(subst gnu,$$(cpu),$$(system)))) + endif + endif + ifneq (,$$($1_no_systems)) + $1_no_systems_tmp := $$(subst $$(SPACE)gnu$$(SPACE),$$(SPACE)hurd-gnu$$(SPACE),$$(SPACE)$$($1_no_systems)$$(SPACE)) + $1_no_archs += $$(foreach system,$$($1_no_systems_tmp),$$(foreach cpu,$2,!$$(subst gnu,$$(cpu),$$(system)))) + endif + $1_no_archs := $$(strip $$($1_no_archs)) +endef +base_deb_cpus := amd64 i386 alpha +base_deb_systems := +$(foreach x,ada fortran libgphobos libgc check locale,$(eval $(call gen_no_archs,$(x),$(base_deb_cpus),$(base_deb_systems)))) +linux_no_archs := !hurd-any !kfreebsd-any + +GCC_VERSION := $(strip $(shell cat $(firstword $(wildcard $(srcdir)/gcc/FULL-VER $(srcdir)/gcc/BASE-VER)))) +NEXT_GCC_VERSION := $(shell echo $(GCC_VERSION) | \ + awk -F. '{OFS="."; $$2 += 1; $$3=0; print}') +GCC_MAJOR_VERSION := $(shell echo $(GCC_VERSION) | sed -r 's/([0-9])\.[0-9]\.[0-9]/\1/') +GCC_MINOR_VERSION := $(shell echo $(GCC_VERSION) | sed -r 's/[0-9]\.([0-9])\.[0-9]/\1/') +GCC_RELEASE_VERSION := $(shell echo $(GCC_VERSION) | sed -r 's/[0-9]\.[0-9]\.([0-9])/\1/') +NEXT_GCC_MAJOR_VERSION := $(shell expr $(echo $(GCC_MAJOR_VERSION)) + 1) +NEXT_GCC_MINOR_VERSION := $(shell expr $(echo $(GCC_MINOR_VERSION)) + 1) +NEXT_GCC_RELEASE_VERSION := $(shell expr $(echo $(GCC_MAJOR_VERSION)) + 1) + +ifeq ($(single_package),yes) + BASE_VERSION := $(shell echo $(GCC_VERSION) | sed -e 's/\([1-9]*\).*/\1/') +endif + +GCC_SOURCE_VERSION := $(shell echo $(DEB_VERSION) | sed 's/-.*//') +NEXT_GCC_SOURCE_VERSION := $(shell echo $(GCC_SOURCE_VERSION) | \ + awk -F. '{OFS="."; $$2 += 1; $$3=0; print}') + +MAINTAINER = Debian GCC Maintainers +ifeq ($(distribution),Ubuntu) + ifneq (,$(findstring $(PKGSOURCE),gnat gdc)) + MAINTAINER = Ubuntu MOTU Developers + else + MAINTAINER = Ubuntu Core developers + endif +endif + +UPLOADERS = Matthias Klose +ifneq (,$(findstring $(PKGSOURCE),gnat)) + UPLOADERS = Ludovic Brenta +endif +ifneq (,$(findstring $(PKGSOURCE),gdc)) + UPLOADERS = Iain Buclaw , Matthias Klose +endif + +DPKGV = 1.14.15 +ifeq ($(with_multiarch_lib),yes) + DPKGV = 1.16.0~ubuntu4 +endif +ifeq ($(multiarch_stage1),yes) + DPKGV = 1.16.0~ubuntu4 +endif +ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring saucy trusty utopic)) + DPKGV = 1.17.14 +endif +DPKG_BUILD_DEP = dpkg-dev (>= $(DPKGV)), + +ifeq ($(DEB_HOST_ARCH),$(DEB_TARGET_ARCH)) + TARGET_QUAL = :$(DEB_TARGET_ARCH) +endif + +# The binutils version needed. +# The oldest suitable versions for the various platforms can be found in +# INSTALL/specific.html ; we take a tighter dependency if possible to be on +# the safe side (something like newest( version in stable, versions for the +# various platforms in INSTALL/specific.html) ). +# We need binutils (>= 2.19.1) for a new dwarf unwind expression opcode. +# See http://gcc.gnu.org/ml/gcc-patches/2008-09/msg01713.html +ifeq ($(trunk_build),yes) + BINUTILSBDV = 2.23 +else + BINUTILSBDV = 2.22 + ifneq (,$(filter $(distrelease),vivid)) + BINUTILSBDV = 2.25-3~ + else ifneq (,$(filter $(distrelease),jessie)) + BINUTILSBDV = 2.25-7~ + else ifneq (,$(filter $(distrelease),xenial)) + BINUTILSBDV = 2.26.1 + else ifneq (,$(filter $(distrelease),sid stretch buster zesty artful)) + BINUTILSBDV = 2.28 + endif +endif +ifeq ($(DEB_CROSS),yes) + BINUTILS_BUILD_DEP = binutils$(TS)$(NT) (>= $(BINUTILSBDV)), binutils-multiarch$(NT) (>= $(BINUTILSBDV)) + BINUTILSV := $(shell dpkg -l binutils$(TS) \ + | awk '/^ii/{print $$3;exit}' | sed 's/-.*//') +else + BINUTILS_BUILD_DEP = binutils$(NT) (>= $(BINUTILSBDV)) | binutils-multiarch$(NT) (>= $(BINUTILSBDV)) + ifneq (,$(findstring cross-build-,$(build_type))) + BINUTILSV := $(shell dpkg -l binutils$(TS) \ + | awk '/^ii/{print $$3;exit}' | sed 's/-.*//') + else + BINUTILSV := $(shell dpkg -l binutils binutils-multiarch \ + | awk '/^ii/{print $$3;exit}' | sed 's/-.*//') + endif +endif +ifneq (,$(filter $(build_type), build-native cross-build-native)) + ifeq (,$(filter gccgo% gnat%, $(PKGSOURCE))) + BINUTILS_BUILD_DEP += , $(binutils_hppa64)$(NT) (>= $(BINUTILSBDV)) [$(hppa64_archs)] + endif +endif +ifeq (,$(BINUTILSV)) + BINUTILSV := $(BINUTILSBDV) +endif + +# FIXME; stripping doesn't work with gold +#BINUTILS_BUILD_DEP += , binutils-gold (>= $(BINUTILSV)) [$(gold_archs)] + +# libc-dev dependencies +libc_ver := 2.11 +libc_dev_ver := $(libc_ver) +ifeq ($(with_multiarch_lib),yes) + ifeq ($(derivative),Debian) + libc_dev_ver := 2.13-5 + else + libc_dev_ver := 2.13-0ubuntu6 + endif +endif +# first set LIBC_DEP/LIBC_DEV_DEP for native builds only +ifeq ($(DEB_TARGET_ARCH_OS),linux) + ifneq (,$(findstring $(DEB_TARGET_ARCH),alpha ia64)) + LIBC_DEP = libc6.1 + else + LIBC_DEP = libc6 + endif + ifneq (,$(findstring musl-linux-,$(DEB_TARGET_ARCH))) + LIBC_DEP = musl + libc_ver = 0.9 + libc_dev_ver = 0.9 + endif +else + ifeq ($(DEB_TARGET_ARCH_OS),hurd) + LIBC_DEP = libc0.3 + endif + ifeq ($(DEB_TARGET_ARCH_OS),kfreebsd) + LIBC_DEP = libc0.1 + endif + ifeq ($(DEB_TARGET_ARCH),uclibc) + LIBC_DEP = libuclibc + endif +endif +LIBC_DEV_DEP := $(LIBC_DEP)-dev + +# this is about Debian archs name, *NOT* GNU target triplet +biarch_deb_map := \ + i386=amd64 amd64=i386 \ + mips=mips64 mipsel=mips64 \ + powerpc=ppc64 ppc64=powerpc \ + sparc=sparc64 sparc64=sparc\ + s390=s390x s390x=s390 \ + kfreebsd-amd64=i386 \ + armel=armhf \ + armhf=armel +biarch_deb_arch := $(patsubst $(DEB_TARGET_ARCH)=%,%, \ + $(filter $(DEB_TARGET_ARCH)=%,$(biarch_deb_map))) + +LIBC_BIARCH_DEP := +LIBC_BIARCH_DEV_DEP := +ifneq (,$(findstring yes,$(biarch64) $(biarch32) $(biarchn32) $(biarchx32)$(biarchhf)$(biarchsf))) + LIBC_BIARCH_DEP := $${shlibs:Depends} + LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-$(biarch_deb_arch)$(LS)$(AQ) (>= $(libc_ver)) + # amd64, x32, i386 + ifneq (,$(findstring $(DEB_TARGET_ARCH),amd64 x32 i386)) + ifeq ($(biarch64)$(biarch32),yesyes) + LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-amd64$(LS)$(AQ) (>= $(libc_ver)), $(LIBC_DEV_DEP)-i386$(LS)$(AQ) (>= $(libc_ver)) + endif + ifeq ($(biarch64)$(biarchx32),yesyes) + LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-amd64$(LS)$(AQ) (>= $(libc_ver)), $(LIBC_DEV_DEP)-x32$(LS)$(AQ) (>= $(libc_ver)) + endif + ifeq ($(biarch32)$(biarchx32),yesyes) + LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-i386$(LS)$(AQ) (>= $(libc_ver)), $(LIBC_DEV_DEP)-x32$(LS)$(AQ) (>= $(libc_ver)) + endif + endif + # mips* + ifneq (,$(findstring $(DEB_TARGET_ARCH),mips mipsel mipsn32 mipsn32el mips64 mips64el)) + ifeq ($(biarchn32)$(biarch32),yesyes) + LIBC_BIARCH_DEV_DEP := libc6-dev-mips32$(LS)$(AQ) (>= $(libc_ver)), libc6-dev-mipsn32$(LS)$(AQ) (>= $(libc_ver)) + endif + ifeq ($(biarch64)$(biarch32),yesyes) + triarch := $(COMMA)$(SPACE) + LIBC_BIARCH_DEV_DEP := libc6-dev-mips32$(LS)$(AQ) (>= $(libc_ver)), libc6-dev-mips64$(LS)$(AQ) (>= $(libc_ver)) + endif + ifeq ($(biarchn32)$(biarch64),yesyes) + triarch := $(COMMA)$(SPACE) + LIBC_BIARCH_DEV_DEP := libc6-dev-mips64$(LS)$(AQ) (>= $(libc_ver)), libc6-dev-mipsn32$(LS)$(AQ) (>= $(libc_ver)) + endif + endif + + ifeq ($(biarchhf),yes) + LIBC_BIARCH_DEP := $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ) (>= $(libc_ver)) + LIBC_BIARCH_DEP += | $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ) + LIBC_BIARCH_DEV_DEP += | $(LIBC_DEV_DEP)-$(biarch_deb_arch)$(LS)$(AQ) + endif + ifeq ($(biarchsf),yes) + LIBC_BIARCH_DEP := $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ) (>= $(libc_ver)) + LIBC_BIARCH_DEP += | $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ) + LIBC_BIARCH_DEV_DEP += | $(LIBC_DEV_DEP)-$(biarch_deb_arch)$(LS)$(AQ) + endif +endif + +# now add the cross suffix and required version +LIBC_DEP := $(LIBC_DEP)$(LS)$(AQ) +LIBC_DEV_DEP := $(LIBC_DEV_DEP)$(LS)$(AQ) (>= $(libc_dev_ver)) + +ifneq (,$(filter $(build_type), build-native cross-build-native)) + LIBC_DBG_DEP = libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg, +endif + +# TODO: make this automatic, there must be a better way to define LIBC_DEP. +ifneq ($(DEB_CROSS),yes) + LIBC_BUILD_DEP = libc6.1-dev (>= $(libc_dev_ver)) [alpha ia64] | libc0.3-dev (>= $(libc_dev_ver)) [hurd-i386] | libc0.1-dev (>= $(libc_dev_ver)) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= $(libc_dev_ver)) + ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick natty oneiric)) + LIBC_BUILD_DEP += , libc6-dev (>= 2.13-31) [armel armhf] + endif + LIBC_BIARCH_BUILD_DEP = libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el], + ifneq (,$(findstring amd64,$(biarchx32archs))) + LIBC_BIARCH_BUILD_DEP += libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386], +endif +ifneq (,$(findstring armel,$(biarchhfarchs))) + LIBC_BIARCH_BUILD_DEP += libc6-dev-armhf [armel], libhfgcc1 [armel], +endif +ifneq (,$(findstring armhf,$(biarchsfarchs))) + LIBC_BIARCH_BUILD_DEP += libc6-dev-armel [armhf], libsfgcc1 [armhf], +endif +else + LIBC_BUILD_DEP = $(LIBC_DEV_DEP), + ifneq ($(LIBC_BIARCH_DEV_DEP),) + LIBC_BIARCH_BUILD_DEP = $(LIBC_BIARCH_DEV_DEP), + else + LIBC_BIARCH_BUILD_DEP = + endif +endif + +# needed for the include/asm symlink to run the testsuite for +# non default multilibs +ifneq (,$(multilib_archs)) + GCC_MULTILIB_BUILD_DEP = g++-multilib [$(multilib_archs)]$(pf_ncross), +endif + +LIBUNWIND_DEV_DEP := libunwind7-dev$(LS)$(AQ) (>= 0.98.5-6) +LIBUNWIND_BUILD_DEP := $(LIBUNWIND_DEV_DEP) [ia64], +LIBATOMIC_OPS_BUILD_DEP := libatomic-ops-dev$(LS) [ia64], +ifneq ($(DEB_TARGET_ARCH),ia64) + LIBUNWIND_DEV_DEP := # nothing +endif + +ifneq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick natty)) + GMP_BUILD_DEP = libgmp3-dev | libgmp-dev (>= 2:5.0.1~), + MPFR_BUILD_DEP = libmpfr-dev, +else + GMP_BUILD_DEP = libgmp-dev (>= 2:5.0.1~), + MPFR_BUILD_DEP = libmpfr-dev (>= 3.0.0-9~), +endif + +ISL_BUILD_DEP = libisl-dev, +ifneq (,$(filter $(distrelease),jessie stretch sid experimental)) + ISL_BUILD_DEP = libisl-dev (>= 0.14), +endif + +ifneq (,$(filter $(distrelease),lenny etch squeeze wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring)) + MPC_BUILD_DEP = libmpc-dev, +else + MPC_BUILD_DEP = libmpc-dev (>= 1.0), +endif + +SOURCE_BUILD_DEP := +ifeq (,$(findstring gcc,$(PKGSOURCE))) + SOURCE_BUILD_DEP := gcc-$(BASE_VERSION)-source (>= $(GCC_SOURCE_VERSION)), gcc-$(BASE_VERSION)-source (<< $(NEXT_GCC_SOURCE_VERSION)), +endif + +CHECK_BUILD_DEP := dejagnu [$(check_no_archs)], + +AUTO_BUILD_DEP := m4, libtool, +AUTO_BUILD_DEP += autoconf2.64, + +ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring saucy trusty)) + SDT_BUILD_DEP = systemtap-sdt-dev [linux-any kfreebsd-any hurd-any], +endif + +# ensure that the common libs, built from the next GCC version are available +ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + ifneq ($(with_common_libs),yes) + BASE_BUILD_DEP = gcc-7-base, + endif +endif + +OFFLOAD_BUILD_DEP += nvptx-tools [$(nvptx_archs)], + +PHOBOS_BUILD_DEP = lib32z1-dev [amd64 kfreebsd-amd64], lib64z1-dev [i386], +ifeq ($(derivative),Ubuntu) + PHOBOS_BUILD_DEP += libx32z1-dev [amd64 kfreebsd-amd64 i386], +endif + +ifneq ($(DEB_CROSS),yes) +# all archs for which to create b-d's +any_archs = alpha amd64 armel armhf arm64 i386 mips mipsel mips64 mips64el powerpc ppc64 ppc64el m68k sh4 sparc64 s390x x32 +arch_gnutype_map = \ + alpha=alpha-linux-gnu \ + amd64=x86-64-linux-gnu \ + armel=arm-linux-gnueabi \ + armhf=arm-linux-gnueabihf \ + arm64=aarch64-linux-gnu \ + i386=i686-linux-gnu \ + mips=mips-linux-gnu \ + mipsel=mipsel-linux-gnu \ + mips64=mips64-linux-gnuabi64 \ + mips64el=mips64el-linux-gnuabi64 \ + powerpc=powerpc-linux-gnu \ + ppc64=powerpc64-linux-gnu \ + ppc64el=powerpc64le-linux-gnu \ + m68k=m68k-linux-gnu \ + sh4=sh4-linux-gnu \ + sparc64=sparc64-linux-gnu \ + s390x=s390x-linux-gnu \ + x32=x86-64-linux-gnux32 + +_element = $(filter $1=%,$(arch_gnutype_map)) +_gnu_type = $(subst $1=,,$(filter $1=%,$(arch_gnutype_map))) + +ifneq (,$(filter $(distrelease),lenny etch squeeze wheezy wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring saucy trusty utopic vivid)) + DEBHELPER_BUILD_DEP = debhelper (>= 9), + TARGET_TOOL_BUILD_DEP = bash, # non-empty line + pf_cross = + pf_ncross = +else + DEBHELPER_BUILD_DEP = debhelper (>= 9.20141010), + TARGET_TOOL_BUILD_DEP = \ + $(foreach a, $(any_archs), \ + g++-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] , \ + $(if $(filter $(a), avr),, \ + gobjc-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] ,) \ + gfortran-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] , \ + $(if $(filter $(a), s390 sh4),, \ + gdc-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] ,) \ + $(if $(filter $(a), hppa m68k sh4),, \ + gccgo-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] ,) \ + $(if $(filter $(a), m68k),, \ + gnat-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] ,) \ + ) + pf_cross = $(SPACE) + pf_ncross = $(SPACE) + NT = :native +endif + +ifeq ($(single_package),yes) + LIBSTDCXX_BUILD_INDEP = doxygen (>= 1.7.2), graphviz (>= 2.2), ghostscript, texlive-latex-base + LIBSTDCXX_BUILD_INDEP +=, xsltproc, libxml2-utils, docbook-xsl-ns +endif + +ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + LIBSTDCXX_BUILD_INDEP = doxygen (>= 1.7.2), graphviz (>= 2.2), ghostscript, texlive-latex-base + ifeq (,$(filter $(distrelease),lenny etch dapper hardy jaunty karmic lucid maverick natty oneiric)) + LIBSTDCXX_BUILD_INDEP +=, xsltproc, libxml2-utils, docbook-xsl-ns + endif +endif + +GO_BUILD_DEP := netbase, + +# try to build with itself, or with the last version +ifneq (,$(filter $(distrelease), jessie)) + gnat_build_dep := gnat-4.9$(NT) [$(ada_no_archs)], g++-4.9$(NT) +else ifneq (,$(filter $(distrelease), wheezy precise trusty wily xenial)) + gnat_build_dep := gnat-5$(NT) [$(ada_no_archs)], g++-5$(NT) +else ifneq (,$(filter $(distrelease), stretch buster sid yakkety zesty artful)) + gnat_build_dep := gnat-6$(NT) [$(ada_no_archs) !powerpcspe !x32], g++-7 [powerpcspe x32], gnat-7 [powerpcspe x32], g++-6$(NT) + gnat_build_dep := g++-6$(NT), gnat-7$(NT) [$(ada_no_archs)], g++-7$(NT) +else ifneq (,$(filter $(distrelease), squeeze lucid)) + gnat_build_dep := +else + gnat_build_dep := gnat$(NT) [$(ada_no_archs)] +endif + +ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + ifneq ($(with_separate_gnat),yes) + # Build gnat as part of the combined gcc-x.y source package. Do not fail + # if gnat is not present on unsupported architectures; the build scripts + # will not use gnat anyway. + GNAT_BUILD_DEP := $(gnat_build_dep), + endif +else ifeq ($(single_package),yes) + # Ditto, as part of the gcc-snapshot package. + GNAT_BUILD_DEP := $(gnat_build_dep), +else ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) + # Special source package just for gnat. Fail early if gnat is not present, + # rather than waste CPU cycles and fail later. + # Bootstrap step needs a gnatgcc symbolic link. + GNAT_BUILD_DEP := $(gnat_build_dep), + GNAT_BUILD_DEP += $(SOURCE_BUILD_DEP) + GDC_BUILD_DEP := + GO_BUILD_DEP := +else ifeq ($(PKGSOURCE),gdc-$(BASE_VERSION)) + # Special source package just for gdc. + GNAT_BUILD_DEP := + GDC_BUILD_DEP := $(SOURCE_BUILD_DEP) + GO_BUILD_DEP := +else ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION)) + # Special source package just for gccgo. + GNAT_BUILD_DEP := + GDC_BUILD_DEP := $(SOURCE_BUILD_DEP) +endif + + +else +# build cross compiler + CROSS_BUILD_DEP := libc6-dev$(cross_lib_arch), +ifneq (,$(findstring cross-build-,$(build_type))) + CROSS_BUILD_DEP += zlib1g-dev$(cross_lib_arch), libmpfr-dev$(cross_lib_arch), +endif + SOURCE_BUILD_DEP := + ifeq (,$(findstring gcc,$(PKGSOURCE))) + SOURCE_BUILD_DEP := gcc-$(BASE_VERSION)-source (>= $(GCC_SOURCE_VERSION)), gcc-$(BASE_VERSION)-source (<< $(NEXT_GCC_SOURCE_VERSION)), + endif + GNAT_BUILD_DEP := +endif # cross compiler + +BASE_BREAKS := gcc-4.4-base (<< 4.4.7), gcc-4.7-base (<< 4.7.3), gcj-4.4-base (<< 4.4.6-9~), gnat-4.4-base (<< 4.4.6-3~), gcj-4.6-base (<< 4.6.1-4~), gnat-4.6 (<< 4.6.1-5~) +# these would need proper updates, and are only needed for upgrades +ifneq (,$(filter $(distrelease),squeeze wheezy lucid precise trusty)) + BASE_BREAKS := +endif + + +# The numeric part of the gcc version number (x.yy.zz) +NEXT_GCC_VERSION := $(shell echo $(GCC_VERSION) | \ + awk -F. '{OFS="."; if (NF==2) $$3=1; else $$NF += 1; print}') +# first version with a new path component in gcc_lib_dir (i.e. GCC_VERSION +# or TARGET_ALIAS changes), or last version available for all architectures +DEB_GCC_SOFT_VERSION := 7 +DEB_GNAT_SOFT_VERSION := 7 + +ifeq ($(with_d),yes) + GDC_VERSION := $(BASE_VERSION) + DEB_GDC_VERSION := $(DEB_VERSION) +endif + +# semiautomatic ... +DEB_SOVERSION := $(DEB_VERSION) +DEB_SOVERSION := 5 +DEB_SOEVERSION := $(EPOCH):5 +DEB_STDCXX_SOVERSION := 5 +DEB_GOMP_SOVERSION := $(DEB_SOVERSION) + +DEB_GCC_VERSION := $(DEB_VERSION) + +DEB_GNAT_VERSION := $(DEB_VERSION) +ifeq ($(with_separate_gnat),yes) + ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) + DEB_GCC_VERSION := $(DEB_GCC_SOFT_VERSION) + endif +endif + +GNAT_VERSION := $(BASE_VERSION) + +LIBGNAT_DEP := +ifeq ($(with_libgnat),yes) + LIBGNAT_DEP := libgnat-$(GNAT_VERSION)$(LS)$(AQ) (>= $${gcc:Version}) +endif + +pkg_ver := -$(BASE_VERSION) + +ctrl_flags = \ + -DBINUTILSV=$(BINUTILSV) \ + -DBINUTILSBDV=$(BINUTILSBDV) \ + -DSRCNAME=$(PKGSOURCE) \ + -D__$(DEB_TARGET_GNU_CPU)__ \ + -DARCH=$(DEB_TARGET_ARCH) \ + -DDIST=$(distribution) + +ctrl_flags += \ + -DLIBC_DEV_DEP="$(LIBC_DEV_DEP)" \ + -DLIBC_BIARCH_BUILD_DEP="$(LIBC_BIARCH_BUILD_DEP)" \ + -DLIBC_DBG_DEP="$(LIBC_DBG_DEP)" \ + -DBASE_BUILD_DEP="$(BASE_BUILD_DEP)" \ + -DFORTRAN_BUILD_DEP="$(FORTRAN_BUILD_DEP)" \ + -DGNAT_BUILD_DEP="$(GNAT_BUILD_DEP)" \ + -DGO_BUILD_DEP="$(GO_BUILD_DEP)" \ + -DLIBSTDCXX_BUILD_INDEP="$(LIBSTDCXX_BUILD_INDEP)" \ + -DGDC_BUILD_DEP="$(GDC_BUILD_DEP)" \ + -DBINUTILS_BUILD_DEP="$(BINUTILS_BUILD_DEP)" \ + -DLIBC_BUILD_DEP="$(LIBC_BUILD_DEP)" \ + -DCHECK_BUILD_DEP="$(CHECK_BUILD_DEP)" \ + -DAUTO_BUILD_DEP="$(AUTO_BUILD_DEP)" \ + -DSDT_BUILD_DEP="$(SDT_BUILD_DEP)" \ + -DISL_BUILD_DEP="$(ISL_BUILD_DEP)" \ + -DGMP_BUILD_DEP="$(GMP_BUILD_DEP)" \ + -DMPFR_BUILD_DEP="$(MPFR_BUILD_DEP)" \ + -DMPC_BUILD_DEP="$(MPC_BUILD_DEP)" \ + -DDEBHELPER_BUILD_DEP="$(DEBHELPER_BUILD_DEP)" \ + -DDPKG_BUILD_DEP="$(DPKG_BUILD_DEP)" \ + -DSOURCE_BUILD_DEP="$(SOURCE_BUILD_DEP)" \ + -DCROSS_BUILD_DEP="$(CROSS_BUILD_DEP)" \ + -DGCC_MULTILIB_BUILD_DEP='$(GCC_MULTILIB_BUILD_DEP)' \ + -DTARGET_TOOL_BUILD_DEP='$(TARGET_TOOL_BUILD_DEP)' \ + -DPHOBOS_BUILD_DEP="$(PHOBOS_BUILD_DEP)" \ + -DOFFLOAD_BUILD_DEP="$(OFFLOAD_BUILD_DEP)" \ + -DMULTILIB_ARCHS="$(multilib_archs)" \ + -DNEON_ARCHS="$(neon_archs)" \ + -DTP=$(TP) \ + -DTS=$(TS) \ + -DLS=$(LS) \ + -DAQ=$(AQ) \ + -DNT=$(NT) + +ifeq ($(DEB_CROSS),yes) + ctrl_flags += \ + -DTARGET=$(DEB_TARGET_ARCH) \ + -DLIBUNWIND_BUILD_DEP="$(LIBUNWIND_BUILD_DEP)" \ + -DLIBATOMIC_OPS_BUILD_DEP="$(LIBATOMIC_OPS_BUILD_DEP)" + ifeq ($(DEB_STAGE),rtlibs) + ctrl_flags += -DCROSS_ARCH=$(DEB_TARGET_ARCH) + endif +else + # add '-DPRI=optional' to ctrl_flags if this is not the default compiler + # ctrl_flags += \ + # -DPRI=optional +endif + +ifeq ($(with_base_only),yes) + ctrl_flags += \ + -DBASE_ONLY=yes +endif + +ifeq ($(with_multiarch_lib),yes) + ctrl_flags += \ + -DMULTIARCH=yes +endif + +control: control-file readme-bugs-file parameters-file symbols-files copyright-file substvars-file versioned-files check-versions + +# stage1 and stage2 compilers are only C +ifneq (,$(filter $(DEB_STAGE),stage1 stage2)) + languages = c + addons = gccbase cdev plugindev + ifeq ($(with_gcclbase),yes) + addons += gcclbase + endif + ifeq ($(multilib),yes) + addons += multilib + endif + addons += $(if $(findstring armel,$(biarchhfarchs)),armml) + addons += $(if $(findstring armhf,$(biarchsfarchs)),armml) + addons += $(if $(findstring amd64,$(biarchx32archs)),x32dev) + ifeq ($(DEB_STAGE),stage2) + addons += libgcc + ifeq ($(multilib),yes) + addons += lib32gcc lib64gcc libn32gcc + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gcc) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgcc) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgcc) + endif + else + LIBC_BIARCH_DEV_DEP := + endif +else +languages = c c++ fortran objc objpp +ifeq ($(DEB_STAGE),rtlibs) + ifeq (,$(filter libgfortran, $(with_rtlibs))) + languages := $(filter-out fortran, $(languages)) + endif + ifeq (,$(filter libobjc, $(with_rtlibs))) + languages := $(filter-out objc objpp, $(languages)) + endif +endif +ifeq ($(with_gccbase),yes) + addons += gccbase +endif +ifeq ($(with_gcclbase),yes) + addons += gcclbase +endif +ifneq ($(DEB_STAGE),rtlibs) + addons += cdev c++dev source multilib + ifeq ($(build_type),build-native) + addons += testresults + endif + ifneq (,$(filter fortran, $(languages))) + addons += fdev + endif + ifneq (,$(filter objc, $(languages))) + addons += objcdev + endif + ifneq (,$(filter objpp, $(languages))) + addons += objppdev + endif + ifneq (,$(filter brig, $(enabled_languages))) + addons += brigdev + endif + addons += plugindev +endif +addons += $(if $(findstring armel,$(biarchhfarchs)),armml) +addons += $(if $(findstring armhf,$(biarchsfarchs)),armml) +addons += $(if $(findstring amd64,$(biarchx32archs)),x32dev) +ifeq ($(with_libgcc),yes) + addons += libgcc lib4gcc lib32gcc lib64gcc libn32gcc + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gcc) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgcc) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgcc) +endif +ifeq ($(with_libcxx),yes) + addons += libcxx lib32cxx lib64cxx libn32cxx + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32cxx) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfcxx) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfcxx) +endif +addons += $(if $(findstring amd64,$(biarchx32archs)),libx32dbgcxx) +addons += $(if $(findstring armel,$(biarchhfarchs)),libhfdbgcxx) +addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfdbgcxx) +ifeq ($(with_libgfortran),yes) + addons += libgfortran lib32gfortran lib64gfortran libn32gfortran + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gfortran) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgfortran) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgfortran) +endif +ifeq ($(with_libobjc),yes) + addons += libobjc lib32objc lib64objc libn32objc + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32objc) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfobjc) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfobjc) +endif +ifeq ($(with_libgomp),yes) + addons += libgomp lib32gomp lib64gomp libn32gomp + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gomp) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgomp) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgomp) +endif +ifeq ($(with_libitm),yes) + addons += libitm lib32itm lib64itm libn32itm + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32itm) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfitm) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfitm) +endif +ifeq ($(with_libatomic),yes) + addons += libatomic lib32atomic lib64atomic libn32atomic + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32atomic) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfatomic) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfatomic) +endif +ifeq ($(with_libbacktrace),yes) + addons += libbtrace lib32btrace lib64btrace libn32btrace + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32btrace) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfbtrace) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfbtrace) +endif +ifeq ($(with_libasan),yes) + addons += libasan lib32asan lib64asan libn32asan + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32asan) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfasan) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfasan) +endif +ifeq ($(with_liblsan),yes) + addons += liblsan lib32lsan lib64lsan libn32lsan + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32lsan) + #addons += $(if $(findstring armel,$(biarchhfarchs)),libhflsan) + #addons += $(if $(findstring armhf,$(biarchsfarchs)),libsflsan) +endif +ifeq ($(with_libtsan),yes) + addons += libtsan + addons += libtsan #lib32tsan lib64tsan libn32tsan + #addons += $(if $(findstring amd64,$(biarchx32archs)),libx32tsan) + #addons += $(if $(findstring armel,$(biarchhfarchs)),libhftsan) + #addons += $(if $(findstring armhf,$(biarchsfarchs)),libsftsan) +endif +ifeq ($(with_libubsan),yes) + addons += libubsan lib32ubsan lib64ubsan libn32ubsan + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32ubsan) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfubsan) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfubsan) +endif +ifeq ($(with_vtv),yes) + addons += libvtv lib32vtv lib64vtv #libn32vtv + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32vtv) + #addons += $(if $(findstring armel,$(biarchhfarchs)),libhfvtv) + #addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfvtv) +endif +ifeq ($(with_libcilkrts),yes) + addons += libcilkrts + addons += libcilkrts lib32cilkrts lib64cilkrts #libn32cilkrts + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32cilkrts) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfcilkrts) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfcilkrts) +endif +ifeq ($(with_mpx),yes) + addons += libmpx lib32mpx lib64mpx +endif +ifeq ($(with_libqmath),yes) + addons += libqmath lib32qmath lib64qmath libn32qmath + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32qmath) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfqmath) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfqmath) +endif +ifeq ($(with_jit),yes) + addons += jit +endif +ifeq ($(with_libgccjit),yes) + addons += libjit +endif +ifeq ($(with_offload_nvptx),yes) + addons += olnvptx libgompnvptx +endif +ifeq ($(with_libcc1),yes) + addons += libcc1 +endif +ifeq ($(with_d),yes) + languages += d + ifeq ($(with_libphobos),yes) + addons += libphobos + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32phobos) + endif +endif +ifeq ($(with_go),yes) + addons += ggo godev + ifeq ($(with_libgo),yes) + addons += libggo lib32ggo lib64ggo libn32ggo + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32ggo) + endif +endif +ifeq ($(with_ada),yes) + languages += ada + addons += libgnat libs # libgmath libnof lib64gnat ssp + ifeq ($(with_gnatsjlj),yes) + addons += adasjlj + endif +endif +ifeq ($(with_brig),yes) + addons += brig + ifeq ($(with_libhsailrt),yes) + addons += libhsail # lib32hsail lib64hsail libn32hsail + addons += # $(if $(findstring amd64,$(biarchx32archs)),libx32hsail) + endif +endif + + ifneq ($(DEB_CROSS),yes) + ifneq (,$(neon_archs)) + addons += libneongcc libneongomp libneonitm libneonobjc libneongfortran libneoncxx + endif + ifeq ($(with_fixincl),yes) + addons += $(if $(DEB_STAGE),,fixincl) + endif + endif # DEB_CROSS + ifeq ($(with_separate_libgo),yes) + ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + languages := $(filter-out go,$(languages)) + addons := $(filter-out ggo godev libggo lib64ggo lib32ggo libn32ggo libx32ggo,$(addons)) + endif + ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION)) + languages = go + addons = ggo godev libggo lib64ggo lib32ggo libn32ggo gccbase multilib + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32ggo) + ifeq ($(with_standalone_go),yes) + addons += libgcc lib4gcc lib32gcc lib64gcc libn32gcc + addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gcc) + addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgcc) + addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgcc) + ifeq ($(with_libcc1),yes) + addons += libcc1 + endif + endif + endif + endif + ifeq ($(with_standalone_go),yes) + ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION)) + ctrl_flags += -DSTANDALONEGO + endif + endif + ifeq ($(with_separate_gnat),yes) + ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + languages := $(filter-out ada,$(languages)) + addons := $(filter-out libgnat adasjlj,$(addons)) + endif + ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) + languages = ada + addons = gnatbase libgnat + endif + endif + ifeq ($(with_separate_gdc),yes) + ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) + languages := $(filter-out d,$(languages)) + endif + ifeq ($(PKGSOURCE),gdc-$(BASE_VERSION)) + languages = d + addons = + ifeq ($(with_libphobos),yes) + addons += libphobos + endif + endif + endif + ifneq ($(DEB_CROSS),yes) # no docs for cross compilers + ifneq ($(GFDL_INVARIANT_FREE),yes) + addons += gfdldoc + endif + endif +endif # not stage + +control-file: + echo "addons: $(addons)"; \ + m4 $(ctrl_flags) \ + -DPV=$(pkg_ver) \ + -DCXX_SO=$(CXX_SONAME) \ + -DGCC_SO=$(GCC_SONAME) \ + -DOBJC_SO=$(OBJC_SONAME) \ + -DFORTRAN_SO=$(FORTRAN_SONAME) \ + -DGNAT_SO=$(GNAT_SONAME) \ + -DGNAT_V=$(GNAT_VERSION) \ + -DPHOBOS_V=$(GPHOBOS_SONAME) \ + -DGDRUNTIME_V=$(GDRUNTIME_SONAME) \ + -DGOMP_SO=$(GOMP_SONAME) \ + -DITM_SO=$(ITM_SONAME) \ + -DATOMIC_SO=$(ATOMIC_SONAME) \ + -DBTRACE_SO=$(BTRACE_SONAME) \ + -DASAN_SO=$(ASAN_SONAME) \ + -DLSAN_SO=$(LSAN_SONAME) \ + -DTSAN_SO=$(TSAN_SONAME) \ + -DUBSAN_SO=$(UBSAN_SONAME) \ + -DVTV_SO=$(VTV_SONAME) \ + -DCILKRTS_SO=$(CILKRTS_SONAME) \ + -DMPX_SO=$(MPX_SONAME) \ + -DQMATH_SO=$(QUADMATH_SONAME) \ + -DSSP_SO=$(SSP_SONAME) \ + -DGO_SO=$(GO_SONAME) \ + -DCC1_SO=$(CC1_SONAME) \ + -DGCCJIT_SO=$(GCCJIT_SONAME) \ + -DHSAIL_SO=$(HSAIL_SONAME) \ + -Denabled_languages="$(languages) $(addons)" \ + -Dada_no_archs="$(ada_no_archs)" \ + -Dfortran_no_archs="$(fortran_no_archs)" \ + -Dlibgc_no_archs="$(libgc_no_archs)" \ + -Dlibphobos_archs="$(libphobos_archs)" \ + -Dlibphobos_no_archs="$(libphobos_no_archs)" \ + -Dcheck_no_archs="$(check_no_archs)" \ + -Dlocale_no_archs="$(locale_no_archs)" \ + -Dlinux_gnu_archs="$(linux_gnu_archs)" \ + -Dbiarch32_archs="$(strip $(subst /, ,$(biarch32archs)))" \ + -Dbiarch64_archs="$(strip $(subst /, ,$(biarch64archs)))" \ + -Dbiarchn32_archs="$(strip $(subst /, ,$(biarchn32archs)))" \ + -Dbiarchx32_archs="$(strip $(subst /, ,$(biarchx32archs)))" \ + -Dbiarchhf_archs="$(strip $(subst /, ,$(biarchhfarchs)))" \ + -Dbiarchsf_archs="$(strip $(subst /, ,$(biarchsfarchs)))" \ + -Dadd_built_using=$(add_built_using) \ + -DGCC_PORTS_BUILD=$(GCC_PORTS_BUILD) \ + -DPR66145BREAKS="$(if $(findstring build-native,$(build_type)),$(if $(filter new,$(libstdcxx_abi)),$$(tr '\n' ' ' < debian/libstdc++-breaks.$(derivative))))" \ + debian/control.m4 > debian/control.tmp2 + uniq debian/control.tmp2 | sed '/^Build/s/ *, */, /g;/^ /s/ *, */, /g' \ + $(if $(filter yes, $(with_base_only)), | awk '/^$$/ {if (p) exit; else p=1; } {print}') \ + > debian/control.tmp + rm -f debian/control.tmp2 + [ -e debian/control ] \ + && cmp -s debian/control debian/control.tmp \ + && rm -f debian/control.tmp && exit 0; \ + mv debian/control.tmp debian/control; touch $(control_stamp) + +readme-bugs-file: + m4 -DDIST=$(distribution) -DSRCNAME=$(PKGSOURCE) \ + debian/README.Bugs.m4 > debian/README.Bugs + +copyright-file: + rm -f debian/copyright + if echo $(SOURCE_VERSION) | grep -E ^'[0-9]\.[0-9]-[0-9]{8}' ; \ + then SVN_BRANCH="trunk" ; \ + else \ + SVN_BRANCH="gcc-$(subst .,_,$(BASE_VERSION))-branch" ; \ + fi ; \ + sed debian/copyright.in \ + -e "s/@BV@/$(BASE_VERSION)/g" \ + -e "s/@SVN_BRANCH@/$$SVN_BRANCH/g" \ + > debian/copyright + +substvars-file: control-file + rm -f debian/substvars.local.tmp + ( \ + echo 'libgcc:Version=$(DEB_LIBGCC_VERSION)'; \ + echo 'gcc:Version=$(DEB_GCC_VERSION)'; \ + echo 'gcc:EpochVersion=$(DEB_EVERSION)'; \ + echo 'gcc:SoftVersion=$(DEB_GCC_SOFT_VERSION)'; \ + echo 'gdc:Version=$(DEB_GDC_VERSION)'; \ + echo 'gnat:Version=$(DEB_GNAT_VERSION)'; \ + echo 'gnat:SoftVersion=$(DEB_GNAT_SOFT_VERSION)'; \ + echo 'binutils:Version=$(BINUTILSV)'; \ + echo 'dep:libgcc=$(LIBGCC_DEP)'; \ + echo 'dep:libgccdev=$(LIBGCC_DEV_DEP)'; \ + echo 'dep:libgccbiarch=$(libgccbiarch)'; \ + echo 'dep:libgccbiarchdev=$(libgccbiarchdev)'; \ + echo 'dep:libc=$(LIBC_DEP) (>= $(libc_ver))'; \ + echo 'dep:libcdev=$(LIBC_DEV_DEP)'; \ + echo 'dep:libcbiarch=$(LIBC_BIARCH_DEP)'; \ + echo 'dep:libcbiarchdev=$(LIBC_BIARCH_DEV_DEP)'; \ + echo 'dep:libunwinddev=$(LIBUNWIND_DEV_DEP)'; \ + echo 'dep:libcxxbiarchdev=$(libstdc++biarchdev)'; \ + echo 'dep:libcxxbiarchdbg=$(libstdc++biarchdbg)'; \ + echo 'dep:libgnat=$(LIBGNAT_DEP)'; \ + echo 'base:Breaks=$(BASE_BREAKS)'; \ + ) > debian/substvars.local.tmp +ifneq (,$(filter $(DEB_TARGET_ARCH), $(multilib_archs))) + ( \ + echo 'gcc:multilib=gcc-$(BASE_VERSION)-multilib$(TS)'; \ + echo 'gxx:multilib=g++-$(BASE_VERSION)-multilib$(TS)'; \ + echo 'gobjc:multilib=gobjc-$(BASE_VERSION)-multilib$(TS)'; \ + echo 'gobjcxx:multilib=gobjc++-$(BASE_VERSION)-multilib$(TS)'; \ + echo 'gfortran:multilib=gfortran-$(BASE_VERSION)-multilib$(TS)'; \ + ) >> debian/substvars.local.tmp +endif +ifeq ($(with_gold),yes) + echo 'dep:gold=binutils-gold (>= $(BINUTILSV))' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_libssp),yes) + echo 'dep:libssp=libssp$(SSP_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_gomp),yes) + echo 'dep:libgomp=libgomp$(GOMP_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_itm),yes) + echo 'dep:libitm=libitm$(ITM_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_atomic),yes) + echo 'dep:libatomic=libatomic$(ATOMIC_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_libbacktrace),yes) + echo 'dep:libbacktrace=libbtrace$(BTRACE_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_asan),yes) + echo 'dep:libasan=libasan$(ASAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_lsan),yes) + echo 'dep:liblsan=liblsan$(LSAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_tsan),yes) + echo 'dep:libtsan=libtsan$(TSAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_ubsan),yes) + echo 'dep:libubsan=libubsan$(UBSAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_vtv),yes) + echo 'dep:libvtv=libvtv$(VTV_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_cilkrts),yes) + echo 'dep:libcilkrts=libcilkrts$(CILKRTS_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_mpx),yes) + echo 'dep:libmpx=libmpx$(MPX_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_qmath),yes) + echo 'dep:libqmath=libquadmath$(QUADMATH_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp +endif +ifeq ($(distribution),Debian) + echo 'dep:libx32z=$(if $(filter $(distribution), Debian),,libx32z1-dev)' \ + >> debian/substvars.local.tmp +endif +ifeq ($(multilib),yes) + echo 'dep:libgfortranbiarchdev=$(libgfortranbiarchdev)' \ + >> debian/substvars.local.tmp + echo 'dep:libobjcbiarchdev=$(libobjcbiarchdev)' \ + >> debian/substvars.local.tmp + ifeq ($(with_libphobos),yes) + echo 'dep:libphobosbiarchdev=$(libgphobosbiarchdev)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_libssp),yes) + echo 'dep:libsspbiarch=$(libsspbiarch)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_gomp),yes) + echo 'dep:libgompbiarch=$(libgompbiarch)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_itm),yes) + echo 'dep:libitmbiarch=$(libitmbiarch)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_atomic),yes) + echo 'dep:libatomicbiarch=$(libatomicbiarch)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_libbacktrace),yes) + echo 'dep:libbtracebiarch=$(libbtracebiarch)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_asan),yes) + echo 'dep:libasanbiarch=$(libasanbiarch)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_lsan),yes) + #echo 'dep:liblsanbiarch=$(liblsanbiarch)' \ + # >> debian/substvars.local.tmp + endif + ifeq ($(with_tsan),yes) + #echo 'dep:libtsanbiarch=$(libtsanbiarch)' \ + # >> debian/substvars.local.tmp + endif + ifeq ($(with_ubsan),yes) + echo 'dep:libubsanbiarch=$(libubsanbiarch)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_vtv),yes) + echo 'dep:libvtvbiarch=$(libvtvbiarch)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_cilkrts),yes) + echo 'dep:libcilkrtsbiarch=$(libcilkrtsbiarch)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_mpx),yes) + echo 'dep:libmpxbiarch=$(libmpxbiarch)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_qmath),yes) + echo 'dep:libqmathbiarch=$(libquadmathbiarch)' \ + >> debian/substvars.local.tmp + endif + ifeq ($(with_go),yes) + echo 'dep:libgobiarchdev=$(libgobiarchdev)' \ + >> debian/substvars.local.tmp + echo 'dep:libgobiarch=$(libgobiarch)' \ + >> debian/substvars.local.tmp + endif +endif +ifeq ($(DEB_CROSS),yes) + echo 'dep:gdccross=gdc$(pkg_ver) (>= $(DEB_GCC_SOFT_VERSION))' \ + >> debian/substvars.local.tmp +endif +ifeq ($(with_libphobos),yes) + echo 'dep:phobosdev=libgphobos$(pkg_ver)-dev$(LS)$(AQ) (>= $(DEB_GCC_SOFT_VERSION))' \ + >> debian/substvars.local.tmp + ifeq ($(DEB_CROSS),yes) + : # FIXME: make the cross gdc aware of both include paths + echo 'dep:gdccross=gdc$(pkg_ver) (>= $(DEB_GCC_SOFT_VERSION))' \ + >> debian/substvars.local.tmp + endif +endif +ifeq ($(with_cc1),yes) + ifneq (,$(findstring build-cross, $(build_type))) + echo 'dep:libcc1=libcc1-$(CC1_SONAME) (>= $${gcc:SoftVersion})' \ + >> debian/substvars.local.tmp + else + echo 'dep:libcc1=libcc1-$(CC1_SONAME) (>= $${gcc:Version})' \ + >> debian/substvars.local.tmp + endif +endif +ifeq ($(DEB_HOST_ARCH),hppa) + echo 'dep:prctl=prctl' >> debian/substvars.local.tmp +endif +ifeq ($(derivative)-$(DEB_HOST_ARCH),Debian-amd64) + echo 'confl:lib32=libc6-i386 (<< 2.9-22)' >> debian/substvars.local.tmp +endif +ifeq ($(with_multiarch_lib),yes) + echo 'multiarch:breaks=gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2)' >> debian/substvars.local.tmp +endif + echo 'golang:Conflicts=golang-go (<< 2:1.3.3-1ubuntu2)' >> debian/substvars.local.tmp +ifeq ($(add_built_using),yes) + echo "Built-Using=$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W gcc$(pkg_ver)-source)" \ + >> debian/substvars.local.tmp +endif + v=`sed -n '/^#define MOD_VERSION/s/.* "\([0-9]*\)"/\1/p' \ + $(srcdir)/gcc/fortran/module.c`; \ + echo "fortran:mod-version=gfortran-mod-$$v" >> debian/substvars.local.tmp + + [ -e debian/substvars.local ] \ + && cmp -s debian/substvars.local debian/substvars.local.tmp \ + && rm -f debian/substvars.local.tmp && exit 0; \ + mv debian/substvars.local.tmp debian/substvars.local; \ + touch $(control_stamp) + +parameters-file: + rm -f debian/rules.parameters.tmp + ( \ + echo '# configuration parameters taken from upstream source files'; \ + echo 'GCC_VERSION := $(GCC_VERSION)'; \ + echo 'NEXT_GCC_VERSION := $(NEXT_GCC_VERSION)'; \ + echo 'BASE_VERSION := $(BASE_VERSION)'; \ + echo 'SOURCE_VERSION := $(SOURCE_VERSION)'; \ + echo 'DEB_VERSION := $(DEB_VERSION)'; \ + echo 'DEB_EVERSION := $(DEB_EVERSION)'; \ + echo 'DEB_GDC_VERSION := $(DEB_GDC_VERSION)'; \ + echo 'DEB_SOVERSION := $(DEB_SOVERSION)'; \ + echo 'DEB_SOEVERSION := $(DEB_SOEVERSION)'; \ + echo 'DEB_LIBGCC_SOVERSION := $(DEB_LIBGCC_SOVERSION)'; \ + echo 'DEB_LIBGCC_VERSION := $(DEB_LIBGCC_VERSION)'; \ + echo 'DEB_STDCXX_SOVERSION := $(DEB_STDCXX_SOVERSION)'; \ + echo 'DEB_GOMP_SOVERSION := $(DEB_GOMP_SOVERSION)'; \ + echo 'GCC_SONAME := $(GCC_SONAME)'; \ + echo 'CXX_SONAME := $(CXX_SONAME)'; \ + echo 'FORTRAN_SONAME := $(FORTRAN_SONAME)'; \ + echo 'OBJC_SONAME := $(OBJC_SONAME)'; \ + echo 'GDC_VERSION := $(GDC_VERSION)'; \ + echo 'GNAT_VERSION := $(GNAT_VERSION)'; \ + echo 'GNAT_SONAME := $(GNAT_SONAME)'; \ + echo 'FFI_SONAME := $(FFI_SONAME)'; \ + echo 'SSP_SONAME := $(SSP_SONAME)'; \ + echo 'GOMP_SONAME := $(GOMP_SONAME)'; \ + echo 'ITM_SONAME := $(ITM_SONAME)'; \ + echo 'ATOMIC_SONAME := $(ATOMIC_SONAME)'; \ + echo 'BTRACE_SONAME := $(BTRACE_SONAME)'; \ + echo 'ASAN_SONAME := $(ASAN_SONAME)'; \ + echo 'LSAN_SONAME := $(LSAN_SONAME)'; \ + echo 'TSAN_SONAME := $(TSAN_SONAME)'; \ + echo 'UBSAN_SONAME := $(UBSAN_SONAME)'; \ + echo 'VTV_SONAME := $(VTV_SONAME)'; \ + echo 'CILKRTS_SONAME := $(CILKRTS_SONAME)'; \ + echo 'MPX_SONAME := $(MPX_SONAME)'; \ + echo 'QUADMATH_SONAME := $(QUADMATH_SONAME)'; \ + echo 'GO_SONAME := $(GO_SONAME)'; \ + echo 'CC1_SONAME := $(CC1_SONAME)'; \ + echo 'GCCJIT_SONAME := $(GCCJIT_SONAME)'; \ + echo 'GPHOBOS_SONAME := $(GPHOBOS_SONAME)'; \ + echo 'GDRUNTIME_SONAME := $(GDRUNTIME_SONAME)'; \ + echo 'HSAIL_SONAME := $(HSAIL_SONAME)'; \ + echo 'LIBC_DEP := $(LIBC_DEP)'; \ + ) > debian/rules.parameters.tmp + [ -e debian/rules.parameters ] \ + && cmp -s debian/rules.parameters debian/rules.parameters.tmp \ + && rm -f debian/rules.parameters.tmp && exit 0; \ + mv debian/rules.parameters.tmp debian/rules.parameters; \ + touch $(control_stamp) + +symbols-files: control-file +ifeq ($(DEB_CROSS),yes) + ifneq ($(DEB_STAGE),rtlibs) + test -n "$(LS)" + set -e; \ + for p in $$(dh_listpackages -i | grep '^lib'); do \ + p=$${p%$(LS)}; \ + if [ -f debian/$$p.symbols.$(DEB_TARGET_ARCH) ]; then \ + f=debian/$$p.symbols.$(DEB_TARGET_ARCH); \ + elif [ -f debian/$$p.symbols ]; then \ + f=debian/$$p.symbols; \ + else \ + continue; \ + fi; \ + link=debian/$$p$(LS).symbols; \ + if [ -L $$link ]; then \ + echo >&2 "removing left over symbols file link: $$link"; \ + rm -f $$link; \ + fi; \ + ln -s $$f $$link; \ + done + endif + ifeq ($(with_libphobosdev),yes) + echo 'dep:libphobosbiarchdev=$(libgphobosbiarchdev)' \ + >> debian/substvars.local.tmp + echo 'dep:libphobosbiarch=$(libgphobosbiarch)' \ + >> debian/substvars.local.tmp + endif +endif + +versioned-files: + fs=`echo debian/*BV* debian/*CXX* debian/*LC* | sort -u`; \ + for f in $$fs; do \ + [ -f $$f ] || echo "CANNOT FIND $$f"; \ + [ -f $$f ] || continue; \ + if [ -z "$(DEB_CROSS)" ]; then case "$$f" in *-CR*) continue; esac; fi; \ + f2=$$(echo $$f \ + | sed 's/BV/$(BASE_VERSION)/;s/CXX/$(CXX_SONAME)/;s/LC/$(GCC_SONAME)/;s/-CRB/$(cross_bin_arch)/;s/\.in$$//'); \ + sed -e 's/@BV@/$(BASE_VERSION)/g' \ + -e 's/@CXX@/$(CXX_SONAME)/g' \ + -e 's/@LC@/$(GCC_SONAME)/g' \ + -e 's/@SRC@/$(PKGSOURCE)/g' \ + -e 's/@GFDL@/$(if $(filter yes,$(GFDL_INVARIANT_FREE)),#)/g' \ + -e 's/@gcc_priority@/$(subst .,,$(BASE_VERSION))/g' \ + -e 's/@TARGET@/$(DEB_TARGET_GNU_TYPE)/g' \ + -e 's/@TARGET_QUAL@/$(TARGET_QUAL)/g' \ + $$f > $$f2; \ + touch -r $$f $$f2; \ + done + for t in ar nm ranlib; do \ + sed "s/@BV@/$(BASE_VERSION)/g;s/@TOOL@/$$t/g" \ + debian/gcc-XX-BV.1 > debian/gcc-$$t-$(BASE_VERSION).1; \ + done + +# don't encode versioned build dependencies in the control file, but check +# these here instead. +check-versions: + v=$$(dpkg-query -l dpkg-dev | awk '/^.i/ {print $$3}'); \ + if dpkg --compare-versions "$$v" lt "$(DPKGV)"; then \ + echo "dpkg-dev (>= $(DPKGV)) required, found $$v"; \ + exit 1; \ + fi + v=$$(dpkg-query -l binutils binutils-multiarch 2>/dev/null | awk '/^.i/ {print $$3;exit}'); \ + if dpkg --compare-versions "$$v" lt "$(BINUTILSBDV)"; then \ + echo "binutils (>= $(BINUTILSBDV)) required, found $$v"; \ + exit 1; \ + fi + +.PRECIOUS: $(stampdir)/%-stamp --- gcc-7-7.1.0.orig/debian/rules.d/binary-ada.mk +++ gcc-7-7.1.0/debian/rules.d/binary-ada.mk @@ -0,0 +1,346 @@ +ifeq ($(with_separate_gnat),yes) + $(lib_binaries) += gnatbase +endif + +ifeq ($(with_libgnat),yes) + $(lib_binaries) += libgnat libgnatvsn +endif + +arch_binaries := $(arch_binaries) ada +ifneq ($(DEB_CROSS),yes) + ifneq ($(GFDL_INVARIANT_FREE),yes) + indep_binaries := $(indep_binaries) ada-doc + endif +endif + +p_gbase = $(p_xbase) +p_glbase = $(p_lbase) +ifeq ($(with_separate_gnat),yes) + p_gbase = gnat$(pkg_ver)$(cross_bin_arch)-base + p_glbase = gnat$(pkg_ver)$(cross_bin_arch)-base +endif + +p_gnat = gnat-$(GNAT_VERSION)$(cross_bin_arch) +p_gnatsjlj= gnat-$(GNAT_VERSION)-sjlj$(cross_bin_arch) +p_lgnat = libgnat-$(GNAT_VERSION)$(cross_lib_arch) +p_lgnat_dbg = libgnat-$(GNAT_VERSION)-dbg$(cross_lib_arch) +p_lgnatvsn = libgnatvsn$(GNAT_VERSION)$(cross_lib_arch) +p_lgnatvsn_dev = libgnatvsn$(GNAT_VERSION)-dev$(cross_lib_arch) +p_lgnatvsn_dbg = libgnatvsn$(GNAT_VERSION)-dbg$(cross_lib_arch) +p_gnatd = $(p_gnat)-doc + +d_gbase = debian/$(p_gbase) +d_gnat = debian/$(p_gnat) +d_gnatsjlj = debian/$(p_gnatsjlj) +d_lgnat = debian/$(p_lgnat) +d_lgnatvsn = debian/$(p_lgnatvsn) +d_lgnatvsn_dev = debian/$(p_lgnatvsn_dev) +d_gnatd = debian/$(p_gnatd) + +GNAT_TOOLS = gnat gnatbind gnatchop gnatclean gnatfind gnatkr gnatlink \ + gnatls gnatmake gnatname gnatprep gnatxref gnathtml + +ifeq ($(with_gnatsjlj),yes) + rts_subdir = +endif + +dirs_gnat = \ + $(docdir)/$(p_gbase) \ + $(PF)/bin \ + $(PF)/share/man/man1 \ + $(gcc_lib_dir)/{adalib,adainclude} \ + $(gcc_lexec_dir) + +files_gnat = \ + $(gcc_lexec_dir)/gnat1 \ + $(gcc_lib_dir)/adainclude/*.ad[bs] \ + $(gcc_lib_dir)/adalib/*.ali \ + $(gcc_lib_dir)/adalib/lib*.a \ + $(foreach i,$(GNAT_TOOLS),$(PF)/bin/$(cmd_prefix)$(i)$(pkg_ver)) + +dirs_lgnat = \ + $(docdir) \ + $(PF)/lib +files_lgnat = \ + $(usr_lib)/lib{gnat,gnarl}-$(GNAT_SONAME).so.1 + +$(binary_stamp)-gnatbase: $(install_stamp) + dh_testdir + dh_testroot + dh_installdocs -p$(p_gbase) debian/README.gnat debian/README.maintainers + : # $(p_gbase) +ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) + mkdir -p $(d_gbase)/$(docdir)/$(p_xbase) + ln -sf ../$(p_gbase) $(d_gbase)/$(docdir)/$(p_xbase)/Ada +endif + dh_installchangelogs -p$(p_gbase) src/gcc/ada/ChangeLog + dh_compress -p$(p_gbase) + dh_fixperms -p$(p_gbase) + dh_gencontrol -p$(p_gbase) -- -v$(DEB_VERSION) $(common_substvars) + dh_installdeb -p$(p_gbase) + dh_md5sums -p$(p_gbase) + dh_builddeb -p$(p_gbase) + touch $@ + + +$(binary_stamp)-libgnat: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + : # libgnat + rm -rf $(d_lgnat) + dh_installdirs -p$(p_lgnat) $(dirs_lgnat) + + for lib in lib{gnat,gnarl}; do \ + vlib=$$lib-$(GNAT_SONAME); \ + mv $(d)/$(gcc_lib_dir)/$(rts_subdir)/adalib/$$vlib.so.1 $(d)/$(usr_lib)/. ; \ + rm -f $(d)/$(gcc_lib_dir)/adalib/$$lib.so.1; \ + done + $(dh_compat2) dh_movefiles -p$(p_lgnat) $(files_lgnat) + + debian/dh_doclink -p$(p_lgnat) $(p_glbase) + + debian/dh_rmemptydirs -p$(p_lgnat) + + b=libgnat; \ + v=$(GNAT_VERSION); \ + for ext in preinst postinst prerm postrm; do \ + for t in '' -dev -dbg; do \ + if [ -f debian/$$b$$t.$$ext ]; then \ + cp -pf debian/$$b$$t.$$ext debian/$$b$$v$$t.$$ext; \ + fi; \ + done; \ + done + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_lgnat) -V '$(p_lgnat) (>= $(DEB_VERSION))' + $(call cross_mangle_shlibs,$(p_lgnat)) + +ifneq (,$(filter $(build_type), build-native cross-build-native)) + mkdir -p $(d_lgnat)/usr/share/lintian/overrides + echo package-name-doesnt-match-sonames > \ + $(d_lgnat)/usr/share/lintian/overrides/$(p_lgnat) +endif + + dh_strip -p$(p_lgnat) --dbg-package=$(p_lgnat_dbg) + $(cross_shlibdeps) dh_shlibdeps -p$(p_lgnat) \ + $(call shlibdirs_to_search, \ + $(subst gnat-$(GNAT_SONAME),gcc$(GCC_SONAME),$(p_lgnat)) \ + ,) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_lgnat)) + + : # $(p_lgnat_dbg) + debian/dh_doclink -p$(p_lgnat_dbg) $(p_glbase) + + echo $(p_lgnat) $(p_lgnat_dbg) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +$(binary_stamp)-libgnatvsn: $(install_stamp) + : # $(p_lgnatvsn_dev) +ifneq (,$(filter $(build_type), build-native cross-build-native)) + $(dh_compat2) dh_movefiles -p$(p_lgnatvsn_dev) usr/lib/ada/adalib/gnatvsn + $(dh_compat2) dh_movefiles -p$(p_lgnatvsn_dev) usr/share/ada/adainclude/gnatvsn + dh_install -p$(p_lgnatvsn_dev) \ + debian/gnatvsn.gpr usr/share/gpr +else + mkdir -p $(d_lgnatvsn_dev)/$(gcc_lib_dir)/{adalib,adainclude}/gnatvsn + mv $(d)/usr/lib/ada/adalib/gnatvsn $(d_lgnatvsn_dev)/$(gcc_lib_dir)/adalib/. + mv $(d)/usr/share/ada/adainclude/gnatvsn $(d_lgnatvsn_dev)/$(gcc_lib_dir)/adainclude/. + dh_install -p$(p_lgnatvsn_dev) \ + debian/gnatvsn.gpr $(gcc_lib_dir)/adainclude +endif + $(dh_compat2) dh_movefiles -p$(p_lgnatvsn_dev) $(usr_lib)/libgnatvsn.a + dh_link -p$(p_lgnatvsn_dev) \ + $(usr_lib)/libgnatvsn.so.$(GNAT_VERSION) \ + $(usr_lib)/libgnatvsn.so + debian/dh_doclink -p$(p_lgnatvsn_dev) $(p_glbase) + dh_strip -p$(p_lgnatvsn_dev) -X.a --keep-debug + + : # $(p_lgnatvsn) +ifneq (,$(filter $(build_type), build-native cross-build-native)) + mkdir -p $(d_lgnatvsn)/usr/share/lintian/overrides + echo missing-dependency-on-libc \ + > $(d_lgnatvsn)/usr/share/lintian/overrides/$(p_lgnatvsn) +endif + $(dh_compat2) dh_movefiles -p$(p_lgnatvsn) $(usr_lib)/libgnatvsn.so.$(GNAT_VERSION) + debian/dh_doclink -p$(p_lgnatvsn) $(p_glbase) + dh_strip -p$(p_lgnatvsn) --dbg-package=$(p_lgnatvsn_dbg) + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_lgnatvsn) \ + -V '$(p_lgnatvsn) (>= $(DEB_VERSION))' + $(call cross_mangle_shlibs,$(p_lgnatvsn)) + cat debian/$(p_lgnatvsn)/DEBIAN/shlibs >> debian/shlibs.local + $(cross_shlibdeps) dh_shlibdeps -p$(p_lgnatvsn) \ + $(call shlibdirs_to_search, \ + $(subst gnatvsn$(GNAT_SONAME),gcc$(GCC_SONAME),$(p_lgnatvsn)) \ + $(subst gnatvsn$(GNAT_SONAME),gnat-$(GNAT_SONAME),$(p_lgnatvsn)) \ + ,) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_lgnatvsn)) + + : # $(p_lgnatvsn_dbg) + debian/dh_doclink -p$(p_lgnatvsn_dbg) $(p_glbase) + + echo $(p_lgnatvsn) $(p_lgnatvsn_dev) $(p_lgnatvsn_dbg) >> debian/$(lib_binaries) + + touch $@ + +$(binary_stamp)-ada: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + : # $(p_gnat) + rm -rf $(d_gnat) + dh_installdirs -p$(p_gnat) $(dirs_gnat) + : # Upstream does not install gnathtml. + cp src/gcc/ada/gnathtml.pl debian/tmp/$(PF)/bin/$(cmd_prefix)gnathtml$(pkg_ver) + chmod 755 debian/tmp/$(PF)/bin/$(cmd_prefix)gnathtml$(pkg_ver) + $(dh_compat2) dh_movefiles -p$(p_gnat) $(files_gnat) + +ifeq ($(with_gnatsjlj),yes) + dh_installdirs -p$(p_gnatsjlj) $(gcc_lib_dir) + $(dh_compat2) dh_movefiles -p$(p_gnatsjlj) $(gcc_lib_dir)/rts-sjlj/adalib $(gcc_lib_dir)/rts-sjlj/adainclude +endif + +ifeq ($(with_libgnat),yes) + for lib in lib{gnat,gnarl}; do \ + vlib=$$lib-$(GNAT_SONAME); \ + dh_link -p$(p_gnat) \ + /$(usr_lib)/$$vlib.so.1 /$(usr_lib)/$$vlib.so \ + /$(usr_lib)/$$vlib.so.1 /$(usr_lib)/$$lib.so; \ + done + for lib in lib{gnat,gnarl}; do \ + vlib=$$lib-$(GNAT_SONAME); \ + dh_link -p$(p_gnat) \ + /$(usr_lib)/$$vlib.so.1 $(gcc_lib_dir)/$(rts_subdir)adalib/$$lib.so; \ + done +endif + debian/dh_doclink -p$(p_gnat) $(p_gbase) +ifeq ($(with_gnatsjlj),yes) + debian/dh_doclink -p$(p_gnatsjlj) $(p_gbase) +endif +ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) + ifeq ($(with_check),yes) + cp -p test-summary $(d_gnat)/$(docdir)/$(p_gbase)/. + endif +else + mkdir -p $(d_gnat)/$(docdir)/$(p_gbase)/ada + cp -p src/gcc/ada/ChangeLog $(d_gnat)/$(docdir)/$(p_gbase)/ada/. +endif + + for i in $(GNAT_TOOLS); do \ + case "$$i" in \ + gnat) cp -p debian/gnat.1 $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)gnat$(pkg_ver).1 ;; \ + *) ln -sf $(cmd_prefix)gnat$(pkg_ver).1 $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)$$i$(pkg_ver).1; \ + esac; \ + done + +ifneq (,$(filter $(build_type), build-native cross-build-native)) + : # see #814977, work around it for now ... + ln -sf gcc$(pkg_ver) $(d_gnat)/$(PF)/bin/gcc$(pkg_ver)$(pkg_ver) +endif + +ifneq (,$(filter $(build_type), build-native cross-build-native)) + : # still ship the unversioned prefixed names in the gnat package. + for i in $(GNAT_TOOLS); do \ + ln -sf $(cmd_prefix)$$i$(pkg_ver) \ + $(d_gnat)/$(PF)/bin/$(cmd_prefix)$$i; \ + ln -sf $(cmd_prefix)gnat$(pkg_ver).1.gz \ + $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)$$i.1.gz; \ + done + ifeq ($(unprefixed_names),yes) + : # ship the versioned prefixed names in the gnat package. + for i in $(GNAT_TOOLS); do \ + ln -sf $(cmd_prefix)$$i$(pkg_ver) \ + $(d_gnat)/$(PF)/bin/$$i$(pkg_ver); \ + ln -sf $(cmd_prefix)gnat$(pkg_ver).1.gz \ + $(d_gnat)/$(PF)/share/man/man1/$$i$(pkg_ver).1.gz; \ + done + + : # still ship the unversioned names in the gnat package. + for i in $(GNAT_TOOLS); do \ + ln -sf $$i$(pkg_ver) \ + $(d_gnat)/$(PF)/bin/$$i; \ + ln -sf gnat$(pkg_ver).1.gz \ + $(d_gnat)/$(PF)/share/man/man1/$$i.1.gz; \ + done + + endif +else + : # still ship the unversioned prefixed names in the gnat package. + for i in $(GNAT_TOOLS); do \ + ln -sf $(cmd_prefix)$$i$(pkg_ver) \ + $(d_gnat)/$(PF)/bin/$(cmd_prefix)$$i; \ + ln -sf $(cmd_prefix)gnat$(pkg_ver).1.gz \ + $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)$$i.1.gz; \ + done +endif + +ifneq (,$(filter $(build_type), build-native cross-build-native)) + dh_install -p$(p_gnat) debian/ada/debian_packaging.mk usr/share/ada + mv $(d_gnat)/usr/share/ada/debian_packaging.mk \ + $(d_gnat)/usr/share/ada/debian_packaging-$(GNAT_VERSION).mk +endif + : # keep this one unversioned, see Debian #802838. + dh_link -p$(p_gnat) \ + usr/bin/$(cmd_prefix)gcc$(pkg_ver) usr/bin/$(cmd_prefix)gnatgcc +ifneq ($(GFDL_INVARIANT_FREE),yes) + dh_link -p$(p_gnat) \ + usr/share/man/man1/$(cmd_prefix)gcc$(pkg_ver).1.gz \ + usr/share/man/man1/$(cmd_prefix)gnatgcc.1.gz +endif +ifeq ($(unprefixed_names),yes) + dh_link -p$(p_gnat) \ + usr/bin/$(cmd_prefix)gcc$(pkg_ver) usr/bin/gnatgcc + ifneq ($(GFDL_INVARIANT_FREE),yes) + dh_link -p$(p_gnat) \ + usr/share/man/man1/$(cmd_prefix)gcc$(pkg_ver).1.gz \ + usr/share/man/man1/gnatgcc.1.gz + endif +endif + debian/dh_rmemptydirs -p$(p_gnat) + + dh_strip -p$(p_gnat) + find $(d_gnat) -name '*.ali' | xargs chmod 444 + $(cross_shlibdeps) dh_shlibdeps -p$(p_gnat) \ + $(call shlibdirs_to_search, \ + $(p_lgcc) $(p_lgnat) $(p_lgnatvsn) \ + ,) + echo $(p_gnat) >> debian/arch_binaries + +ifeq ($(with_gnatsjlj),yes) + dh_strip -p$(p_gnatsjlj) + find $(d_gnatsjlj) -name '*.ali' | xargs chmod 444 + $(cross_makeshlibs) dh_shlibdeps -p$(p_gnatsjlj) + echo $(p_gnatsjlj) >> debian/arch_binaries +endif + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + + +$(build_gnatdoc_stamp): $(build_stamp) + mkdir -p html + rm -f html/*.info + echo -n gnat_ugn gnat_rm gnat-style | xargs -d ' ' -L 1 -P $(USE_CPUS) -I{} \ + sh -c 'cd html && \ + echo "generating {}-$(GNAT_VERSION).info"; \ + makeinfo -I $(srcdir)/gcc/doc/include -I $(srcdir)/gcc/ada \ + -I $(builddir)/gcc \ + -o {}-$(GNAT_VERSION).info \ + $(srcdir)/gcc/ada/{}.texi' + touch $@ + +$(binary_stamp)-ada-doc: $(build_html_stamp) $(build_gnatdoc_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_gnatd) + dh_installdirs -p$(p_gnatd) \ + $(PF)/share/info + cp -p html/gnat*info* $(d_gnatd)/$(PF)/share/info/. + dh_installdocs -p$(p_gnatd) \ + html/gnat_ugn.html html/gnat_rm.html html/gnat-style.html + echo $(p_gnatd) >> debian/indep_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-base.mk +++ gcc-7-7.1.0/debian/rules.d/binary-base.mk @@ -0,0 +1,75 @@ +arch_binaries += base +ifeq ($(with_gcclbase),yes) + ifneq ($(with_base_only),yes) + indep_binaries += lbase + endif +endif + +# --------------------------------------------------------------------------- +# gcc-base + +ifneq (,$(filter $(distrelease),oneiric precise wheezy sid)) + additional_links = +else ifneq (,$(filter $(distrelease),)) + additional_links = +else + additional_links = +endif + +$(binary_stamp)-base: $(install_dependencies) + dh_testdir + dh_testroot + rm -rf $(d_base) + dh_installdirs -p$(p_base) \ + $(gcc_lexec_dir) + +ifneq ($(DEB_STAGE),rtlibs) + ln -sf $(BASE_VERSION) \ + $(d_base)/$(subst /$(BASE_VERSION),/$(GCC_VERSION),$(gcc_lib_dir)) + for link in $(additional_links); do \ + ln -sf $(BASE_VERSION) \ + $(d_base)/$$(dirname $(gcc_lib_dir))/$$link; \ + done + ifneq ($(gcc_lib_dir),$(gcc_lexec_dir)) + ln -sf $(BASE_VERSION) \ + $(d_base)/$(subst /$(BASE_VERSION),/$(GCC_VERSION),$(gcc_lexec_dir)) + for link in $(additional_links); do \ + ln -sf $(BASE_VERSION) \ + $(d_base)/$$(dirname $(gcc_lexec_dir))/$$link; \ + done + endif +endif + +ifeq ($(with_base_only),yes) + dh_installdocs -p$(p_base) debian/README.Debian +else + dh_installdocs -p$(p_base) debian/README.Debian.$(DEB_TARGET_ARCH) +endif + rm -f $(d_base)/usr/share/doc/$(p_base)/README.Debian + dh_installchangelogs -p$(p_base) + dh_compress -p$(p_base) + dh_fixperms -p$(p_base) +ifeq ($(DEB_STAGE)-$(DEB_CROSS),rtlibs-yes) + $(cross_gencontrol) dh_gencontrol -p$(p_base) -- -v$(DEB_VERSION) $(common_substvars) +else + dh_gencontrol -p$(p_base) -- -v$(DEB_VERSION) $(common_substvars) +endif + dh_installdeb -p$(p_base) + dh_md5sums -p$(p_base) + dh_builddeb -p$(p_base) + touch $@ + +$(binary_stamp)-lbase: $(install_dependencies) + dh_testdir + dh_testroot + rm -rf $(d_lbase) + dh_installdocs -p$(p_lbase) debian/README.Debian + rm -f debian/$(p_lbase)/usr/share/doc/$(p_lbase)/README.Debian + dh_installchangelogs -p$(p_lbase) + dh_compress -p$(p_lbase) + dh_fixperms -p$(p_lbase) + dh_gencontrol -p$(p_lbase) -- -v$(DEB_VERSION) $(common_substvars) + dh_installdeb -p$(p_lbase) + dh_md5sums -p$(p_lbase) + dh_builddeb -p$(p_lbase) + touch $@ --- gcc-7-7.1.0.orig/debian/rules.d/binary-brig.mk +++ gcc-7-7.1.0/debian/rules.d/binary-brig.mk @@ -0,0 +1,73 @@ +ifneq ($(DEB_STAGE),rtlibs) +# ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf))) +# arch_binaries := $(arch_binaries) brig-multi +# endif + arch_binaries := $(arch_binaries) brig +endif + +p_brig = gccbrig$(pkg_ver)$(cross_bin_arch) +d_brig = debian/$(p_brig) + +p_brig_m= gccbrig$(pkg_ver)-multilib$(cross_bin_arch) +d_brig_m= debian/$(p_brig_m) + +dirs_brig = \ + $(docdir)/$(p_xbase)/BRIG \ + $(gcc_lexec_dir) + +files_brig = \ + $(PF)/bin/$(cmd_prefix)gccbrig$(pkg_ver) \ + $(gcc_lexec_dir)/brig1 + +$(binary_stamp)-brig: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_brig) + dh_installdirs -p$(p_brig) $(dirs_brig) + $(dh_compat2) dh_movefiles -p$(p_brig) $(files_brig) + +ifeq ($(unprefixed_names),yes) + ln -sf $(cmd_prefix)gccbrig$(pkg_ver) \ + $(d_brig)/$(PF)/bin/gccbrig$(pkg_ver) +# ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl) +# ln -sf $(cmd_prefix)gccbrig$(pkg_ver).1 \ +# $(d_brig)/$(PF)/share/man/man1/gccbrig$(pkg_ver).1 +# endif +endif + cp -p $(srcdir)/gcc/brig/ChangeLog \ + $(d_brig)/$(docdir)/$(p_xbase)/BRIG/changelog.BRIG + +ifeq ($(GFDL_INVARIANT_FREE),yes) + mkdir -p $(d_brig)/usr/share/lintian/overrides + echo '$(p_brig) binary: binary-without-manpage' \ + >> $(d_brig)/usr/share/lintian/overrides/$(p_brig) +endif + + debian/dh_doclink -p$(p_brig) $(p_xbase) + + debian/dh_rmemptydirs -p$(p_brig) + + dh_strip -p$(p_brig) \ + $(if $(unstripped_exe),-X/brig1) + dh_shlibdeps -p$(p_brig) + echo $(p_brig) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +$(binary_stamp)-brig-multi: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_brig_m) + dh_installdirs -p$(p_brig_m) $(docdir) + + debian/dh_doclink -p$(p_brig_m) $(p_xbase) + + dh_strip -p$(p_brig_m) + dh_shlibdeps -p$(p_brig_m) + echo $(p_brig_m) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-cpp.mk +++ gcc-7-7.1.0/debian/rules.d/binary-cpp.mk @@ -0,0 +1,80 @@ +ifneq ($(DEB_STAGE),rtlibs) + arch_binaries := $(arch_binaries) cpp + ifneq ($(DEB_CROSS),yes) + ifneq ($(GFDL_INVARIANT_FREE),yes) + indep_binaries := $(indep_binaries) cpp-doc + endif + endif +endif + +dirs_cpp = \ + $(docdir) \ + $(PF)/share/man/man1 \ + $(PF)/bin \ + $(gcc_lexec_dir) + +files_cpp = \ + $(PF)/bin/$(cmd_prefix)cpp$(pkg_ver) \ + $(gcc_lexec_dir)/cc1 \ + $(gcc_lexec_dir)/liblto_plugin.so{,.0,.0.0.0} + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_cpp += \ + $(PF)/share/man/man1/$(cmd_prefix)cpp$(pkg_ver).1 +endif + +# ---------------------------------------------------------------------- +$(binary_stamp)-cpp: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_cpp) + dh_installdirs -p$(p_cpp) $(dirs_cpp) + $(dh_compat2) dh_movefiles -p$(p_cpp) $(files_cpp) + +ifeq ($(unprefixed_names),yes) + ln -sf $(cmd_prefix)cpp$(pkg_ver) \ + $(d_cpp)/$(PF)/bin/cpp$(pkg_ver) + ifneq ($(GFDL_INVARIANT_FREE),yes) + ln -sf $(cmd_prefix)cpp$(pkg_ver).1 \ + $(d_cpp)/$(PF)/share/man/man1/cpp$(pkg_ver).1 + endif +endif + +ifeq ($(GFDL_INVARIANT_FREE),yes) + mkdir -p $(d_cpp)/usr/share/lintian/overrides + echo '$(p_cpp) binary: binary-without-manpage' \ + >> $(d_cpp)/usr/share/lintian/overrides/$(p_cpp) +endif + + debian/dh_doclink -p$(p_cpp) $(p_xbase) + debian/dh_rmemptydirs -p$(p_cpp) + + dh_strip -p$(p_cpp) \ + $(if $(unstripped_exe),-X/cc1) + dh_shlibdeps -p$(p_cpp) + echo $(p_cpp) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-cpp-doc: $(build_html_stamp) $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_cppd) + dh_installdirs -p$(p_cppd) \ + $(docdir)/$(p_xbase) \ + $(PF)/share/info + $(dh_compat2) dh_movefiles -p$(p_cppd) \ + $(PF)/share/info/cpp* + + debian/dh_doclink -p$(p_cppd) $(p_xbase) + dh_installdocs -p$(p_cppd) html/cpp.html html/cppinternals.html + rm -f $(d_cppd)/$(docdir)/$(p_xbase)/copyright + debian/dh_rmemptydirs -p$(p_cppd) + echo $(p_cppd) >> debian/indep_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-cxx.mk +++ gcc-7-7.1.0/debian/rules.d/binary-cxx.mk @@ -0,0 +1,79 @@ +ifneq ($(DEB_STAGE),rtlibs) + ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf))) + arch_binaries := $(arch_binaries) cxx-multi + endif + arch_binaries := $(arch_binaries) cxx +endif + +dirs_cxx = \ + $(docdir)/$(p_xbase)/C++ \ + $(PF)/bin \ + $(PF)/share/info \ + $(gcc_lexec_dir) \ + $(PF)/share/man/man1 +files_cxx = \ + $(PF)/bin/$(cmd_prefix)g++$(pkg_ver) \ + $(gcc_lexec_dir)/cc1plus + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_cxx += \ + $(PF)/share/man/man1/$(cmd_prefix)g++$(pkg_ver).1 +endif + +p_cxx_m = g++$(pkg_ver)-multilib$(cross_bin_arch) +d_cxx_m = debian/$(p_cxx_m) + +# ---------------------------------------------------------------------- +$(binary_stamp)-cxx: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_cxx) + dh_installdirs -p$(p_cxx) $(dirs_cxx) + $(dh_compat2) dh_movefiles -p$(p_cxx) $(files_cxx) + +ifeq ($(unprefixed_names),yes) + ln -sf $(cmd_prefix)g++$(pkg_ver) \ + $(d_cxx)/$(PF)/bin/g++$(pkg_ver) + ifneq ($(GFDL_INVARIANT_FREE),yes) + ln -sf $(cmd_prefix)g++$(pkg_ver).1.gz \ + $(d_cxx)/$(PF)/share/man/man1/g++$(pkg_ver).1.gz + endif +endif + +ifeq ($(GFDL_INVARIANT_FREE),yes) + mkdir -p $(d_cxx)/usr/share/lintian/overrides + echo '$(p_cxx) binary: binary-without-manpage' \ + >> $(d_cxx)/usr/share/lintian/overrides/$(p_cxx) +endif + + debian/dh_doclink -p$(p_cxx) $(p_xbase) + cp -p debian/README.C++ $(d_cxx)/$(docdir)/$(p_xbase)/C++/ + cp -p $(srcdir)/gcc/cp/ChangeLog \ + $(d_cxx)/$(docdir)/$(p_xbase)/C++/changelog + debian/dh_rmemptydirs -p$(p_cxx) + + dh_shlibdeps -p$(p_cxx) + dh_strip -p$(p_cxx) $(if $(unstripped_exe),-X/cc1plus) + echo $(p_cxx) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +$(binary_stamp)-cxx-multi: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_cxx_m) + dh_installdirs -p$(p_cxx_m) \ + $(docdir) + + debian/dh_doclink -p$(p_cxx_m) $(p_xbase) + debian/dh_rmemptydirs -p$(p_cxx_m) + + dh_strip -p$(p_cxx_m) + dh_shlibdeps -p$(p_cxx_m) + echo $(p_cxx_m) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-d.mk +++ gcc-7-7.1.0/debian/rules.d/binary-d.mk @@ -0,0 +1,264 @@ +ifneq ($(DEB_STAGE),rtlibs) + ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchsf))) + arch_binaries := $(arch_binaries) gdc-multi + endif + arch_binaries := $(arch_binaries) gdc + + ifeq ($(with_libphobos),yes) + $(lib_binaries) += libphobos-dev + $(lib_binaries) += libphobos + endif + + ifeq ($(with_lib64phobosdev),yes) + $(lib_binaries) += lib64phobos-dev + endif + ifeq ($(with_lib32phobosdev),yes) + $(lib_binaries) += lib32phobos-dev + endif + ifeq ($(with_libn32phobosdev),yes) + $(lib_binaries) += libn32phobos-dev + endif + ifeq ($(with_libx32phobosdev),yes) + $(lib_binaries) += libx32phobos-dev + endif + ifeq ($(with_libhfphobosdev),yes) + $(lib_binaries) += libhfphobos-dev + endif + ifeq ($(with_libsfphobosdev),yes) + $(lib_binaries) += libsfphobos-dev + endif + + ifeq ($(with_lib64phobos),yes) + $(lib_binaries) += lib64phobos + endif + ifeq ($(with_lib32phobos),yes) + $(lib_binaries) += lib32phobos + endif + ifeq ($(with_libn32phobos),yes) + $(lib_binaries) += libn32phobos + endif + ifeq ($(with_libx32phobos),yes) + $(lib_binaries) += libx32phobos + endif + ifeq ($(with_libhfphobos),yes) + $(lib_binaries) += libhfphobos + endif + ifeq ($(with_libsfphobos),yes) + $(lib_binaries) += libsfphobos + endif +endif + +p_gdc = gdc$(pkg_ver)$(cross_bin_arch) +p_gdc_m = gdc$(pkg_ver)-multilib$(cross_bin_arch) +p_libphobos = libgphobos$(GPHOBOS_SONAME) +p_libphobosdev = libgphobos$(pkg_ver)-dev + +d_gdc = debian/$(p_gdc) +d_gdc_m = debian/$(p_gdc_m) +d_libphobos = debian/$(p_libphobos) +d_libphobosdev = debian/$(p_libphobosdev) + +ifeq ($(DEB_CROSS),yes) + gdc_include_dir := $(gcc_lib_dir)/include/d +else + gdc_include_dir := $(PF)/include/d/$(BASE_VERSION) +endif +# FIXME: always here? +gdc_include_dir := $(gcc_lib_dir)/include/d + +dirs_gdc = \ + $(PF)/bin \ + $(PF)/share/man/man1 \ + $(gcc_lexec_dir) +ifneq ($(DEB_CROSS),yes) + dirs_gdc += \ + $(gdc_include_dir) +endif + +files_gdc = \ + $(PF)/bin/$(cmd_prefix)gdc$(pkg_ver) \ + $(gcc_lexec_dir)/cc1d +ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl) + files_gdc += \ + $(PF)/share/man/man1/$(cmd_prefix)gdc$(pkg_ver).1 +endif + +dirs_libphobos = \ + $(PF)/lib \ + $(gdc_include_dir) \ + $(gcc_lib_dir) + +$(binary_stamp)-gdc: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_gdc) + dh_installdirs -p$(p_gdc) $(dirs_gdc) + + dh_installdocs -p$(p_gdc) src/gcc/d/README + dh_installchangelogs -p$(p_gdc) src/gcc/d/ChangeLog + + $(dh_compat2) dh_movefiles -p$(p_gdc) -X/zlib/ $(files_gdc) + +ifeq ($(with_libphobos),yes) + mv $(d)/$(usr_lib)/libgphobos.spec $(d_gdc)/$(gcc_lib_dir)/ +endif + +ifeq ($(unprefixed_names),yes) + ln -sf $(cmd_prefix)gdc$(pkg_ver) \ + $(d_gdc)/$(PF)/bin/gdc$(pkg_ver) + ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl) + ln -sf $(cmd_prefix)gdc$(pkg_ver).1 \ + $(d_gdc)/$(PF)/share/man/man1/gdc$(pkg_ver).1 + endif +endif + +# FIXME: __entrypoint.di needs to go into a libgdc-dev Multi-Arch: same package + # Always needed by gdc. + mkdir -p $(d_gdc)/$(gdc_include_dir) + cp $(srcdir)/libphobos/libdruntime/__entrypoint.di \ + $(d_gdc)/$(gdc_include_dir)/. +#ifneq ($(DEB_CROSS),yes) +# dh_link -p$(p_gdc) \ +# /$(gdc_include_dir) \ +# /$(dir $(gdc_include_dir))/$(GCC_VERSION) +#endif + + dh_link -p$(p_gdc) \ + /$(docdir)/$(p_gcc)/README.Bugs \ + /$(docdir)/$(p_gdc)/README.Bugs + + dh_strip -p$(p_gdc) \ + $(if $(unstripped_exe),-X/cc1d) + dh_shlibdeps -p$(p_gdc) + echo $(p_gdc) >> debian/arch_binaries + + find $(d_gdc) -type d -empty -delete + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +$(binary_stamp)-gdc-multi: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_gdc_m) + dh_installdirs -p$(p_gdc_m) $(docdir) + + debian/dh_doclink -p$(p_gdc_m) $(p_xbase) + + dh_strip -p$(p_gdc_m) + dh_shlibdeps -p$(p_gdc_m) + echo $(p_gdc_m) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +define __do_libphobos + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) \ + $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(usr_lib$(2))/libgphobos.so.* \ + $(usr_lib$(2))/libgdruntime.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + dh_strip -p$(p_l) --dbg-package=$(p_d) + ln -sf libgphobos.symbols debian/$(p_l).symbols + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) \ + -- -a$(call mlib_to_arch,$(2)) || echo XXXXXXXXXXX ERROR $(p_l) + rm -f debian/$(p_l).symbols + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search, \ + $(subst gphobos$(GPHOBOS_SONAME),gcc$(GCC_SONAME),$(p_l)) \ + ,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_l)) + dh_lintian -p$(p_l) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +define __do_libphobos_dev + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) + dh_installdirs -p$(p_l) \ + $(gcc_lib_dir$(2)) + + $(call install_gcc_lib,libgdruntime,$(GDRUNTIME_SONAME),$(2),$(p_l)) + $(call install_gcc_lib,libgphobos,$(GPHOBOS_SONAME),$(2),$(p_l)) + + $(if $(2),, + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(gdc_include_dir) + ) + + : # included in gdc package + rm -f $(d_l)/$(gdc_include_dir)/__entrypoint.di + + debian/dh_doclink -p$(p_l) \ + $(if $(filter yes,$(with_separate_gdc)),$(p_gdc),$(p_lbase)) + echo $(p_l) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# don't put this as a comment within define/endef +# $(call install_gcc_lib,libphobos,$(PHOBOS_SONAME),$(2),$(p_l)) + +do_libphobos = $(call __do_libphobos,lib$(1)gphobos$(GPHOBOS_SONAME),$(1)) +do_libphobos_dev = $(call __do_libphobos_dev,lib$(1)gphobos-$(BASE_VERSION)-dev,$(1)) + +$(binary_stamp)-libphobos: $(install_stamp) + $(call do_libphobos,) + +$(binary_stamp)-lib64phobos: $(install_stamp) + $(call do_libphobos,64) + +$(binary_stamp)-lib32phobos: $(install_stamp) + $(call do_libphobos,32) + +$(binary_stamp)-libn32phobos: $(install_stamp) + $(call do_libphobos,n32) + +$(binary_stamp)-libx32phobos: $(install_stamp) + $(call do_libphobos,x32) + +$(binary_stamp)-libhfphobos: $(install_stamp) + $(call do_libphobos,hf) + +$(binary_stamp)-libsfphobos: $(install_stamp) + $(call do_libphobos,sf) + + +$(binary_stamp)-libphobos-dev: $(install_stamp) + $(call do_libphobos_dev,) + +$(binary_stamp)-lib64phobos-dev: $(install_stamp) + $(call do_libphobos_dev,64) + +$(binary_stamp)-lib32phobos-dev: $(install_stamp) + $(call do_libphobos_dev,32) + +$(binary_stamp)-libx32phobos-dev: $(install_stamp) + $(call do_libphobos_dev,x32) + +$(binary_stamp)-libn32phobos-dev: $(install_stamp) + $(call do_libphobos_dev,n32) + +$(binary_stamp)-libhfphobos-dev: $(install_stamp) + $(call do_libphobos_dev,hf) + +$(binary_stamp)-libsfphobos-dev: $(install_stamp) + $(call do_libphobos_dev,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-fixincl.mk +++ gcc-7-7.1.0/debian/rules.d/binary-fixincl.mk @@ -0,0 +1,42 @@ +arch_binaries := $(arch_binaries) fixincl + +p_fix = fixincludes +d_fix = debian/$(p_fix) + +dirs_fix = \ + $(docdir)/$(p_xbase)/fixincludes \ + $(PF)/share/man/man1 \ + $(PF)/bin \ + $(gcc_lexec_dir) \ + $(gcc_lib_dir) +files_fix = \ + $(gcc_lexec_dir)/install-tools \ + $(gcc_lib_dir)/install-tools + +# ---------------------------------------------------------------------- +$(binary_stamp)-fixincl: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_fix) + dh_installdirs -p$(p_fix) $(dirs_fix) + $(dh_compat2) dh_movefiles -p$(p_fix) $(files_fix) + +# $(IP) $(builddir)/gcc/fixinc/fixincl $(d_fix)/$(PF)/lib/fixincludes/ +# sed -e "s,^FIXINCL=\(.*\),FIXINCL=/$(PF)/lib/fixincludes/fixincl," \ +# $(builddir)/gcc/fixinc.sh \ +# > $(d_fix)/$(PF)/lib/fixincludes/fixinc.sh +# chmod 755 $(d_fix)/$(PF)/lib/fixincludes/fixinc.sh + $(IR) $(srcdir)/fixincludes/README \ + $(d_fix)/$(docdir)/$(p_xbase)/fixincludes + sed -e 's,@LIBEXECDIR@,$(gcc_lexec_dir),g' debian/fixincludes.in \ + > $(d_fix)/$(PF)/bin/fixincludes + chmod 755 $(d_fix)/$(PF)/bin/fixincludes + + debian/dh_doclink -p$(p_fix) $(p_xbase) + dh_strip -p$(p_fix) + dh_shlibdeps -p$(p_fix) + echo $(p_fix) >> debian/arch_binaries.epoch + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-fortran.mk +++ gcc-7-7.1.0/debian/rules.d/binary-fortran.mk @@ -0,0 +1,267 @@ +ifeq ($(with_libgfortran),yes) + $(lib_binaries) += libgfortran +endif +ifeq ($(with_fdev),yes) + $(lib_binaries) += libgfortran-dev +endif +ifeq ($(with_lib64gfortran),yes) + $(lib_binaries) += lib64fortran +endif +ifeq ($(with_lib64gfortrandev),yes) + $(lib_binaries) += lib64gfortran-dev +endif +ifeq ($(with_lib32gfortran),yes) + $(lib_binaries) += lib32fortran +endif +ifeq ($(with_lib32gfortrandev),yes) + $(lib_binaries) += lib32gfortran-dev +endif +ifeq ($(with_libn32gfortran),yes) + $(lib_binaries) += libn32fortran +endif +ifeq ($(with_libn32gfortrandev),yes) + $(lib_binaries) += libn32gfortran-dev +endif +ifeq ($(with_libx32gfortran),yes) + $(lib_binaries) += libx32fortran +endif +ifeq ($(with_libx32gfortrandev),yes) + $(lib_binaries) += libx32gfortran-dev +endif +ifeq ($(with_libhfgfortran),yes) + $(lib_binaries) += libhffortran +endif +ifeq ($(with_libhfgfortrandev),yes) + $(lib_binaries) += libhfgfortran-dev +endif +ifeq ($(with_libsfgfortran),yes) + $(lib_binaries) += libsffortran +endif +ifeq ($(with_libsfgfortrandev),yes) + $(lib_binaries) += libsfgfortran-dev +endif + +ifeq ($(with_fdev),yes) + ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf))) + arch_binaries := $(arch_binaries) fdev-multi + endif + arch_binaries := $(arch_binaries) fdev + ifneq ($(DEB_CROSS),yes) + ifneq ($(GFDL_INVARIANT_FREE),yes) + indep_binaries := $(indep_binaries) fortran-doc + endif + endif +endif + +p_g95 = gfortran$(pkg_ver)$(cross_bin_arch) +p_g95_m = gfortran$(pkg_ver)-multilib$(cross_bin_arch) +p_g95d = gfortran$(pkg_ver)-doc +p_flib = libgfortran$(FORTRAN_SONAME)$(cross_lib_arch) + +d_g95 = debian/$(p_g95) +d_g95_m = debian/$(p_g95_m) +d_g95d = debian/$(p_g95d) + +dirs_g95 = \ + $(docdir)/$(p_xbase)/fortran \ + $(PF)/bin \ + $(gcc_lexec_dir) \ + $(gcc_lib_dir) \ + $(PF)/include \ + $(PF)/share/man/man1 +files_g95 = \ + $(PF)/bin/$(cmd_prefix)gfortran$(pkg_ver) \ + $(gcc_lib_dir)/finclude \ + $(gcc_lexec_dir)/f951 + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_g95 += \ + $(PF)/share/man/man1/$(cmd_prefix)gfortran$(pkg_ver).1 +endif + +# ---------------------------------------------------------------------- +define __do_fortran + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libgfortran.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + if [ -f debian/$(p_l).overrides ]; then \ + mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \ + cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ + fi + + dh_strip -p$(p_l) --dbg-package=$(p_d) + ln -sf libgfortran.symbols debian/$(p_l).symbols + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search, \ + $(subst gfortran$(FORTRAN_SONAME),gcc$(GCC_SONAME),$(p_l)) \ + $(subst gfortran$(FORTRAN_SONAME),gcc$(QUADMATH_SONAME),$(p_l)) \ + ,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +do_fortran = $(call __do_fortran,lib$(1)gfortran$(FORTRAN_SONAME),$(1)) + + +define __do_libgfortran_dev + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) + dh_installdirs -p$(1) $(gcc_lib_dir$(2)) + + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(gcc_lib_dir$(2))/libcaf_single.a + $(call install_gcc_lib,libgfortran,$(FORTRAN_SONAME),$(2),$(p_l)) + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_rmemptydirs -p$(p_l) + + dh_strip -p$(p_l) + $(cross_shlibdeps) dh_shlibdeps -p$(p_l) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef +# ---------------------------------------------------------------------- + +do_libgfortran_dev = $(call __do_libgfortran_dev,lib$(1)gfortran-$(BASE_VERSION)-dev,$(1)) + +$(binary_stamp)-libgfortran: $(install_stamp) + $(call do_fortran,) + +$(binary_stamp)-lib64fortran: $(install_stamp) + $(call do_fortran,64) + +$(binary_stamp)-lib32fortran: $(install_stamp) + $(call do_fortran,32) + +$(binary_stamp)-libn32fortran: $(install_stamp) + $(call do_fortran,n32) + +$(binary_stamp)-libx32fortran: $(install_stamp) + $(call do_fortran,x32) + +$(binary_stamp)-libhffortran: $(install_stamp) + $(call do_fortran,hf) + +$(binary_stamp)-libsffortran: $(install_stamp) + $(call do_fortran,sf) + +# ---------------------------------------------------------------------- +$(binary_stamp)-fdev: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_g95) + dh_installdirs -p$(p_g95) $(dirs_g95) + + $(dh_compat2) dh_movefiles -p$(p_g95) $(files_g95) + + mv $(d)/$(usr_lib)/libgfortran.spec $(d_g95)/$(gcc_lib_dir)/ + +ifeq ($(unprefixed_names),yes) + ln -sf $(cmd_prefix)gfortran$(pkg_ver) \ + $(d_g95)/$(PF)/bin/gfortran$(pkg_ver) + ifneq ($(GFDL_INVARIANT_FREE),yes) + ln -sf $(cmd_prefix)gfortran$(pkg_ver).1 \ + $(d_g95)/$(PF)/share/man/man1/gfortran$(pkg_ver).1 + endif +endif + +ifeq ($(GFDL_INVARIANT_FREE),yes) + mkdir -p $(d_g95)/usr/share/lintian/overrides + echo '$(p_g95) binary: binary-without-manpage' \ + >> $(d_g95)/usr/share/lintian/overrides/$(p_g95) +endif + + debian/dh_doclink -p$(p_g95) $(p_xbase) + + cp -p $(srcdir)/gcc/fortran/ChangeLog \ + $(d_g95)/$(docdir)/$(p_xbase)/fortran/changelog + debian/dh_rmemptydirs -p$(p_g95) + + dh_strip -p$(p_g95) \ + $(if $(unstripped_exe),-X/f951) + dh_shlibdeps -p$(p_g95) + echo $(p_g95) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-fdev-multi: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_g95_m) + dh_installdirs -p$(p_g95_m) $(docdir) + + debian/dh_doclink -p$(p_g95_m) $(p_xbase) + debian/dh_rmemptydirs -p$(p_g95_m) + dh_strip -p$(p_g95_m) + dh_shlibdeps -p$(p_g95_m) + echo $(p_g95_m) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-fortran-doc: $(build_html_stamp) $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_g95d) + dh_installdirs -p$(p_g95d) \ + $(docdir)/$(p_xbase)/fortran \ + $(PF)/share/info + $(dh_compat2) dh_movefiles -p$(p_g95d) \ + $(PF)/share/info/gfortran* + + debian/dh_doclink -p$(p_g95d) $(p_xbase) +ifneq ($(GFDL_INVARIANT_FREE),yes) + dh_installdocs -p$(p_g95d) + rm -f $(d_g95d)/$(docdir)/$(p_xbase)/copyright + cp -p html/gfortran.html $(d_g95d)/$(docdir)/$(p_xbase)/fortran/ +endif + echo $(p_g95d) >> debian/indep_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +$(binary_stamp)-libgfortran-dev: $(install_stamp) + $(call do_libgfortran_dev,) + +$(binary_stamp)-lib64gfortran-dev: $(install_stamp) + $(call do_libgfortran_dev,64) + +$(binary_stamp)-lib32gfortran-dev: $(install_stamp) + $(call do_libgfortran_dev,32) + +$(binary_stamp)-libn32gfortran-dev: $(install_stamp) + $(call do_libgfortran_dev,n32) + +$(binary_stamp)-libx32gfortran-dev: $(install_stamp) + $(call do_libgfortran_dev,x32) + +$(binary_stamp)-libhfgfortran-dev: $(install_stamp) + $(call do_libgfortran_dev,hf) + +$(binary_stamp)-libsfgfortran-dev: $(install_stamp) + $(call do_libgfortran_dev,sf) + --- gcc-7-7.1.0.orig/debian/rules.d/binary-gcc.mk +++ gcc-7-7.1.0/debian/rules.d/binary-gcc.mk @@ -0,0 +1,360 @@ +ifneq ($(DEB_STAGE),rtlibs) + ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf))) + arch_binaries := $(arch_binaries) gcc-multi + endif + ifeq ($(with_plugins),yes) + arch_binaries := $(arch_binaries) gcc-plugindev + endif + + arch_binaries := $(arch_binaries) gcc + + ifneq ($(DEB_CROSS),yes) + ifneq ($(GFDL_INVARIANT_FREE),yes) + indep_binaries := $(indep_binaries) gcc-doc + endif + ifeq ($(with_nls),yes) + indep_binaries := $(indep_binaries) gcc-locales + endif + endif + + ifeq ($(build_type),build-native) + arch_binaries := $(arch_binaries) testresults + endif +endif + +# gcc must be moved after g77 and g++ +# not all files $(PF)/include/*.h are part of gcc, +# but it becomes difficult to name all these files ... + +dirs_gcc = \ + $(docdir)/$(p_xbase)/{gcc,libssp,gomp,itm,quadmath,sanitizer,cilkrts,mpx} \ + $(PF)/bin \ + $(gcc_lexec_dir) \ + $(gcc_lib_dir)/{include,include-fixed} \ + $(PF)/share/man/man1 $(libgcc_dir) + +# XXX: what about triarch mapping? +files_gcc = \ + $(PF)/bin/$(cmd_prefix){gcc,gcov,gcov-tool,gcov-dump}$(pkg_ver) \ + $(PF)/bin/$(cmd_prefix)gcc-{ar,ranlib,nm}$(pkg_ver) \ + $(PF)/share/man/man1/$(cmd_prefix)gcc-{ar,nm,ranlib}$(pkg_ver).1 \ + $(gcc_lexec_dir)/{collect2,lto1,lto-wrapper} \ + $(shell test -e $(d)/$(gcc_lib_dir)/SYSCALLS.c.X \ + && echo $(gcc_lib_dir)/SYSCALLS.c.X) + +ifeq ($(with_libcc1_plugin),yes) + files_gcc += \ + $(gcc_lib_dir)/plugin/libc[cp]1plugin.so{,.0,.0.0.0} +endif + +ifeq ($(DEB_STAGE),stage1) + files_gcc += \ + $(gcc_lib_dir)/include \ + $(shell for h in \ + README limits.h syslimits.h; \ + do \ + test -e $(d)/$(gcc_lib_dir)/include-fixed/$$h \ + && echo $(gcc_lib_dir)/include-fixed/$$h; \ + done) +endif + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_gcc += \ + $(PF)/share/man/man1/$(cmd_prefix){gcc,gcov}$(pkg_ver).1 \ + $(PF)/share/man/man1/$(cmd_prefix)gcov-{dump,tool}$(pkg_ver).1 +endif + +usr_doc_files = debian/README.Bugs \ + $(shell test -f $(srcdir)/FAQ && echo $(srcdir)/FAQ) + +p_loc = gcc$(pkg_ver)-locales +d_loc = debian/$(p_loc) + +p_gcc_m = gcc$(pkg_ver)-multilib$(cross_bin_arch) +d_gcc_m = debian/$(p_gcc_m) + +p_pld = gcc$(pkg_ver)-plugin-dev$(cross_bin_arch) +d_pld = debian/$(p_pld) + +p_tst = gcc$(pkg_ver)-test-results +d_tst = debian/$(p_tst) + +# ---------------------------------------------------------------------- +$(binary_stamp)-gcc: $(install_dependencies) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_gcc) + dh_installdirs -p$(p_gcc) $(dirs_gcc) + +ifeq ($(with_linaro_branch),yes) + if [ -f $(srcdir)/gcc/ChangeLog.linaro ]; then \ + cp -p $(srcdir)/gcc/ChangeLog.linaro \ + $(d_gcc)/$(docdir)/$(p_xbase)/changelog.linaro; \ + fi +endif +ifeq ($(with_libssp),yes) + cp -p $(srcdir)/libssp/ChangeLog \ + $(d_gcc)/$(docdir)/$(p_xbase)/libssp/changelog +endif +ifeq ($(with_gomp),yes) + mv $(d)/$(usr_lib)/libgomp*.spec $(d_gcc)/$(gcc_lib_dir)/ + cp -p $(srcdir)/libgomp/ChangeLog \ + $(d_gcc)/$(docdir)/$(p_xbase)/gomp/changelog +endif +ifeq ($(with_itm),yes) + mv $(d)/$(usr_lib)/libitm*.spec $(d_gcc)/$(gcc_lib_dir)/ + cp -p $(srcdir)/libitm/ChangeLog \ + $(d_gcc)/$(docdir)/$(p_xbase)/itm/changelog +endif +ifeq ($(with_qmath),yes) + cp -p $(srcdir)/libquadmath/ChangeLog \ + $(d_gcc)/$(docdir)/$(p_xbase)/quadmath/changelog +endif +ifeq ($(with_asan),yes) + mv $(d)/$(usr_lib)/libsanitizer*.spec $(d_gcc)/$(gcc_lib_dir)/ + cp -p $(srcdir)/libsanitizer/ChangeLog \ + $(d_gcc)/$(docdir)/$(p_xbase)/sanitizer/changelog +endif +ifeq ($(with_cilkrts),yes) + mv $(d)/$(usr_lib)/libcilkrts.spec $(d_gcc)/$(gcc_lib_dir)/ + cp -p $(srcdir)/libcilkrts/ChangeLog \ + $(d_gcc)/$(docdir)/$(p_xbase)/cilkrts/changelog +endif +ifeq ($(with_mpx),yes) + mv $(d)/$(usr_lib)/libmpx.spec $(d_gcc)/$(gcc_lib_dir)/ + cp -p $(srcdir)/libmpx/ChangeLog \ + $(d_gcc)/$(docdir)/$(p_xbase)/mpx/changelog +endif +ifeq ($(with_cc1),yes) + rm -f $(d)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libcc1.so + dh_link -p$(p_gcc) \ + /$(PF)/lib/$(DEB_HOST_MULTIARCH)/libcc1.so.$(CC1_SONAME) \ + /$(gcc_lib_dir)/libcc1.so +endif + + $(dh_compat2) dh_movefiles -p$(p_gcc) $(files_gcc) + +ifeq ($(unprefixed_names),yes) + for i in gcc gcov gcov-dump gcov-tool gcc-ar gcc-nm gcc-ranlib; do \ + ln -sf $(cmd_prefix)$$i$(pkg_ver) \ + $(d_gcc)/$(PF)/bin/$$i$(pkg_ver); \ + done + ifneq ($(GFDL_INVARIANT_FREE),yes) + for i in gcc gcov gcov-dump gcov-tool; do \ + ln -sf $(cmd_prefix)$$i$(pkg_ver).1.gz \ + $(d_gcc)/$(PF)/share/man/man1/$$i$(pkg_ver).1.gz; \ + done + endif + for i in gcc-ar gcc-nm gcc-ranlib; do \ + ln -sf $(cmd_prefix)$$i$(pkg_ver).1.gz \ + $(d_gcc)/$(PF)/share/man/man1/$$i$(pkg_ver).1.gz; \ + done +endif + +# dh_installdebconf + debian/dh_doclink -p$(p_gcc) $(p_xbase) + cp -p $(usr_doc_files) $(d_gcc)/$(docdir)/$(p_xbase)/. + cp -p debian/README.ssp $(d_gcc)/$(docdir)/$(p_xbase)/ + cp -p debian/NEWS.gcc $(d_gcc)/$(docdir)/$(p_xbase)/NEWS + cp -p debian/NEWS.html $(d_gcc)/$(docdir)/$(p_xbase)/NEWS.html + cp -p $(srcdir)/ChangeLog $(d_gcc)/$(docdir)/$(p_xbase)/changelog + cp -p $(srcdir)/gcc/ChangeLog \ + $(d_gcc)/$(docdir)/$(p_xbase)/gcc/changelog + if [ -f $(builddir)/gcc/.bad_compare ]; then \ + ( \ + echo "The comparision of the stage2 and stage3 object files shows differences."; \ + echo "The Debian package was modified to ignore these differences."; \ + echo ""; \ + echo "The following files differ:"; \ + echo ""; \ + cat $(builddir)/gcc/.bad_compare; \ + ) > $(d_gcc)/$(docdir)/$(p_xbase)/BOOTSTRAP_COMPARISION_FAILURE; \ + else \ + true; \ + fi + +ifeq ($(GFDL_INVARIANT_FREE),yes) + mkdir -p $(d_gcc)/usr/share/lintian/overrides + echo '$(p_gcc) binary: binary-without-manpage' \ + >> $(d_gcc)/usr/share/lintian/overrides/$(p_gcc) +endif + + debian/dh_rmemptydirs -p$(p_gcc) + dh_strip -p$(p_gcc) \ + $(if $(unstripped_exe),-X/lto1) + dh_shlibdeps -p$(p_gcc) + echo $(p_gcc) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- + +$(binary_stamp)-gcc-multi: $(install_dependencies) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_gcc_m) + dh_installdirs -p$(p_gcc_m) $(docdir) + + debian/dh_doclink -p$(p_gcc_m) $(p_xbase) + debian/dh_rmemptydirs -p$(p_gcc_m) + + dh_strip -p$(p_gcc_m) + dh_shlibdeps -p$(p_gcc_m) + echo $(p_gcc_m) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-gcc-plugindev: $(install_dependencies) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_pld) + dh_installdirs -p$(p_pld) \ + $(docdir) \ + $(gcc_lib_dir)/plugin + $(dh_compat2) dh_movefiles -p$(p_pld) \ + $(gcc_lib_dir)/plugin/include \ + $(gcc_lib_dir)/plugin/gtype.state \ + $(gcc_lexec_dir)/plugin/gengtype + + debian/dh_doclink -p$(p_pld) $(p_xbase) + debian/dh_rmemptydirs -p$(p_pld) + dh_strip -p$(p_pld) + dh_shlibdeps -p$(p_pld) + echo $(p_pld) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-gcc-locales: $(install_dependencies) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_loc) + dh_installdirs -p$(p_loc) \ + $(docdir) + $(dh_compat2) dh_movefiles -p$(p_loc) \ + $(PF)/share/locale/*/*/cpplib*.* \ + $(PF)/share/locale/*/*/gcc*.* + + debian/dh_doclink -p$(p_loc) $(p_xbase) + debian/dh_rmemptydirs -p$(p_loc) + echo $(p_loc) >> debian/indep_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + + +# ---------------------------------------------------------------------- + +$(binary_stamp)-testresults: $(install_dependencies) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_tst) + dh_installdirs -p$(p_tst) $(docdir) + + debian/dh_doclink -p$(p_tst) $(p_xbase) + + mkdir -p $(d_tst)/$(docdir)/$(p_xbase)/test + echo "TEST COMPARE BEGIN" +ifeq ($(with_check),yes) + for i in test-summary testsuite-comparision; do \ + [ -f $$i ] || continue; \ + cp -p $$i $(d_tst)/$(docdir)/$(p_xbase)/$$i; \ + done +# more than one libgo.sum, avoid it + cp -p $$(find $(builddir)/gcc/testsuite -maxdepth 2 \( -name '*.sum' -o -name '*.log' \)) \ + $$(find $(buildlibdir)/*/testsuite -maxdepth 1 \( -name '*.sum' -o -name '*.log' \) ! -name 'libgo.*') \ + $(d_tst)/$(docdir)/$(p_xbase)/test/ + ifeq ($(with_go),yes) + cp -p $(buildlibdir)/libgo/libgo.sum \ + $(d_tst)/$(docdir)/$(p_xbase)/test/ + endif + ifeq (0,1) + cd $(builddir); \ + for i in $(CURDIR)/$(d_tst)/$(docdir)/$(p_xbase)/test/*.sum; do \ + b=$$(basename $$i); \ + if [ -f /usr/share/doc/$(p_xbase)/test/$$b.gz ]; then \ + zcat /usr/share/doc/$(p_xbase)/test/$$b.gz > /tmp/$$b; \ + if sh $(srcdir)/contrib/test_summary /tmp/$$b $$i; then \ + echo "$$b: OK"; \ + else \ + echo "$$b: FAILURES"; \ + fi; \ + rm -f /tmp/$$b; \ + else \ + echo "Test summary for $$b is not available"; \ + fi; \ + done + endif + if which xz 2>&1 >/dev/null; then \ + echo -n $(d_tst)/$(docdir)/$(p_xbase)/test/* \ + | xargs -d ' ' -L 1 -P $(USE_CPUS) xz -7v; \ + fi +else + echo "Nothing to compare (testsuite not run)" + echo 'Test run disabled, reason: $(with_check)' \ + > $(d_tst)/$(docdir)/$(p_xbase)/test-run-disabled +endif + echo "TEST COMPARE END" + + debian/dh_rmemptydirs -p$(p_tst) + + echo $(p_tst) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-gcc-doc: $(build_html_stamp) $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_doc) + dh_installdirs -p$(p_doc) \ + $(docdir)/$(p_xbase) \ + $(PF)/share/info + $(dh_compat2) dh_movefiles -p$(p_doc) \ + $(PF)/share/info/cpp{,internals}-* \ + $(PF)/share/info/gcc{,int}-* \ + $(PF)/share/info/lib{gomp,itm}-* \ + $(if $(with_qmath),$(PF)/share/info/libquadmath-*) + rm -f $(d_doc)/$(PF)/share/info/gccinst* + +ifeq ($(with_gomp),yes) + $(MAKE) -C $(buildlibdir)/libgomp stamp-build-info + cp -p $(buildlibdir)/libgomp/$(cmd_prefix)libgomp$(pkg_ver).info \ + $(d_doc)/$(PF)/share/info/libgomp$(pkg_ver).info +endif +ifeq ($(with_itm),yes) + -$(MAKE) -C $(buildlibdir)/libitm stamp-build-info + if [ -f $(buildlibdir)/libitm/libitm$(pkg_ver).info ]; then \ + cp -p $(buildlibdir)/libitm/$(cmd_prefix)libitm$(pkg_ver).info \ + $(d_doc)/$(PF)/share/info/; \ + fi +endif + + debian/dh_doclink -p$(p_doc) $(p_xbase) + dh_installdocs -p$(p_doc) html/gcc.html html/gccint.html +ifeq ($(with_gomp),yes) + cp -p html/libgomp.html $(d_doc)/usr/share/doc/$(p_doc)/ +endif +ifeq ($(with_itm),yes) + cp -p html/libitm.html $(d_doc)/usr/share/doc/$(p_doc)/ +endif +ifeq ($(with_qmath),yes) + cp -p html/libquadmath.html $(d_doc)/usr/share/doc/$(p_doc)/ +endif + rm -f $(d_doc)/$(docdir)/$(p_xbase)/copyright + debian/dh_rmemptydirs -p$(p_doc) + echo $(p_doc) >> debian/indep_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-go.mk +++ gcc-7-7.1.0/debian/rules.d/binary-go.mk @@ -0,0 +1,329 @@ +ifeq ($(with_libgo),yes) + $(lib_binaries) += libgo +endif +ifeq ($(with_lib64go),yes) + $(lib_binaries) += lib64go +endif +ifeq ($(with_lib32go),yes) + $(lib_binaries) += lib32go +endif +ifeq ($(with_libn32go),yes) + $(lib_binaries) += libn32go +endif +ifeq ($(with_libx32go),yes) + $(lib_binaries) += libx32go +endif + +ifneq ($(DEB_STAGE),rtlibs) + arch_binaries := $(arch_binaries) gccgo + ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32))) + arch_binaries := $(arch_binaries) gccgo-multi + endif + ifneq ($(DEB_CROSS),yes) + ifneq ($(GFDL_INVARIANT_FREE),yes) + indep_binaries := $(indep_binaries) go-doc + endif + endif +endif + +p_go = gccgo$(pkg_ver)$(cross_bin_arch) +p_go_m = gccgo$(pkg_ver)-multilib$(cross_bin_arch) +p_god = gccgo$(pkg_ver)-doc +p_golib = libgo$(GO_SONAME)$(cross_lib_arch) + +d_go = debian/$(p_go) +d_go_m = debian/$(p_go_m) +d_god = debian/$(p_god) +d_golib = debian/$(p_golib) + +dirs_go = \ + $(docdir)/$(p_xbase)/go \ + $(PF)/bin \ + $(gcc_lexec_dir) \ + $(gcc_lib_dir) \ + $(PF)/include \ + $(PF)/share/man/man1 +files_go = \ + $(PF)/bin/$(cmd_prefix)gccgo$(pkg_ver) \ + $(gcc_lexec_dir)/go1 + +ifneq (,$(filter $(build_type), build-native cross-build-native)) + files_go += \ + $(PF)/bin/$(cmd_prefix){go,gofmt}$(pkg_ver) \ + $(gcc_lexec_dir)/cgo \ + $(PF)/share/man/man1/$(cmd_prefix){go,gofmt}$(pkg_ver).1 +endif + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_go += \ + $(PF)/share/man/man1/$(cmd_prefix)gccgo$(pkg_ver).1 +endif + +ifeq ($(with_standalone_go),yes) + + dirs_go += \ + $(gcc_lib_dir)/include \ + $(PF)/share/man/man1 + +# XXX: what about triarch mapping? + files_go += \ + $(PF)/bin/$(cmd_prefix){cpp,gcc,gcov,gcov-tool}$(pkg_ver) \ + $(PF)/bin/$(cmd_prefix)gcc-{ar,ranlib,nm}$(pkg_ver) \ + $(PF)/share/man/man1/$(cmd_prefix)gcc-{ar,nm,ranlib}$(pkg_ver).1 \ + $(gcc_lexec_dir)/{cc1,collect2,lto1,lto-wrapper} \ + $(gcc_lexec_dir)/liblto_plugin.so{,.0,.0.0.0} \ + $(gcc_lib_dir)/{libgcc*,libgcov.a,*.o} \ + $(header_files) \ + $(shell test -e $(d)/$(gcc_lib_dir)/SYSCALLS.c.X \ + && echo $(gcc_lib_dir)/SYSCALLS.c.X) + + ifeq ($(with_cc1),yes) + files_go += \ + $(gcc_lib_dir)/plugin/libcc1plugin.so{,.0,.0.0.0} + endif + + ifneq ($(GFDL_INVARIANT_FREE),yes) + files_go += \ + $(PF)/share/man/man1/$(cmd_prefix){cpp,gcc,gcov,gcov-tool}$(pkg_ver).1 + endif + + ifeq ($(biarch64),yes) + files_go += $(gcc_lib_dir)/$(biarch64subdir)/{libgcc*,libgcov.a,*.o} + endif + ifeq ($(biarch32),yes) + files_go += $(gcc_lib_dir)/$(biarch32subdir)/{libgcc*,*.o} + endif + ifeq ($(biarchn32),yes) + files_go += $(gcc_lib_dir)/$(biarchn32subdir)/{libgcc*,libgcov.a,*.o} + endif + ifeq ($(biarchx32),yes) + files_go += $(gcc_lib_dir)/$(biarchx32subdir)/{libgcc*,libgcov.a,*.o} + endif +endif + +# ---------------------------------------------------------------------- +define __do_gccgo + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(usr_lib$(2))/libgo.so.* $(usr_lib$(2))/go + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + mkdir -p debian/$(p_l)/usr/share/lintian/overrides + echo '$(p_l) binary: unstripped-binary-or-object' \ + >> debian/$(p_l)/usr/share/lintian/overrides/$(p_l) + + : # don't strip: https://gcc.gnu.org/ml/gcc-patches/2015-02/msg01722.html + : # dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search, \ + $(subst go$(GO_SONAME),gcc$(GCC_SONAME),$(p_l)) \ + $(subst go$(GO_SONAME),atomic$(ATOMIC_SONAME),$(p_l)) \ + ,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +do_gccgo = $(call __do_gccgo,lib$(1)go$(GO_SONAME),$(1)) + +define install_gccgo_lib + mv $(d)/$(usr_lib$(3))/$(1).a debian/$(4)/$(gcc_lib_dir$(3))/ + if [ -f $(d)/$(usr_lib$(3))/$(1)libbegin.a ]; then \ + mv $(d)/$(usr_lib$(3))/$(1)libbegin.a debian/$(4)/$(gcc_lib_dir$(3))/; \ + fi + rm -f $(d)/$(usr_lib$(3))/$(1)*.{la,so} + dh_link -p$(4) \ + /$(usr_lib$(3))/$(1).so.$(2) /$(gcc_lib_dir$(3))/$(1).so +endef + +# __do_gccgo_libgcc(flavour,package,todir,fromdir) +define __do_gccgo_libgcc + $(if $(findstring gccgo,$(PKGSOURCE)), + : # libgcc_s.so may be a linker script on some architectures + set -e; \ + if [ -h $(4)/libgcc_s.so ]; then \ + rm -f $(4)/libgcc_s.so; \ + dh_link -p$(2) /$(libgcc_dir$(1))/libgcc_s.so.$(GCC_SONAME) \ + $(3)/libgcc_s.so; \ + else \ + mv $(4)/libgcc_s.so $(d)/$(3)/libgcc_s.so; \ + dh_link -p$(2) /$(libgcc_dir$(1))/libgcc_s.so.$(GCC_SONAME) \ + $(3)/libgcc_s.so.$(GCC_SONAME); \ + fi; \ + $(if $(1), dh_link -p$(2) /$(3)/libgcc_s.so \ + $(gcc_lib_dir)/libgcc_s_$(1).so;) + ) +endef + +define do_go_dev + dh_installdirs -p$(2) $(gcc_lib_dir$(1)) + $(dh_compat2) dh_movefiles -p$(2) \ + $(gcc_lib_dir$(1))/{libgobegin,libgolibbegin}.a + $(if $(filter yes, $(with_standalone_go)), \ + $(call install_gccgo_lib,libgomp,$(GOMP_SONAME),$(1),$(2))) + $(call install_gccgo_lib,libgo,$(GO_SONAME),$(1),$(2)) + $(call __do_gccgo_libgcc,$(1),$(2),$(gcc_lib_dir$(1)),$(d)/$(usr_lib$(1))) +endef +# ---------------------------------------------------------------------- +$(binary_stamp)-libgo: $(install_stamp) + $(call do_gccgo,) + +$(binary_stamp)-lib64go: $(install_stamp) + $(call do_gccgo,64) + +$(binary_stamp)-lib32go: $(install_stamp) + $(call do_gccgo,32) + +$(binary_stamp)-libn32go: $(install_stamp) + $(call do_gccgo,n32) + +$(binary_stamp)-libx32go: $(install_stamp) + $(call do_gccgo,x32) + +# ---------------------------------------------------------------------- +$(binary_stamp)-gccgo: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_go) + dh_installdirs -p$(p_go) $(dirs_go) + + mv $(d)/$(usr_lib)/{libgobegin,libgolibbegin}.a \ + $(d)/$(gcc_lib_dir)/ + if [ -f $(d)/$(usr_lib64)/libgobegin.a ]; then \ + mv $(d)/$(usr_lib64)/{libgobegin,libgolibbegin}.a \ + $(d)/$(gcc_lib_dir)/64/; \ + fi + if [ -f $(d)/$(usr_lib32)/libgobegin.a ]; then \ + mv $(d)/$(usr_lib32)/{libgobegin,libgolibbegin}.a \ + $(d)/$(gcc_lib_dir)/32/; \ + fi + if [ -f $(d)/$(usr_libn32)/libgobegin.a ]; then \ + mv $(d)/$(usr_libn32)/{libgobegin,libgolibbegin}.a \ + $(d)/$(gcc_lib_dir)/n32/; \ + fi + if [ -f $(d)/$(usr_libx32)/libgobegin.a ]; then \ + mv $(d)/$(usr_libx32)/{libgobegin,libgolibbegin}.a \ + $(d)/$(gcc_lib_dir)/x32/; \ + fi + + $(call do_go_dev,,$(p_go)) + + $(dh_compat2) dh_movefiles -p$(p_go) $(files_go) + +ifneq (,$(findstring gccgo,$(PKGSOURCE))) + rm -rf $(d_go)/$(gcc_lib_dir)/include/cilk + rm -rf $(d_go)/$(gcc_lib_dir)/include/openacc.h +endif + +ifeq ($(unprefixed_names),yes) + ln -sf $(cmd_prefix)gccgo$(pkg_ver) \ + $(d_go)/$(PF)/bin/gccgo$(pkg_ver) + ln -sf $(cmd_prefix)go$(pkg_ver) \ + $(d_go)/$(PF)/bin/go$(pkg_ver) + ln -sf $(cmd_prefix)gofmt$(pkg_ver) \ + $(d_go)/$(PF)/bin/gofmt$(pkg_ver) + ifneq ($(GFDL_INVARIANT_FREE),yes) + ln -sf $(cmd_prefix)gccgo$(pkg_ver).1 \ + $(d_go)/$(PF)/share/man/man1/gccgo$(pkg_ver).1 + endif + ln -sf $(cmd_prefix)go$(pkg_ver).1 \ + $(d_go)/$(PF)/share/man/man1/go$(pkg_ver).1 + ln -sf $(cmd_prefix)gofmt$(pkg_ver).1 \ + $(d_go)/$(PF)/share/man/man1/gofmt$(pkg_ver).1 +endif + +ifeq ($(with_standalone_go),yes) + ifeq ($(unprefixed_names),yes) + for i in gcc gcov gcov-tool gcc-ar gcc-nm gcc-ranlib; do \ + ln -sf $(cmd_prefix)$$i$(pkg_ver) \ + $(d_go)/$(PF)/bin/$$i$(pkg_ver); \ + done + ifneq ($(GFDL_INVARIANT_FREE),yes) + for i in gcc gcov gcov-tool gcc-ar gcc-nm gcc-ranlib; do \ + ln -sf $(cmd_prefix)gcc$(pkg_ver).1 \ + $(d_go)/$(PF)/share/man/man1/$$i$(pkg_ver).1; \ + done + endif + endif + ifeq ($(with_gomp),yes) + mv $(d)/$(usr_lib)/libgomp*.spec $(d_go)/$(gcc_lib_dir)/ + endif + ifeq ($(with_cc1),yes) + rm -f $(d)/$(usr_lib)/libcc1.so + dh_link -p$(p_go) \ + /$(usr_lib)/libcc1.so.$(CC1_SONAME) /$(gcc_lib_dir)/libcc1.so + endif +endif + +ifeq ($(GFDL_INVARIANT_FREE),yes) + mkdir -p $(d_go)/usr/share/lintian/overrides + echo '$(p_go) binary: binary-without-manpage' \ + >> $(d_go)/usr/share/lintian/overrides/$(p_go) +endif + + debian/dh_doclink -p$(p_go) $(p_xbase) + +# cp -p $(srcdir)/gcc/go/ChangeLog \ +# $(d_go)/$(docdir)/$(p_base)/go/changelog + debian/dh_rmemptydirs -p$(p_go) + + dh_strip -v -p$(p_go) -X/cgo -X/go$(pkg_ver) -X/gofmt$(pkg_ver) \ + $(if $(unstripped_exe),-X/go1) + dh_shlibdeps -p$(p_go) + echo $(p_go) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-gccgo-multi: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_go_m) + dh_installdirs -p$(p_go_m) $(docdir) + + $(foreach flavour,$(flavours), \ + $(call do_go_dev,$(flavour),$(p_go_m))) + + debian/dh_doclink -p$(p_go_m) $(p_xbase) + debian/dh_rmemptydirs -p$(p_go_m) + dh_strip -p$(p_go_m) + dh_shlibdeps -p$(p_go_m) + echo $(p_go_m) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-go-doc: $(build_html_stamp) $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_god) + dh_installdirs -p$(p_god) \ + $(docdir)/$(p_xbase)/go \ + $(PF)/share/info + $(dh_compat2) dh_movefiles -p$(p_god) \ + $(PF)/share/info/gccgo* + + debian/dh_doclink -p$(p_god) $(p_xbase) + dh_installdocs -p$(p_god) + rm -f $(d_god)/$(docdir)/$(p_xbase)/copyright + cp -p html/gccgo.html $(d_god)/$(docdir)/$(p_xbase)/go/ + echo $(p_god) >> debian/indep_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-hppa64.mk +++ gcc-7-7.1.0/debian/rules.d/binary-hppa64.mk @@ -0,0 +1,32 @@ +arch_binaries := $(arch_binaries) hppa64 + +# ---------------------------------------------------------------------- +$(binary_stamp)-hppa64: $(install_hppa64_stamp) + dh_testdir + dh_testroot + +# dh_installdirs -p$(p_hppa64) + + rm -f $(d_hppa64)/usr/lib/libiberty.a + -find $(d_hppa64) ! -type d + + : # provide as and ld links + dh_link -p $(p_hppa64) \ + /usr/bin/hppa64-linux-gnu-as \ + /$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/as \ + /usr/bin/hppa64-linux-gnu-ld \ + /$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/ld + + debian/dh_doclink -p$(p_hppa64) $(p_xbase) + debian/dh_rmemptydirs -p$(p_hppa64) + + dh_strip -p$(p_hppa64) -X.o -Xlibgcc.a -Xlibgcov.a + dh_shlibdeps -p$(p_hppa64) + + mkdir -p $(d_hppa64)/usr/share/lintian/overrides + cp -p debian/$(p_hppa64).overrides \ + $(d_hppa64)/usr/share/lintian/overrides/$(p_hppa64) + + echo $(p_hppa64) >> debian/arch_binaries + + touch $@ --- gcc-7-7.1.0.orig/debian/rules.d/binary-libasan.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libasan.mk @@ -0,0 +1,76 @@ +$(lib_binaries) += libasan +ifeq ($(with_lib64asan),yes) + $(lib_binaries) += lib64asan +endif +ifeq ($(with_lib32asan),yes) + $(lib_binaries) += lib32asan +endif +ifeq ($(with_libn32asan),yes) + $(lib_binaries) += libn32asan +endif +ifeq ($(with_libx32asan),yes) + $(lib_binaries) += libx32asan +endif +ifeq ($(with_libhfasan),yes) + $(lib_binaries) += libhfasan +endif +ifeq ($(with_libsfasan),yes) + $(lib_binaries) += libsfasan +endif + +define __do_asan + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libasan.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + if [ -f debian/$(p_l).overrides ]; then \ + mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \ + cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ + fi + + dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search, \ + $(subst asan$(ASAN_SONAME),gcc$(GCC_SONAME),$(p_l)) \ + $(subst asan$(ASAN_SONAME),stdc++$(CXX_SONAME),$(p_l)) \ + ,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_asan = $(call __do_asan,lib$(1)asan$(ASAN_SONAME),$(1)) + +$(binary_stamp)-libasan: $(install_stamp) + $(call do_asan,) + +$(binary_stamp)-lib64asan: $(install_stamp) + $(call do_asan,64) + +$(binary_stamp)-lib32asan: $(install_stamp) + $(call do_asan,32) + +$(binary_stamp)-libn32asan: $(install_stamp) + $(call do_asan,n32) + +$(binary_stamp)-libx32asan: $(install_stamp) + $(call do_asan,x32) + +$(binary_stamp)-libhfasan: $(install_dependencies) + $(call do_asan,hf) + +$(binary_stamp)-libsfasan: $(install_dependencies) + $(call do_asan,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libatomic.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libatomic.mk @@ -0,0 +1,68 @@ +$(lib_binaries) += libatomic +ifeq ($(with_lib64atomic),yes) + $(lib_binaries) += lib64atomic +endif +ifeq ($(with_lib32atomic),yes) + $(lib_binaries) += lib32atomic +endif +ifeq ($(with_libn32atomic),yes) + $(lib_binaries) += libn32atomic +endif +ifeq ($(with_libx32atomic),yes) + $(lib_binaries) += libx32atomic +endif +ifeq ($(with_libhfatomic),yes) + $(lib_binaries) += libhfatomic +endif +ifeq ($(with_libsfatomic),yes) + $(lib_binaries) += libsfatomic +endif + +define __do_atomic + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libatomic.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + dh_strip -p$(p_l) --dbg-package=$(p_d) + ln -sf libatomic.symbols debian/$(p_l).symbols + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search,,$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_atomic = $(call __do_atomic,lib$(1)atomic$(ATOMIC_SONAME),$(1)) + +$(binary_stamp)-libatomic: $(install_stamp) + $(call do_atomic,) + +$(binary_stamp)-lib64atomic: $(install_stamp) + $(call do_atomic,64) + +$(binary_stamp)-lib32atomic: $(install_stamp) + $(call do_atomic,32) + +$(binary_stamp)-libn32atomic: $(install_stamp) + $(call do_atomic,n32) + +$(binary_stamp)-libx32atomic: $(install_stamp) + $(call do_atomic,x32) + +$(binary_stamp)-libhfatomic: $(install_dependencies) + $(call do_atomic,hf) + +$(binary_stamp)-libsfatomic: $(install_dependencies) + $(call do_atomic,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libcc1.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libcc1.mk @@ -0,0 +1,31 @@ +ifeq ($(with_libcc1),yes) + ifneq ($(DEB_CROSS),yes) + arch_binaries := $(arch_binaries) libcc1 + endif +endif + +p_cc1 = libcc1-$(CC1_SONAME) +d_cc1 = debian/$(p_cc1) + +# ---------------------------------------------------------------------- +$(binary_stamp)-libcc1: $(install_dependencies) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_cc1) + dh_installdirs -p$(p_cc1) \ + $(docdir) \ + $(usr_lib) + $(dh_compat2) dh_movefiles -p$(p_cc1) \ + $(usr_lib)/libcc1.so.* + + debian/dh_doclink -p$(p_cc1) $(p_xbase) + debian/dh_rmemptydirs -p$(p_cc1) + + dh_strip -p$(p_cc1) + dh_makeshlibs -p$(p_cc1) + dh_shlibdeps -p$(p_cc1) + echo $(p_cc1) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libcilkrts.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libcilkrts.mk @@ -0,0 +1,76 @@ +$(lib_binaries) += libcilkrts +ifeq ($(with_lib64cilkrts),yes) + $(lib_binaries) += lib64cilkrts +endif +ifeq ($(with_lib32cilkrts),yes) + $(lib_binaries) += lib32cilkrts +endif +ifeq ($(with_libn32cilkrts),yes) + $(lib_binaries) += libn32cilkrts +endif +ifeq ($(with_libx32cilkrts),yes) + $(lib_binaries) += libx32cilkrts +endif +ifeq ($(with_libhfcilkrts),yes) + $(lib_binaries) += libhfcilkrts +endif +ifeq ($(with_libsfcilkrts),yes) + $(lib_binaries) += libsfcilkrts +endif + +define __do_cilkrts + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libcilkrts.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + if [ -f debian/$(p_l).overrides ]; then \ + mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \ + cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ + fi + + dh_strip -p$(p_l) --dbg-package=$(p_d) + ln -sf libcilkrts.symbols debian/$(p_l).symbols + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search, \ + $(subst cilkrts$(CILKRTS_SONAME),gcc$(GCC_SONAME),$(p_l)) \ + $(subst cilkrts$(CILKRTS_SONAME),stdc++$(CXX_SONAME),$(p_l)) \ + ,$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_cilkrts = $(call __do_cilkrts,lib$(1)cilkrts$(CILKRTS_SONAME),$(1)) + +$(binary_stamp)-libcilkrts: $(install_stamp) + $(call do_cilkrts,) + +$(binary_stamp)-lib64cilkrts: $(install_stamp) + $(call do_cilkrts,64) + +$(binary_stamp)-lib32cilkrts: $(install_stamp) + $(call do_cilkrts,32) + +$(binary_stamp)-libn32cilkrts: $(install_stamp) + $(call do_cilkrts,n32) + +$(binary_stamp)-libx32cilkrts: $(install_stamp) + $(call do_cilkrts,x32) + +$(binary_stamp)-libhfcilkrts: $(install_dependencies) + $(call do_cilkrts,hf) + +$(binary_stamp)-libsfcilkrts: $(install_dependencies) + $(call do_cilkrts,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libgcc.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libgcc.mk @@ -0,0 +1,379 @@ +ifeq ($(with_libgcc),yes) + $(lib_binaries) += libgcc +endif +ifeq ($(with_lib64gcc),yes) + $(lib_binaries) += lib64gcc +endif +ifeq ($(with_lib32gcc),yes) + $(lib_binaries) += lib32gcc +endif +ifeq ($(with_libn32gcc),yes) + $(lib_binaries) += libn32gcc +endif +ifeq ($(with_libx32gcc),yes) + $(lib_binaries) += libx32gcc +endif +ifeq ($(with_libhfgcc),yes) + $(lib_binaries) += libhfgcc +endif +ifeq ($(with_libsfgcc),yes) + $(lib_binaries) += libsfgcc +endif + +ifneq ($(DEB_STAGE),rtlibs) + ifeq ($(with_cdev),yes) + $(lib_binaries) += libgcc-dev + endif + ifeq ($(with_lib64gccdev),yes) + $(lib_binaries) += lib64gcc-dev + endif + ifeq ($(with_lib32gccdev),yes) + $(lib_binaries) += lib32gcc-dev + endif + ifeq ($(with_libn32gccdev),yes) + $(lib_binaries) += libn32gcc-dev + endif + ifeq ($(with_libx32gccdev),yes) + $(lib_binaries) += libx32gcc-dev + endif + ifeq ($(with_libhfgccdev),yes) + $(lib_binaries) += libhfgcc-dev + endif + ifeq ($(with_libsfgccdev),yes) + $(lib_binaries) += libsfgcc-dev + endif +endif + +header_files = \ + $(gcc_lib_dir)/include/std*.h \ + $(shell for h in \ + README features.h arm_fp16.h arm_neon.h loongson.h \ + {cpuid,decfloat,float,iso646,limits,mm3dnow,mm_malloc}.h \ + {ppu_intrinsics,paired,spu2vmx,vec_types,si2vmx}.h \ + {,a,b,e,i,n,p,s,t,w,x}mmintrin.h mmintrin-common.h \ + {abm,adx,avx,avx2,bmi,bmi2,f16c,fma,fma4,fxsr,ia32,}intrin.h \ + {lwp,lzcnt,popcnt,prfchw,rdseed,rtm,tbm,x86,xop,xsave{,opt},xtest,}intrin.h \ + {htm,htmxl,mwaitx,pku,sha,vec,sgx}intrin.h \ + avx512{bw,er,cd,dq,f,ifma,ifmavl,pf,vlbw,vbmi,vldq,vbmivl,vl}intrin.h \ + avx512{4fmaps,4vnniw,vpopcntdq}intrin.h \ + {clflushopt,clwb,clzero,pcommit,xsavec,xsaves}intrin.h \ + {arm_acle,unwind-arm-common,s390intrin}.h \ + {cross-stdarg,syslimits,unwind,varargs}.h; \ + do \ + test -e $(d)/$(gcc_lib_dir)/include/$$h \ + && echo $(gcc_lib_dir)/include/$$h; \ + test -e $(d)/$(gcc_lib_dir)/include-fixed/$$h \ + && echo $(gcc_lib_dir)/include-fixed/$$h; \ + done) \ + $(shell for d in \ + asm bits cilk gnu linux sanitizer $(TARGET_ALIAS) \ + $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu),$(TARGET_ALIAS)); \ + do \ + test -e $(d)/$(gcc_lib_dir)/include/$$d \ + && echo $(gcc_lib_dir)/include/$$d; \ + test -e $(d)/$(gcc_lib_dir)/include-fixed/$$d \ + && echo $(gcc_lib_dir)/include-fixed/$$d; \ + done) + +ifeq ($(with_libssp),yes) + header_files += $(gcc_lib_dir)/include/ssp +endif +ifeq ($(with_gomp),yes) + header_files += $(gcc_lib_dir)/include/{omp,openacc}.h +endif +ifeq ($(with_qmath),yes) + header_files += $(gcc_lib_dir)/include/quadmath{,_weak}.h +endif + +ifeq ($(DEB_TARGET_ARCH),ia64) + header_files += $(gcc_lib_dir)/include/ia64intrin.h +endif + +ifeq ($(DEB_TARGET_ARCH),m68k) + header_files += $(gcc_lib_dir)/include/math-68881.h +endif + +ifeq ($(DEB_TARGET_ARCH),$(findstring $(DEB_TARGET_ARCH),powerpc ppc64 ppc64el powerpcspe)) + header_files += $(gcc_lib_dir)/include/{altivec.h,ppc-asm.h,spe.h} +endif + +ifeq ($(DEB_TARGET_ARCH),tilegx) + header_files += $(gcc_lib_dir)/include/feedback.h +endif + +p_lgcc = libgcc$(GCC_SONAME)$(cross_lib_arch) +p_lgccdbg = libgcc$(GCC_SONAME)-dbg$(cross_lib_arch) +p_lgccdev = libgcc-$(BASE_VERSION)-dev$(cross_lib_arch) +d_lgcc = debian/$(p_lgcc) +d_lgccdbg = debian/$(p_lgccdbg) +d_lgccdev = debian/$(p_lgccdev) + +p_l32gcc = lib32gcc$(GCC_SONAME)$(cross_lib_arch) +p_l32gccdbg = lib32gcc$(GCC_SONAME)-dbg$(cross_lib_arch) +p_l32gccdev = lib32gcc-$(BASE_VERSION)-dev$(cross_lib_arch) +d_l32gcc = debian/$(p_l32gcc) +d_l32gccdbg = debian/$(p_l32gccdbg) +d_l32gccdev = debian/$(p_l32gccdev) + +p_l64gcc = lib64gcc$(GCC_SONAME)$(cross_lib_arch) +p_l64gccdbg = lib64gcc$(GCC_SONAME)-dbg$(cross_lib_arch) +p_l64gccdev = lib64gcc-$(BASE_VERSION)-dev$(cross_lib_arch) +d_l64gcc = debian/$(p_l64gcc) +d_l64gccdbg = debian/$(p_l64gccdbg) +d_l64gccdev = debian/$(p_l64gccdev) + +p_ln32gcc = libn32gcc$(GCC_SONAME)$(cross_lib_arch) +p_ln32gccdbg = libn32gcc$(GCC_SONAME)-dbg$(cross_lib_arch) +p_ln32gccdev = libn32gcc-$(BASE_VERSION)-dev$(cross_lib_arch) +d_ln32gcc = debian/$(p_ln32gcc) +d_ln32gccdbg = debian/$(p_ln32gccdbg) +d_ln32gccdev = debian/$(p_ln32gccdev) + +p_lx32gcc = libx32gcc$(GCC_SONAME)$(cross_lib_arch) +p_lx32gccdbg = libx32gcc$(GCC_SONAME)-dbg$(cross_lib_arch) +p_lx32gccdev = libx32gcc-$(BASE_VERSION)-dev$(cross_lib_arch) +d_lx32gcc = debian/$(p_lx32gcc) +d_lx32gccdbg = debian/$(p_lx32gccdbg) +d_lx32gccdev = debian/$(p_lx32gccdev) + +p_lhfgcc = libhfgcc$(GCC_SONAME)$(cross_lib_arch) +p_lhfgccdbg = libhfgcc$(GCC_SONAME)-dbg$(cross_lib_arch) +p_lhfgccdev = libhfgcc-$(BASE_VERSION)-dev$(cross_lib_arch) +d_lhfgcc = debian/$(p_lhfgcc) +d_lhfgccdbg = debian/$(p_lhfgccdbg) +d_lhfgccdev = debian/$(p_lhfgccdev) + +p_lsfgcc = libsfgcc$(GCC_SONAME)$(cross_lib_arch) +p_lsfgccdbg = libsfgcc$(GCC_SONAME)-dbg$(cross_lib_arch) +p_lsfgccdev = libsfgcc-$(BASE_VERSION)-dev$(cross_lib_arch) +d_lsfgcc = debian/$(p_lsfgcc) +d_lsfgccdbg = debian/$(p_lsfgccdbg) +d_lsfgccdev = debian/$(p_lsfgccdev) + +# __do_gcc_devels(flavour,package,todir,fromdir) +define __do_gcc_devels + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + test -n "$(2)" + rm -rf debian/$(2) + dh_installdirs -p$(2) $(docdir) #TODO + dh_installdirs -p$(2) $(3) + + $(call __do_gcc_devels2,$(1),$(2),$(3),$(4)) + + debian/dh_doclink -p$(2) $(p_lbase) + debian/dh_rmemptydirs -p$(2) + + dh_strip -p$(2) + $(cross_shlibdeps) dh_shlibdeps -p$(2) + $(call cross_mangle_substvars,$(2)) + echo $(2) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# __do_gcc_devels2(flavour,package,todir,fromdir) +define __do_gcc_devels2 +# stage1 builds static libgcc only + $(if $(filter $(DEB_STAGE),stage1),, + : # libgcc_s.so may be a linker script on some architectures + set -e; \ + if [ -h $(4)/libgcc_s.so ]; then \ + rm -f $(4)/libgcc_s.so; \ + dh_link -p$(2) /$(libgcc_dir$(1))/libgcc_s.so.$(GCC_SONAME) \ + /$(3)/libgcc_s.so; \ + else \ + mv $(4)/libgcc_s.so $(d)/$(3)/libgcc_s.so; \ + dh_link -p$(2) /$(libgcc_dir$(1))/libgcc_s.so.$(GCC_SONAME) \ + /$(3)/libgcc_s.so.$(GCC_SONAME); \ + fi; \ + $(if $(1), dh_link -p$(2) /$(3)/libgcc_s.so \ + /$(gcc_lib_dir)/libgcc_s_$(1).so;) + ) + $(dh_compat2) dh_movefiles -p$(2) \ + $(3)/{libgcc*,libgcov.a,*.o} \ + $(if $(1),,$(header_files)) # Only move headers for the "main" package + + : # libbacktrace not installed by default + $(if $(filter yes, $(with_backtrace)), + if [ -f $(buildlibdir)/$(1)/libbacktrace/.libs/libbacktrace.a ]; then \ + install -m644 $(buildlibdir)/$(1)/libbacktrace/.libs/libbacktrace.a \ + debian/$(2)/$(gcc_lib_dir)/$(1); \ + fi; \ + $(if $(1),, + if [ -f $(buildlibdir)/libbacktrace/backtrace-supported.h ]; then \ + install -m644 $(buildlibdir)/libbacktrace/backtrace-supported.h \ + debian/$(2)/$(gcc_lib_dir)/include/; \ + install -m644 $(srcdir)/libbacktrace/backtrace.h \ + debian/$(2)/$(gcc_lib_dir)/include/; \ + fi + )) + + : # If building a flavour, add a lintian override + $(if $(1), + #TODO: use a file instead of a hacky echo + # bu do we want to use one override file (in the source package) per + # flavour or not since they are essentially the same? + mkdir -p debian/$(2)/usr/share/lintian/overrides + echo "$(2) binary: binary-from-other-architecture" \ + >> debian/$(2)/usr/share/lintian/overrides/$(2) + ) + $(if $(filter yes, $(with_lib$(1)gmath)), + $(call install_gcc_lib,libgcc-math,$(GCC_SONAME),$(1),$(2)) + ) + $(if $(filter yes, $(with_libssp)), + $(call install_gcc_lib,libssp,$(SSP_SONAME),$(1),$(2)) + ) + $(if $(filter yes, $(with_ssp)), + mv $(4)/libssp_nonshared.a debian/$(2)/$(3)/; + ) + $(if $(filter yes, $(with_gomp)), + $(call install_gcc_lib,libgomp,$(GOMP_SONAME),$(1),$(2)) + ) + $(if $(filter yes, $(with_itm)), + $(call install_gcc_lib,libitm,$(ITM_SONAME),$(1),$(2)) + ) + $(if $(filter yes, $(with_atomic)), + $(call install_gcc_lib,libatomic,$(ATOMIC_SONAME),$(1),$(2)) + ) + $(if $(filter yes, $(with_asan)), + $(call install_gcc_lib,libasan,$(ASAN_SONAME),$(1),$(2)) + mv $(4)/libasan_preinit.o debian/$(2)/$(3)/; + ) + $(if $(1),,$(if $(filter yes, $(with_lsan)), + $(call install_gcc_lib,liblsan,$(LSAN_SONAME),$(1),$(2)) + )) + $(if $(1),,$(if $(filter yes, $(with_tsan)), + $(call install_gcc_lib,libtsan,$(TSAN_SONAME),$(1),$(2)) + )) + $(if $(filter yes, $(with_ubsan)), + $(call install_gcc_lib,libubsan,$(UBSAN_SONAME),$(1),$(2)) + ) + $(if $(filter yes, $(with_vtv)), + $(call install_gcc_lib,libvtv,$(VTV_SONAME),$(1),$(2)) + ) + $(if $(filter yes, $(with_cilkrts)), + $(call install_gcc_lib,libcilkrts,$(CILKRTS_SONAME),$(1),$(2)) + ) + $(if $(filter yes, $(with_mpx)), + $(if $(filter x32, $(1)),, + $(call install_gcc_lib,libmpxwrappers,$(MPX_SONAME),$(1),$(2)) + $(call install_gcc_lib,libmpx,$(MPX_SONAME),$(1),$(2)) + ) + ) + $(if $(filter yes, $(with_qmath)), + $(call install_gcc_lib,libquadmath,$(QUADMATH_SONAME),$(1),$(2)) + ) +endef + +# do_gcc_devels(flavour) +define do_gcc_devels + $(call __do_gcc_devels,$(1),$(p_l$(1)gccdev),$(gcc_lib_dir$(1)),$(d)/$(usr_lib$(1))) +endef + + +define __do_libgcc + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + + dh_installdirs -p$(p_l) \ + $(docdir)/$(p_l) \ + $(libgcc_dir$(2)) + + $(if $(filter yes,$(with_shared_libgcc)), + mv $(d)/$(usr_lib$(2))/libgcc_s.so.$(GCC_SONAME) \ + $(d_l)/$(libgcc_dir$(2))/. + ) + + debian/dh_doclink -p$(p_l) $(if $(3),$(3),$(p_lbase)) + debian/dh_doclink -p$(p_d) $(if $(3),$(3),$(p_lbase)) + debian/dh_rmemptydirs -p$(p_l) + debian/dh_rmemptydirs -p$(p_d) + dh_strip -p$(p_l) --dbg-package=$(p_d) + + # see Debian #533843 for the __aeabi symbol handling; this construct is + # just to include the symbols for dpkg versions older than 1.15.3 which + # didn't allow bypassing the symbol blacklist + $(if $(filter yes,$(with_shared_libgcc)), + $(if $(findstring gcc1,$(p_l)), \ + ln -sf libgcc.symbols debian/$(p_l).symbols \ + ) + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) -p$(p_d) \ + -- -v$(DEB_LIBGCC_VERSION) -a$(call mlib_to_arch,$(2)) || echo XXXXXXXXXXXXXX ERROR $(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(if $(filter arm-linux-gnueabi%,$(DEB_TARGET_GNU_TYPE)), + if head -1 $(d_l)/DEBIAN/symbols 2>/dev/null | grep -q '^lib'; then \ + grep -q '^ __aeabi' $(d_l)/DEBIAN/symbols \ + || cat debian/libgcc.symbols.aeabi \ + >> $(d_l)/DEBIAN/symbols; \ + fi + ) + ) + + $(if $(DEB_STAGE),, + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search,,$(2)) + ) + $(call cross_mangle_substvars,$(p_l)) + + $(if $(2),, # only for native + mkdir -p $(d_l)/usr/share/lintian/overrides + echo '$(p_l): package-name-doesnt-match-sonames' \ + > $(d_l)/usr/share/lintian/overrides/$(p_l) + ) + + echo $(p_l) $(p_d) >> debian/$(lib_binaries).epoch + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +do_libgcc = $(call __do_libgcc,lib$(1)gcc$(GCC_SONAME),$(1),$(2)) +# ---------------------------------------------------------------------- + +$(binary_stamp)-libgcc: $(install_dependencies) + $(call do_libgcc,,) + +$(binary_stamp)-lib64gcc: $(install_dependencies) + $(call do_libgcc,64,) + +$(binary_stamp)-lib32gcc: $(install_dependencies) + $(call do_libgcc,32,) + +$(binary_stamp)-libn32gcc: $(install_dependencies) + $(call do_libgcc,n32,) + +$(binary_stamp)-libx32gcc: $(install_dependencies) + $(call do_libgcc,x32,) + +$(binary_stamp)-libhfgcc: $(install_dependencies) + $(call do_libgcc,hf) + +$(binary_stamp)-libsfgcc: $(install_dependencies) + $(call do_libgcc,sf) + +$(binary_stamp)-libgcc-dev: $(install_dependencies) + $(call do_gcc_devels,) + +$(binary_stamp)-lib64gcc-dev: $(install_dependencies) + $(call do_gcc_devels,64) + +$(binary_stamp)-lib32gcc-dev: $(install_dependencies) + $(call do_gcc_devels,32) + +$(binary_stamp)-libn32gcc-dev: $(install_dependencies) + $(call do_gcc_devels,n32) + +$(binary_stamp)-libx32gcc-dev: $(install_dependencies) + $(call do_gcc_devels,x32) + +$(binary_stamp)-libhfgcc-dev: $(install_dependencies) + $(call do_gcc_devels,hf) + +$(binary_stamp)-libsfgcc-dev: $(install_dependencies) + $(call do_gcc_devels,sf) + --- gcc-7-7.1.0.orig/debian/rules.d/binary-libgccjit.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libgccjit.mk @@ -0,0 +1,89 @@ +ifeq ($(with_libgccjit),yes) + $(lib_binaries) += libgccjit +endif + +$(lib_binaries) += libgccjitdev + +ifneq ($(DEB_CROSS),yes) + indep_binaries := $(indep_binaries) libgccjitdoc +endif + +p_jitlib = libgccjit$(GCCJIT_SONAME) +p_jitdbg = libgccjit$(GCCJIT_SONAME)-dbg +p_jitdev = libgccjit$(pkg_ver)-dev +p_jitdoc = libgccjit$(pkg_ver)-doc + +d_jitlib = debian/$(p_jitlib) +d_jitdev = debian/$(p_jitdev) +d_jitdbg = debian/$(p_jitdbg) +d_jitdoc = debian/$(p_jitdoc) + +$(binary_stamp)-libgccjit: $(install_jit_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_jitlib) $(d_jitdbg) + dh_installdirs -p$(p_jitlib) \ + $(usr_lib) + dh_installdirs -p$(p_jitdbg) + + $(dh_compat2) dh_movefiles -p$(p_jitlib) \ + $(usr_lib)/libgccjit.so.* + rm -f $(d)/$(usr_lib)/libgccjit.so + + debian/dh_doclink -p$(p_jitlib) $(p_base) + debian/dh_doclink -p$(p_jitdbg) $(p_base) + + dh_strip -p$(p_jitlib) --dbg-package=$(p_jitdbg) + $(cross_makeshlibs) dh_makeshlibs -p$(p_jitlib) + $(call cross_mangle_shlibs,$(p_jitlib)) + $(ignshld)$(cross_shlibdeps) dh_shlibdeps -p$(p_jitlib) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_jitlib)) + echo $(p_jitlib) $(p_jitdbg) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + touch $@ + +$(binary_stamp)-libgccjitdev: $(install_jit_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_jitdev) + dh_installdirs -p$(p_jitdev) \ + $(usr_lib) \ + $(gcc_lib_dir)/include + + rm -f $(d)/$(usr_lib)/libgccjit.so + + $(dh_compat2) dh_movefiles -p$(p_jitdev) \ + $(gcc_lib_dir)/include/libgccjit*.h + dh_link -p$(p_jitdev) \ + $(usr_lib)/libgccjit.so.$(GCCJIT_SONAME) $(gcc_lib_dir)/libgccjit.so + + debian/dh_doclink -p$(p_jitdev) $(p_base) + + echo $(p_jitdev) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + touch $@ + +$(binary_stamp)-libgccjitdoc: $(install_jit_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_jitdoc) + dh_installdirs -p$(p_jitdoc) \ + $(PF)/share/info + + $(dh_compat2) dh_movefiles -p$(p_jitdoc) \ + $(PF)/share/info/libgccjit* + + debian/dh_doclink -p$(p_jitdoc) $(p_base) + echo $(p_jitdoc) >> debian/indep_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + touch $@ --- gcc-7-7.1.0.orig/debian/rules.d/binary-libgomp.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libgomp.mk @@ -0,0 +1,68 @@ +$(lib_binaries) += libgomp +ifeq ($(with_lib64gomp),yes) + $(lib_binaries) += lib64gomp +endif +ifeq ($(with_lib32gomp),yes) + $(lib_binaries) += lib32gomp +endif +ifeq ($(with_libn32gomp),yes) + $(lib_binaries) += libn32gomp +endif +ifeq ($(with_libx32gomp),yes) + $(lib_binaries) += libx32gomp +endif +ifeq ($(with_libhfgomp),yes) + $(lib_binaries) += libhfgomp +endif +ifeq ($(with_libsfgomp),yes) + $(lib_binaries) += libsfgomp +endif + +define __do_gomp + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libgomp.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + dh_strip -p$(p_l) --dbg-package=$(p_d) + ln -sf libgomp.symbols debian/$(p_l).symbols + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search,$(subst gomp$(GOMP_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_gomp = $(call __do_gomp,lib$(1)gomp$(GOMP_SONAME),$(1)) + +$(binary_stamp)-libgomp: $(install_stamp) + $(call do_gomp,) + +$(binary_stamp)-lib64gomp: $(install_stamp) + $(call do_gomp,64) + +$(binary_stamp)-lib32gomp: $(install_stamp) + $(call do_gomp,32) + +$(binary_stamp)-libn32gomp: $(install_stamp) + $(call do_gomp,n32) + +$(binary_stamp)-libx32gomp: $(install_stamp) + $(call do_gomp,x32) + +$(binary_stamp)-libhfgomp: $(install_dependencies) + $(call do_gomp,hf) + +$(binary_stamp)-libsfgomp: $(install_dependencies) + $(call do_gomp,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libhsail.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libhsail.mk @@ -0,0 +1,133 @@ +ifeq ($(with_libhsailrt),yes) + $(lib_binaries) += libhsail +endif +ifeq ($(with_brigdev),yes) + $(lib_binaries) += libhsail-dev +endif +#ifeq ($(with_lib64hsailrt),yes) +# $(lib_binaries) += lib64hsail +#endif +#ifeq ($(with_lib64hsailrtdev),yes) +# $(lib_binaries) += lib64hsail-dev +#endif +#ifeq ($(with_lib32hsailrt),yes) +# $(lib_binaries) += lib32hsail +#endif +#ifeq ($(with_lib32hsailrtdev),yes) +# $(lib_binaries) += lib32hsail-dev +#endif +#ifeq ($(with_libn32hsailrt),yes) +# $(lib_binaries) += libn32hsail +#endif +#ifeq ($(with_libn32hsailrtdev),yes) +# $(lib_binaries) += libn32hsail-dev +#endif +#ifeq ($(with_libx32hsailrt),yes) +# $(lib_binaries) += libx32hsail +#endif +#ifeq ($(with_libx32hsailrtdev),yes) +# $(lib_binaries) += libx32hsail-dev +#endif +#ifeq ($(with_libhfhsailrt),yes) +# $(lib_binaries) += libhfhsail +#endif +#ifeq ($(with_libhfhsailrtdev),yes) +# $(lib_binaries) += libhfhsail-dev +#endif +#ifeq ($(with_libsfhsailrt),yes) +# $(lib_binaries) += libsfhsail +#endif +#ifeq ($(with_libsfhsailrt-dev),yes) +# $(lib_binaries) += libsfhsail-dev +#endif + +define __do_hsail + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libhsail-rt.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + dh_strip -p$(p_l) --dbg-package=$(p_d) + ln -sf libhsail-rt.symbols debian/$(p_l).symbols + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search,$(subst hsail-rt$(HSAIL_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +define __do_hsail_dev + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) + dh_installdirs -p$(p_l) \ + $(gcc_lib_dir$(2)) +# $(dh_compat2) dh_movefiles -p$(p_l) + + $(call install_gcc_lib,libhsail-rt,$(HSAIL_SONAME),$(2),$(p_l)) + + debian/dh_doclink -p$(p_l) $(p_lbase) + echo $(p_l) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_hsail = $(call __do_hsail,lib$(1)hsail-rt$(HSAIL_SONAME),$(1)) +do_hsail_dev = $(call __do_hsail_dev,lib$(1)hsail-rt-$(BASE_VERSION)-dev,$(1)) + +$(binary_stamp)-libhsail: $(install_stamp) + @echo XXXXXXXXXXXX XX $(HSAIL_SONAME) + $(call do_hsail,) + +$(binary_stamp)-lib64hsail: $(install_stamp) + $(call do_hsail,64) + +$(binary_stamp)-lib32hsail: $(install_stamp) + $(call do_hsail,32) + +$(binary_stamp)-libn32hsail: $(install_stamp) + $(call do_hsail,n32) + +$(binary_stamp)-libx32hsail: $(install_stamp) + $(call do_hsail,x32) + +$(binary_stamp)-libhfhsail: $(install_dependencies) + $(call do_hsail,hf) + +$(binary_stamp)-libsfhsail: $(install_dependencies) + $(call do_hsail,sf) + + +$(binary_stamp)-libhsail-dev: $(install_stamp) + $(call do_hsail_dev,) + +$(binary_stamp)-lib64hsail-dev: $(install_stamp) + $(call do_hsail_dev,64) + +$(binary_stamp)-lib32hsail-dev: $(install_stamp) + $(call do_hsail_dev,32) + +$(binary_stamp)-libx32hsail-dev: $(install_stamp) + $(call do_hsail_dev,x32) + +$(binary_stamp)-libn32hsail-dev: $(install_stamp) + $(call do_hsail_dev,n32) + +$(binary_stamp)-libhfhsail-dev: $(install_stamp) + $(call do_hsail_dev,hf) + +$(binary_stamp)-libsfhsail-dev: $(install_stamp) + $(call do_hsail_dev,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libitm.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libitm.mk @@ -0,0 +1,68 @@ +$(lib_binaries) += libitm +ifeq ($(with_lib64itm),yes) + $(lib_binaries) += lib64itm +endif +ifeq ($(with_lib32itm),yes) + $(lib_binaries) += lib32itm +endif +ifeq ($(with_libn32itm),yes) + $(lib_binaries) += libn32itm +endif +ifeq ($(with_libx32itm),yes) + $(lib_binaries) += libx32itm +endif +ifeq ($(with_libhfitm),yes) + $(lib_binaries) += libhfitm +endif +ifeq ($(with_libsfitm),yes) + $(lib_binaries) += libsfitm +endif + +define __do_itm + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libitm.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + dh_strip -p$(p_l) --dbg-package=$(p_d) + ln -sf libitm.symbols debian/$(p_l).symbols + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search,,$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_itm = $(call __do_itm,lib$(1)itm$(ITM_SONAME),$(1)) + +$(binary_stamp)-libitm: $(install_stamp) + $(call do_itm,) + +$(binary_stamp)-lib64itm: $(install_stamp) + $(call do_itm,64) + +$(binary_stamp)-lib32itm: $(install_stamp) + $(call do_itm,32) + +$(binary_stamp)-libn32itm: $(install_stamp) + $(call do_itm,n32) + +$(binary_stamp)-libx32itm: $(install_stamp) + $(call do_itm,x32) + +$(binary_stamp)-libhfitm: $(install_dependencies) + $(call do_itm,hf) + +$(binary_stamp)-libsfitm: $(install_dependencies) + $(call do_itm,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-liblsan.mk +++ gcc-7-7.1.0/debian/rules.d/binary-liblsan.mk @@ -0,0 +1,76 @@ +$(lib_binaries) += liblsan +ifeq ($(with_lib64lsan),yes) + $(lib_binaries) += lib64lsan +endif +ifeq ($(with_lib32lsan),yes) + $(lib_binaries) += lib32lsan +endif +ifeq ($(with_libn32lsan),yes) + $(lib_binaries) += libn32lsan +endif +ifeq ($(with_libx32lsan),yes) + $(lib_binaries) += libx32lsan +endif +ifeq ($(with_libhflsan),yes) + $(lib_binaries) += libhflsan +endif +ifeq ($(with_libsflsan),yes) + $(lib_binaries) += libsflsan +endif + +define __do_lsan + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/liblsan.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + if [ -f debian/$(p_l).overrides ]; then \ + mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \ + cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ + fi + + dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search, \ + $(subst lsan$(LSAN_SONAME),gcc$(GCC_SONAME),$(p_l)) \ + $(subst lsan$(LSAN_SONAME),stdc++$(CXX_SONAME),$(p_l)) \ + ,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_lsan = $(call __do_lsan,lib$(1)lsan$(LSAN_SONAME),$(1)) + +$(binary_stamp)-liblsan: $(install_stamp) + $(call do_lsan,) + +$(binary_stamp)-lib64lsan: $(install_stamp) + $(call do_lsan,64) + +$(binary_stamp)-lib32lsan: $(install_stamp) + $(call do_lsan,32) + +$(binary_stamp)-libn32lsan: $(install_stamp) + $(call do_lsan,n32) + +$(binary_stamp)-libx32lsan: $(install_stamp) + $(call do_lsan,x32) + +$(binary_stamp)-libhflsan: $(install_dependencies) + $(call do_lsan,hf) + +$(binary_stamp)-libsflsan: $(install_dependencies) + $(call do_lsan,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libmpx.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libmpx.mk @@ -0,0 +1,78 @@ +$(lib_binaries) += libmpx +ifeq ($(with_lib64mpx),yes) + $(lib_binaries) += lib64mpx +endif +ifeq ($(with_lib32mpx),yes) + $(lib_binaries) += lib32mpx +endif +ifeq ($(with_libn32mpx),yes) + $(lib_binaries) += libn32mpx +endif +ifeq ($(with_libx32mpx),yes) + $(lib_binaries) += libx32mpx +endif +ifeq ($(with_libhfmpx),yes) + $(lib_binaries) += libhfmpx +endif +ifeq ($(with_libsfmpx),yes) + $(lib_binaries) += libsfmpx +endif + +define __do_mpx + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(usr_lib$(2))/libmpx.so.* \ + $(usr_lib$(2))/libmpxwrappers.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + if [ -f debian/$(p_l).overrides ]; then \ + mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \ + cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ + fi + + dh_strip -p$(p_l) --dbg-package=$(p_d) + ln -sf libmpx.symbols debian/$(p_l).symbols + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search, \ + $(subst mpx$(MPX_SONAME),gcc$(GCC_SONAME),$(p_l)) \ + ,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_mpx = $(call __do_mpx,lib$(1)mpx$(MPX_SONAME),$(1)) + +$(binary_stamp)-libmpx: $(install_stamp) + $(call do_mpx,) + +$(binary_stamp)-lib64mpx: $(install_stamp) + $(call do_mpx,64) + +$(binary_stamp)-lib32mpx: $(install_stamp) + $(call do_mpx,32) + +$(binary_stamp)-libn32mpx: $(install_stamp) + $(call do_mpx,n32) + +$(binary_stamp)-libx32mpx: $(install_stamp) + $(call do_mpx,x32) + +$(binary_stamp)-libhfmpx: $(install_dependencies) + $(call do_mpx,hf) + +$(binary_stamp)-libsfmpx: $(install_dependencies) + $(call do_mpx,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libobjc.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libobjc.mk @@ -0,0 +1,159 @@ +ifeq ($(with_libobjc),yes) + $(lib_binaries) += libobjc +endif +ifeq ($(with_objcdev),yes) + $(lib_binaries) += libobjc-dev +endif +ifeq ($(with_lib64objc),yes) + $(lib_binaries) += lib64objc +endif +ifeq ($(with_lib64objcdev),yes) + $(lib_binaries) += lib64objc-dev +endif +ifeq ($(with_lib32objc),yes) + $(lib_binaries) += lib32objc +endif +ifeq ($(with_lib32objcdev),yes) + $(lib_binaries) += lib32objc-dev +endif +ifeq ($(with_libn32objc),yes) + $(lib_binaries) += libn32objc +endif +ifeq ($(with_libn32objcdev),yes) + $(lib_binaries) += libn32objc-dev +endif +ifeq ($(with_libx32objc),yes) + $(lib_binaries) += libx32objc +endif +ifeq ($(with_libx32objcdev),yes) + $(lib_binaries) += libx32objc-dev +endif +ifeq ($(with_libhfobjc),yes) + $(lib_binaries) += libhfobjc +endif +ifeq ($(with_libhfobjcdev),yes) + $(lib_binaries) += libhfobjc-dev +endif +ifeq ($(with_libsfobjc),yes) + $(lib_binaries) += libsfobjc +endif +ifeq ($(with_libsfobjcdev),yes) + $(lib_binaries) += libsfobjc-dev +endif + +files_lobjcdev= \ + $(gcc_lib_dir)/include/objc + +files_lobjc = \ + $(usr_lib$(2))/libobjc.so.* +ifeq ($(with_objc_gc),yes) + files_lobjc += \ + $(usr_lib$(2))/libobjc_gc.so.* +endif + +define __do_libobjc + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) \ + $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(files_lobjc) + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + dh_strip -p$(p_l) --dbg-package=$(p_d) + $(if $(2), + ln -sf libobjc.symbols debian/$(p_l).symbols , + fgrep -v libobjc.symbols.gc debian/libobjc.symbols > debian/$(p_l).symbols + ) + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) \ + -- -a$(call mlib_to_arch,$(2)) || echo XXXXXXXXXXXXXX ERROR $(p_l) + rm -f debian/$(p_l).symbols + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search,$(subst objc$(OBJC_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + + +define __do_libobjc_dev + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) + dh_installdirs -p$(p_l) \ + $(gcc_lib_dir$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(files_lobjcdev) + + $(call install_gcc_lib,libobjc,$(OBJC_SONAME),$(2),$(p_l)) + $(if $(filter yes,$(with_objc_gc)), + dh_link -p$(p_l) \ + /$(usr_lib$(2))/libobjc_gc.so.$(OBJC_SONAME) \ + /$(gcc_lib_dir$(2))/libobjc_gc.so + ) + + debian/dh_doclink -p$(p_l) $(p_lbase) + echo $(p_l) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + + + +# ---------------------------------------------------------------------- + +do_libobjc = $(call __do_libobjc,lib$(1)objc$(OBJC_SONAME),$(1)) +do_libobjc_dev = $(call __do_libobjc_dev,lib$(1)objc-$(BASE_VERSION)-dev,$(1)) + +$(binary_stamp)-libobjc: $(install_stamp) + $(call do_libobjc,) + +$(binary_stamp)-lib64objc: $(install_stamp) + $(call do_libobjc,64) + +$(binary_stamp)-lib32objc: $(install_stamp) + $(call do_libobjc,32) + +$(binary_stamp)-libn32objc: $(install_stamp) + $(call do_libobjc,n32) + +$(binary_stamp)-libx32objc: $(install_stamp) + $(call do_libobjc,x32) + +$(binary_stamp)-libhfobjc: $(install_stamp) + $(call do_libobjc,hf) + +$(binary_stamp)-libsfobjc: $(install_stamp) + $(call do_libobjc,sf) + + +$(binary_stamp)-libobjc-dev: $(install_stamp) + $(call do_libobjc_dev,) + +$(binary_stamp)-lib64objc-dev: $(install_stamp) + $(call do_libobjc_dev,64) + +$(binary_stamp)-lib32objc-dev: $(install_stamp) + $(call do_libobjc_dev,32) + +$(binary_stamp)-libx32objc-dev: $(install_stamp) + $(call do_libobjc_dev,x32) + +$(binary_stamp)-libn32objc-dev: $(install_stamp) + $(call do_libobjc_dev,n32) + +$(binary_stamp)-libhfobjc-dev: $(install_stamp) + $(call do_libobjc_dev,hf) + +$(binary_stamp)-libsfobjc-dev: $(install_stamp) + $(call do_libobjc_dev,sf) + --- gcc-7-7.1.0.orig/debian/rules.d/binary-libquadmath.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libquadmath.mk @@ -0,0 +1,68 @@ +$(lib_binaries) += libqmath +ifeq ($(with_lib64qmath),yes) + $(lib_binaries) += lib64qmath +endif +ifeq ($(with_lib32qmath),yes) + $(lib_binaries) += lib32qmath +endif +ifeq ($(with_libn32qmath),yes) + $(lib_binaries) += libn32qmath +endif +ifeq ($(with_libx32qmath),yes) + $(lib_binaries) += libx32qmath +endif +ifeq ($(with_libhfqmath),yes) + $(lib_binaries) += libhfqmath +endif +ifeq ($(with_libsfqmath),yes) + $(lib_binaries) += libsfqmath +endif + +define __do_qmath + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libquadmath.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + dh_strip -p$(p_l) --dbg-package=$(p_d) + ln -sf libquadmath.symbols debian/$(p_l).symbols + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search,,$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_qmath = $(call __do_qmath,lib$(1)quadmath$(QUADMATH_SONAME),$(1)) + +$(binary_stamp)-libqmath: $(install_stamp) + $(call do_qmath,) + +$(binary_stamp)-lib64qmath: $(install_stamp) + $(call do_qmath,64) + +$(binary_stamp)-lib32qmath: $(install_stamp) + $(call do_qmath,32) + +$(binary_stamp)-libn32qmath: $(install_stamp) + $(call do_qmath,n32) + +$(binary_stamp)-libx32qmath: $(install_stamp) + $(call do_qmath,x32) + +$(binary_stamp)-libhfqmath: $(install_stamp) + $(call do_qmath,hf) + +$(binary_stamp)-libsfqmath: $(install_stamp) + $(call do_qmath,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libssp.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libssp.mk @@ -0,0 +1,155 @@ +arch_binaries := $(arch_binaries) libssp +ifeq ($(with_lib64ssp),yes) + arch_binaries := $(arch_binaries) lib64ssp +endif +ifeq ($(with_lib32ssp),yes) + arch_binaries := $(arch_binaries) lib32ssp +endif +ifeq ($(with_libn32ssp),yes) + arch_binaries := $(arch_binaries) libn32ssp +endif +ifeq ($(with_libx32ssp),yes) + arch_binaries := $(arch_binaries) libx32ssp +endif + +p_ssp = libssp$(SSP_SONAME) +p_ssp32 = lib32ssp$(SSP_SONAME) +p_ssp64 = lib64ssp$(SSP_SONAME) +p_sspx32 = libx32ssp$(SSP_SONAME) +p_sspd = libssp$(SSP_SONAME)-dev + +d_ssp = debian/$(p_ssp) +d_ssp32 = debian/$(p_ssp32) +d_ssp64 = debian/$(p_ssp64) +d_sspx32 = debian/$(p_sspx32) +d_sspd = debian/$(p_sspd) + +dirs_ssp = \ + $(docdir)/$(p_base) \ + $(PF)/$(libdir) +files_ssp = \ + $(PF)/$(libdir)/libssp.so.* + +dirs_sspd = \ + $(docdir) \ + $(PF)/include \ + $(PF)/$(libdir) +files_sspd = \ + $(gcc_lib_dir)/include/ssp \ + $(PF)/$(libdir)/libssp.{a,so} \ + $(PF)/$(libdir)/libssp_nonshared.a + +ifeq ($(with_lib32ssp),yes) + dirs_sspd += $(lib32) + files_sspd += $(lib32)/libssp.{a,so} + files_sspd += $(lib32)/libssp_nonshared.a +endif +ifeq ($(with_lib64ssp),yes) + dirs_sspd += $(PF)/lib64 + files_sspd += $(PF)/lib64/libssp.{a,so} + files_sspd += $(PF)/lib64/libssp_nonshared.a +endif + +$(binary_stamp)-libssp: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_ssp) + dh_installdirs -p$(p_ssp) + + $(dh_compat2) dh_movefiles -p$(p_ssp) $(files_ssp) + debian/dh_doclink -p$(p_ssp) $(p_lbase) + + debian/dh_rmemptydirs -p$(p_ssp) + + dh_strip -p$(p_ssp) + dh_makeshlibs $(ldconfig_arg) -p$(p_ssp) -V '$(p_ssp) (>= $(DEB_SOVERSION))' + dh_shlibdeps -p$(p_ssp) + echo $(p_ssp) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-lib64ssp: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_ssp64) + dh_installdirs -p$(p_ssp64) \ + $(PF)/lib64 + $(dh_compat2) dh_movefiles -p$(p_ssp64) \ + $(PF)/lib64/libssp.so.* + + debian/dh_doclink -p$(p_ssp64) $(p_lbase) + + dh_strip -p$(p_ssp64) + dh_makeshlibs $(ldconfig_arg) -p$(p_ssp64) -V '$(p_ssp64) (>= $(DEB_SOVERSION))' +# dh_shlibdeps -p$(p_ssp64) + echo $(p_ssp64) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-lib32ssp: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_ssp32) + dh_installdirs -p$(p_ssp32) \ + $(lib32) + $(dh_compat2) dh_movefiles -p$(p_ssp32) \ + $(lib32)/libssp.so.* + + debian/dh_doclink -p$(p_ssp32) $(p_lbase) + + dh_strip -p$(p_ssp32) + dh_makeshlibs $(ldconfig_arg) -p$(p_ssp32) -V '$(p_ssp32) (>= $(DEB_SOVERSION))' +# dh_shlibdeps -p$(p_ssp32) + echo $(p_ssp32) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-libn32ssp: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_sspn32) + dh_installdirs -p$(p_sspn32) \ + $(PF)/$(libn32) + $(dh_compat2) dh_movefiles -p$(p_sspn32) \ + $(PF)/$(libn32)/libssp.so.* + + debian/dh_doclink -p$(p_sspn32) $(p_lbase) + + dh_strip -p$(p_sspn32) + dh_makeshlibs $(ldconfig_arg) -p$(p_sspn32) -V '$(p_sspn32) (>= $(DEB_SOVERSION))' +# dh_shlibdeps -p$(p_sspn32) + echo $(p_sspn32) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-libx32ssp: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_sspx32) + dh_installdirs -p$(p_sspx32) \ + $(PF)/$(libx32) + $(dh_compat2) dh_movefiles -p$(p_sspx32) \ + $(PF)/$(libx32)/libssp.so.* + + debian/dh_doclink -p$(p_sspx32) $(p_lbase) + + dh_strip -p$(p_sspx32) + dh_makeshlibs $(ldconfig_arg) -p$(p_sspx32) -V '$(p_sspx32) (>= $(DEB_SOVERSION))' +# dh_shlibdeps -p$(p_sspx32) + echo $(p_sspx32) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libstdcxx.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libstdcxx.mk @@ -0,0 +1,527 @@ +ifeq ($(with_libcxx),yes) + $(lib_binaries) += libstdcxx +endif +ifeq ($(with_lib64cxx),yes) + $(lib_binaries) += lib64stdcxx +endif +ifeq ($(with_lib32cxx),yes) + $(lib_binaries) += lib32stdcxx +endif +ifeq ($(with_libn32cxx),yes) + $(lib_binaries) += libn32stdcxx +endif +ifeq ($(with_libx32cxx),yes) + $(lib_binaries) += libx32stdcxx +endif +ifeq ($(with_libhfcxx),yes) + $(lib_binaries) += libhfstdcxx +endif +ifeq ($(with_libsfcxx),yes) + $(lib_binaries) += libsfstdcxx +endif + +ifneq ($(DEB_STAGE),rtlibs) + ifeq ($(with_lib64cxxdev),yes) + $(lib_binaries) += lib64stdcxx-dev + endif + ifeq ($(with_lib64cxxdbg),yes) + $(lib_binaries) += lib64stdcxxdbg + endif + ifeq ($(with_lib32cxxdev),yes) + $(lib_binaries) += lib32stdcxx-dev + endif + ifeq ($(with_lib32cxxdbg),yes) + $(lib_binaries) += lib32stdcxxdbg + endif + ifeq ($(with_libn32cxxdev),yes) + $(lib_binaries) += libn32stdcxx-dev + endif + ifeq ($(with_libn32cxxdbg),yes) + $(lib_binaries) += libn32stdcxxdbg + endif + ifeq ($(with_libx32cxxdev),yes) + $(lib_binaries) += libx32stdcxx-dev + endif + ifeq ($(with_libx32cxxdbg),yes) + $(lib_binaries) += libx32stdcxxdbg + endif + ifeq ($(with_libhfcxxdev),yes) + $(lib_binaries) += libhfstdcxx-dev + endif + ifeq ($(with_libhfcxxdbg),yes) + $(lib_binaries) += libhfstdcxxdbg + endif + ifeq ($(with_libsfcxxdev),yes) + $(lib_binaries) += libsfstdcxx-dev + endif + ifeq ($(with_libsfcxxdbg),yes) + $(lib_binaries) += libsfstdcxxdbg + endif + + ifeq ($(with_cxxdev),yes) + $(lib_binaries) += libstdcxx-dev + ifneq ($(DEB_CROSS),yes) + indep_binaries := $(indep_binaries) libstdcxx-doc + endif + endif +endif + +libstdc_ext = -$(BASE_VERSION) + +p_lib = libstdc++$(CXX_SONAME)$(cross_lib_arch) +p_lib64 = lib64stdc++$(CXX_SONAME)$(cross_lib_arch) +p_lib32 = lib32stdc++$(CXX_SONAME)$(cross_lib_arch) +p_libn32= libn32stdc++$(CXX_SONAME)$(cross_lib_arch) +p_libx32= libx32stdc++$(CXX_SONAME)$(cross_lib_arch) +p_libhf = libhfstdc++$(CXX_SONAME)$(cross_lib_arch) +p_libsf = libsfstdc++$(CXX_SONAME)$(cross_lib_arch) +p_dev = libstdc++$(libstdc_ext)-dev$(cross_lib_arch) +p_pic = libstdc++$(libstdc_ext)-pic$(cross_lib_arch) +p_dbg = libstdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch) +p_dbg64 = lib64stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch) +p_dbg32 = lib32stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch) +p_dbgn32= libn32stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch) +p_dbgx32= libx32stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch) +p_dbghf = libhfstdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch) +p_dbgsf = libsfstdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch) +p_libd = libstdc++$(libstdc_ext)-doc + +d_lib = debian/$(p_lib) +d_lib64 = debian/$(p_lib64) +d_lib32 = debian/$(p_lib32) +d_libn32= debian/$(p_libn32) +d_libx32= debian/$(p_libx32) +d_libhf = debian/$(p_libhf) +d_libsf = debian/$(p_libsf) +d_dev = debian/$(p_dev) +d_pic = debian/$(p_pic) +d_dbg = debian/$(p_dbg) +d_dbg64 = debian/$(p_dbg64) +d_dbg32 = debian/$(p_dbg32) +d_dbghf = debian/$(p_dbghf) +d_dbgsf = debian/$(p_dbgsf) +d_libd = debian/$(p_libd) + +dirs_dev = \ + $(docdir)/$(p_base)/C++ \ + $(usr_lib) \ + $(gcc_lib_dir)/include \ + $(PFL)/include/c++ + +files_dev = \ + $(PFL)/include/c++/$(BASE_VERSION) \ + $(gcc_lib_dir)/libstdc++.{a,so} \ + $(gcc_lib_dir)/libsupc++.a \ + $(gcc_lib_dir)/libstdc++fs.a + +ifeq ($(with_multiarch_cxxheaders),yes) + dirs_dev += \ + $(PF)/include/$(DEB_TARGET_MULTIARCH)/c++/$(BASE_VERSION) + files_dev += \ + $(PF)/include/$(DEB_TARGET_MULTIARCH)/c++/$(BASE_VERSION)/{bits,ext} +endif + +dirs_dbg = \ + $(docdir) \ + $(PF)/lib/debug/$(usr_lib) \ + $(usr_lib)/debug \ + $(PF)/share/gdb/auto-load/$(usr_lib)/debug \ + $(gcc_lib_dir) +files_dbg = \ + $(usr_lib)/debug/libstdc++.{a,so*} \ + $(usr_lib)/debug/libstdc++fs.a + +dirs_pic = \ + $(docdir) \ + $(gcc_lib_dir) +files_pic = \ + $(gcc_lib_dir)/libstdc++_pic.a + +# ---------------------------------------------------------------------- + +gxx_baseline_dir = $(shell \ + sed -n '/^baseline_dir *=/s,.*= *\(.*\)$$,\1,p' \ + $(buildlibdir)/libstdc++-v3/testsuite/Makefile) +gxx_baseline_file = $(gxx_baseline_dir)/baseline_symbols.txt + +debian/README.libstdc++-baseline: + cat debian/README.libstdc++-baseline.in \ + > debian/README.libstdc++-baseline + + baseline_name=`basename $(gxx_baseline_dir)`; \ + baseline_parentdir=`dirname $(gxx_baseline_dir)`; \ + compat_baseline_name=""; \ + if [ -f "$(gxx_baseline_file)" ]; then \ + ( \ + echo "A baseline file for $$baseline_name was found."; \ + echo "Running the check-abi script ..."; \ + echo ""; \ + $(MAKE) -C $(buildlibdir)/libstdc++-v3/testsuite \ + check-abi; \ + ) >> debian/README.libstdc++-baseline; \ + else \ + ( \ + echo "No baseline file found for $$baseline_name."; \ + echo "Generating a new baseline file ..."; \ + echo ""; \ + ) >> debian/README.libstdc++-baseline; \ + mkdir -p $(gxx_baseline_dir); \ + $(MAKE) -C $(buildlibdir)/libstdc++-v3/testsuite new-abi-baseline; \ + if [ -f $(gxx_baseline_file) ]; then \ + cat $(gxx_baseline_file); \ + else \ + cat $$(find $(buildlibdir)/libstdc++-v3 $(srcdir)/libstdc++-v3 -name '.new') || true; \ + fi >> debian/README.libstdc++-baseline; \ + fi + +# ---------------------------------------------------------------------- +# FIXME: see #792204, libstdc++ symbols on sparc64, for now ignore errors +# for the 32bit multilib build + +define __do_libstdcxx + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) + + dh_installdirs -p$(p_l) \ + $(docdir) \ + $(usr_lib$(2)) \ + $(PF)/share/gdb/auto-load/$(usr_lib$(2)) + + $(if $(DEB_CROSS),,$(if $(2),, + dh_installdirs -p$(p_l) \ + $(PF)/share/gcc-$(BASE_VERSION)/python + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(PF)/share/gcc-$(BASE_VERSION)/python/libstdcxx + )) + cp -p $(d)/$(usr_lib$(2))/libstdc++.so.*.py \ + $(d_l)/$(PF)/share/gdb/auto-load/$(usr_lib$(2))/. + sed -i -e "/^libdir *=/s,=.*,= '/$(usr_lib$(2))'," \ + $(d_l)/$(PF)/share/gdb/auto-load/$(usr_lib$(2))/libstdc++.so.*.py + + cp -a $(d)/$(usr_lib$(2))/libstdc++.so.*[0-9] \ + $(d_l)/$(usr_lib$(2))/. + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_rmemptydirs -p$(p_l) + + dh_strip -p$(p_l) $(if $(filter rtlibs,$(DEB_STAGE)),,--dbg-package=$(1)-$(BASE_VERSION)-dbg$(cross_lib_arch)) + + $(if $(filter $(DEB_TARGET_ARCH), armel hppa sparc64), \ + -$(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) \ + @echo "FIXME: libstdc++ not feature complete (https://gcc.gnu.org/ml/gcc/2014-07/msg00000.html)", \ + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) \ + ) + + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search,$(subst stdc++$(CXX_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +define __do_libstdcxx_dbg + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_d) + dh_installdirs -p$(p_d) \ + $(PF)/lib/debug/$(usr_lib$(2)) \ + $(usr_lib$(2)) + + $(if $(filter yes,$(with_lib$(2)cxx)), + cp -a $(d)/$(usr_lib$(2))/libstdc++.so.*[0-9] \ + $(d_d)/$(usr_lib$(2))/.; + dh_strip -p$(p_d) --keep-debug; + $(if $(filter yes,$(with_common_libs)),, # if !with_common_libs + # remove the debug symbols for libstdc++ + # built by a newer version of GCC + rm -rf $(d_d)/usr/lib/debug/$(PF); + ) + rm -f $(d_d)/$(usr_lib$(2))/libstdc++.so.*[0-9] + ) + + $(if $(filter yes,$(with_cxx_debug)), + mkdir -p $(d_d)/$(usr_lib$(2))/debug; + mv $(d)/$(usr_lib$(2))/debug/libstdc++* $(d_d)/$(usr_lib$(2))/debug; + rm -f $(d_d)/$(usr_lib$(2))/debug/libstdc++_pic.a + ) + + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_d) \ + $(call shlibdirs_to_search,$(subst $(pkg_ver),,$(subst stdc++$(CXX_SONAME),gcc$(GCC_SONAME),$(p_l))),$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_d)) + + debian/dh_doclink -p$(p_d) $(p_lbase) + debian/dh_rmemptydirs -p$(p_d) + echo $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +define __do_libstdcxx_dev + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + mv $(d)/$(usr_lib$(2))/libstdc++.a $(d)/$(usr_lib$(2))/libstdc++fs.a $(d)/$(usr_lib$(2))/libsupc++.a \ + $(d)/$(gcc_lib_dir$(2))/ + + rm -rf $(d_l) + dh_installdirs -p$(p_l) $(gcc_lib_dir$(2)) + + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(gcc_lib_dir$(2))/libstdc++.a \ + $(gcc_lib_dir$(2))/libstdc++fs.a \ + $(gcc_lib_dir$(2))/libsupc++.a \ + $(if $(with_multiarch_cxxheaders),$(PF)/include/$(DEB_TARGET_MULTIARCH)/c++/$(BASE_VERSION)/$(2)) + $(call install_gcc_lib,libstdc++,$(CXX_SONAME),$(2),$(p_l)) + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_rmemptydirs -p$(p_l) + dh_strip -p$(p_l) + dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search,$(subst stdc++$(CXX_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) + echo $(p_l) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +do_libstdcxx = $(call __do_libstdcxx,lib$(1)stdc++$(CXX_SONAME),$(1)) +do_libstdcxx_dbg = $(call __do_libstdcxx_dbg,lib$(1)stdc++$(CXX_SONAME)$(libstdc_ext),$(1)) +do_libstdcxx_dev = $(call __do_libstdcxx_dev,lib$(1)stdc++-$(BASE_VERSION)-dev,$(1)) + +# ---------------------------------------------------------------------- +$(binary_stamp)-libstdcxx: $(install_stamp) + $(call do_libstdcxx,) + +$(binary_stamp)-lib64stdcxx: $(install_stamp) + $(call do_libstdcxx,64) + +$(binary_stamp)-lib32stdcxx: $(install_stamp) + $(call do_libstdcxx,32) + +$(binary_stamp)-libn32stdcxx: $(install_stamp) + $(call do_libstdcxx,n32) + +$(binary_stamp)-libx32stdcxx: $(install_stamp) + $(call do_libstdcxx,x32) + +$(binary_stamp)-libhfstdcxx: $(install_stamp) + $(call do_libstdcxx,hf) + +$(binary_stamp)-libsfstdcxx: $(install_stamp) + $(call do_libstdcxx,sf) + +$(binary_stamp)-lib64stdcxxdbg: $(install_stamp) + $(call do_libstdcxx_dbg,64) + +$(binary_stamp)-lib32stdcxxdbg: $(install_stamp) + $(call do_libstdcxx_dbg,32) + +$(binary_stamp)-libn32stdcxxdbg: $(install_stamp) + $(call do_libstdcxx_dbg,n32) + +$(binary_stamp)-libx32stdcxxdbg: $(install_stamp) + $(call do_libstdcxx_dbg,x32) + +$(binary_stamp)-libhfstdcxxdbg: $(install_stamp) + $(call do_libstdcxx_dbg,hf) + +$(binary_stamp)-libsfstdcxxdbg: $(install_stamp) + $(call do_libstdcxx_dbg,sf) + +$(binary_stamp)-lib64stdcxx-dev: $(install_stamp) + $(call do_libstdcxx_dev,64) + +$(binary_stamp)-lib32stdcxx-dev: $(install_stamp) + $(call do_libstdcxx_dev,32) + +$(binary_stamp)-libn32stdcxx-dev: $(install_stamp) + $(call do_libstdcxx_dev,n32) + +$(binary_stamp)-libx32stdcxx-dev: $(install_stamp) + $(call do_libstdcxx_dev,x32) + +$(binary_stamp)-libhfstdcxx-dev: $(install_stamp) + $(call do_libstdcxx_dev,hf) + +$(binary_stamp)-libsfstdcxx-dev: $(install_stamp) + $(call do_libstdcxx_dev,sf) + +# ---------------------------------------------------------------------- +libcxxdev_deps = $(install_stamp) +ifeq ($(with_libcxx),yes) + libcxxdev_deps += $(binary_stamp)-libstdcxx +endif +ifeq ($(with_check),yes) + libcxxdev_deps += debian/README.libstdc++-baseline +endif +$(binary_stamp)-libstdcxx-dev: $(libcxxdev_deps) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_dev) $(d_pic) + dh_installdirs -p$(p_dev) $(dirs_dev) + dh_installdirs -p$(p_pic) $(dirs_pic) + dh_installdirs -p$(p_dbg) $(dirs_dbg) + + : # - correct libstdc++-v3 file locations + mv $(d)/$(usr_lib)/libsupc++.a $(d)/$(gcc_lib_dir)/ + mv $(d)/$(usr_lib)/libstdc++fs.a $(d)/$(gcc_lib_dir)/ + mv $(d)/$(usr_lib)/libstdc++.{a,so} $(d)/$(gcc_lib_dir)/ + ln -sf ../../../$(DEB_TARGET_GNU_TYPE)/libstdc++.so.$(CXX_SONAME) \ + $(d)/$(gcc_lib_dir)/libstdc++.so + mv $(d)/$(usr_lib)/libstdc++_pic.a $(d)/$(gcc_lib_dir)/ + + rm -f $(d)/$(usr_lib)/debug/libstdc++_pic.a + rm -f $(d)/$(usr_lib64)/debug/libstdc++_pic.a + + : # remove precompiled headers + -find $(d) -type d -name '*.gch' | xargs rm -rf + + for i in $(d)/$(PF)/include/c++/$(GCC_VERSION)/*-linux; do \ + if [ -d $$i ]; then mv $$i $$i-gnu; fi; \ + done + + $(dh_compat2) dh_movefiles -p$(p_dev) $(files_dev) + $(dh_compat2) dh_movefiles -p$(p_pic) $(files_pic) +ifeq ($(with_cxx_debug),yes) + $(dh_compat2) dh_movefiles -p$(p_dbg) $(files_dbg) +endif + + dh_link -p$(p_dev) \ + /$(usr_lib)/libstdc++.so.$(CXX_SONAME) \ + /$(gcc_lib_dir)/libstdc++.so \ + /$(PFL)/include/c++/$(BASE_VERSION) /$(PFL)/include/c++/$(GCC_VERSION) +ifeq ($(with_multiarch_cxxheaders),yes) + dh_link -p$(p_dev) \ + /$(PFL)/include/$(DEB_TARGET_MULTIARCH)/c++/$(BASE_VERSION) \ + /$(PFL)/include/$(DEB_TARGET_MULTIARCH)/c++/$(GCC_VERSION) +endif + + debian/dh_doclink -p$(p_dev) $(p_lbase) + debian/dh_doclink -p$(p_pic) $(p_lbase) + debian/dh_doclink -p$(p_dbg) $(p_lbase) + cp -p $(srcdir)/libstdc++-v3/ChangeLog \ + $(d_dev)/$(docdir)/$(p_base)/C++/changelog.libstdc++ +ifeq ($(with_check),yes) + cp -p debian/README.libstdc++-baseline \ + $(d_dev)/$(docdir)/$(p_base)/C++/README.libstdc++-baseline.$(DEB_TARGET_ARCH) + if [ -f $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt ]; \ + then \ + cp -p $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt \ + $(d_dev)/$(docdir)/$(p_base)/C++/libstdc++_symbols.txt.$(DEB_TARGET_ARCH); \ + fi +endif + cp -p $(buildlibdir)/libstdc++-v3/src/libstdc++-symbols.ver \ + $(d_pic)/$(gcc_lib_dir)/libstdc++_pic.map + + cp -p $(d)/$(usr_lib)/libstdc++.so.*.py \ + $(d_dbg)/$(PF)/share/gdb/auto-load/$(usr_lib)/debug/. + sed -i -e "/^libdir *=/s,=.*,= '/$(usr_lib)'," \ + $(d_dbg)/$(PF)/share/gdb/auto-load/$(usr_lib)/debug/libstdc++.so.*.py + +ifeq ($(with_libcxx),yes) + cp -a $(d)/$(usr_lib)/libstdc++.so.*[0-9] \ + $(d_dbg)/$(usr_lib)/ + dh_strip -p$(p_dbg) --keep-debug + rm -f $(d_dbg)/$(usr_lib)/libstdc++.so.*[0-9] +endif + + dh_strip -p$(p_dev) --dbg-package=$(p_dbg) +ifneq ($(with_common_libs),yes) + : # remove the debug symbols for libstdc++ built by a newer version of GCC + rm -rf $(d_dbg)/usr/lib/debug/$(PF) +endif + dh_strip -p$(p_pic) + +ifeq ($(with_cxxdev),yes) + debian/dh_rmemptydirs -p$(p_dev) + debian/dh_rmemptydirs -p$(p_pic) + debian/dh_rmemptydirs -p$(p_dbg) +endif + + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_dev) -p$(p_pic) -p$(p_dbg) \ + $(call shlibdirs_to_search,,) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_dbg)) + echo $(p_dev) $(p_pic) $(p_dbg) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- + +doxygen_doc_dir = $(buildlibdir)/libstdc++-v3/doc + +doxygen-docs: $(build_doxygen_stamp) +$(build_doxygen_stamp): $(build_stamp) + $(MAKE) -C $(buildlibdir)/libstdc++-v3/doc SHELL=/bin/bash doc-html-doxygen + $(MAKE) -C $(buildlibdir)/libstdc++-v3/doc SHELL=/bin/bash doc-man-doxygen + -find $(doxygen_doc_dir)/doxygen/html -name 'struct*' -empty | xargs rm -f + + touch $@ + +$(binary_stamp)-libstdcxx-doc: $(install_stamp) doxygen-docs + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_libd) + dh_installdirs -p$(p_libd) \ + $(docdir)/$(p_base)/libstdc++ \ + $(PF)/share/man + +# debian/dh_doclink -p$(p_libd) $(p_base) + dh_link -p$(p_libd) /usr/share/doc/$(p_base) /usr/share/doc/$(p_libd) + dh_installdocs -p$(p_libd) + rm -f $(d_libd)/$(docdir)/$(p_base)/copyright + + cp -a $(srcdir)/libstdc++-v3/doc/html/* \ + $(d_libd)/$(docdir)/$(p_base)/libstdc++/. + cp -a $(doxygen_doc_dir)/doxygen/html \ + $(d_libd)/$(docdir)/$(p_base)/libstdc++/user + find $(d_libd)/$(docdir)/$(p_base)/libstdc++ -name '*.md5' \ + | xargs -r rm -f + +# Broken docs ... see #766499 +# rm -f $(d_libd)/$(docdir)/$(p_base)/libstdc++/*/jquery.js +# dh_link -p$(p_libd) \ +# /usr/share/javascript/jquery/jquery.js \ +# /$(docdir)/$(p_base)/libstdc++/html/jquery.js \ +# /usr/share/javascript/jquery/jquery.js \ +# /$(docdir)/$(p_base)/libstdc++/user/jquery.js + + : FIXME: depending on the doxygen version + if [ -d $(doxygen_doc_dir)/doxygen/man/man3cxx ]; then \ + cp -a $(doxygen_doc_dir)/doxygen/man/man3cxx \ + $(d_libd)/$(PF)/share/man/man3; \ + if [ -d $(doxygen_doc_dir)/doxygen/man/man3 ]; then \ + cp -a $(doxygen_doc_dir)/doxygen/man/man3/* \ + $(d_libd)/$(PF)/share/man/man3/; \ + fi; \ + elif [ -d $(doxygen_doc_dir)/doxygen/man/man3 ]; then \ + cp -a $(doxygen_doc_dir)/doxygen/man/man3 \ + $(d_libd)/$(PF)/share/man/man3; \ + fi + + for i in $(d_libd)/$(PF)/share/man/man3/*.3; do \ + [ -f $${i} ] || continue; \ + mv $${i} $${i}cxx; \ + done + rm -f $(d_libd)/$(PF)/share/man/man3/todo.3* + + mkdir -p $(d_libd)/usr/share/lintian/overrides + cp -p debian/$(p_libd).overrides \ + $(d_libd)/usr/share/lintian/overrides/$(p_libd) + + echo $(p_libd) >> debian/indep_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libtsan.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libtsan.mk @@ -0,0 +1,80 @@ +$(lib_binaries) += libtsan +ifeq (0,1) +ifeq ($(with_lib64tsan),yes) + $(lib_binaries) += lib64tsan +endif +ifeq ($(with_lib32tsan),yes) + $(lib_binaries) += lib32tsan +endif +ifeq ($(with_libn32tsan),yes) + $(lib_binaries) += libn32tsan +endif +ifeq ($(with_libx32tsan),yes) + $(lib_binaries) += libx32tsan +endif +ifeq ($(with_libhftsan),yes) + $(lib_binaries) += libhftsan +endif +ifeq ($(with_libsftsan),yes) + $(lib_binaries) += libsftsan +endif +endif + +define __do_tsan + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(usr_lib$(2))/libtsan.so.* \ + $(usr_lib$(2))/libtsan_preinit.o + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + if [ -f debian/$(p_l).overrides ]; then \ + mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \ + cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ + fi + + dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search, \ + $(subst tsan$(TSAN_SONAME),gcc$(GCC_SONAME),$(p_l)) \ + $(subst tsan$(TSAN_SONAME),stdc++$(CXX_SONAME),$(p_l)) \ + ,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_tsan = $(call __do_tsan,lib$(1)tsan$(TSAN_SONAME),$(1)) + +$(binary_stamp)-libtsan: $(install_stamp) + $(call do_tsan,) + +$(binary_stamp)-lib64tsan: $(install_stamp) + $(call do_tsan,64) + +$(binary_stamp)-lib32tsan: $(install_stamp) + $(call do_tsan,32) + +$(binary_stamp)-libn32tsan: $(install_stamp) + $(call do_tsan,n32) + +$(binary_stamp)-libx32tsan: $(install_stamp) + $(call do_tsan,x32) + +$(binary_stamp)-libhftsan: $(install_dependencies) + $(call do_tsan,hf) + +$(binary_stamp)-libsftsan: $(install_dependencies) + $(call do_tsan,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libubsan.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libubsan.mk @@ -0,0 +1,76 @@ +$(lib_binaries) += libubsan +ifeq ($(with_lib64ubsan),yes) + $(lib_binaries) += lib64ubsan +endif +ifeq ($(with_lib32ubsan),yes) + $(lib_binaries) += lib32ubsan +endif +ifeq ($(with_libn32ubsan),yes) + $(lib_binaries) += libn32ubsan +endif +ifeq ($(with_libx32ubsan),yes) + $(lib_binaries) += libx32ubsan +endif +ifeq ($(with_libhfubsan),yes) + $(lib_binaries) += libhfubsan +endif +ifeq ($(with_libsfubsan),yes) + $(lib_binaries) += libsfubsan +endif + +define __do_ubsan + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libubsan.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + if [ -f debian/$(p_l).overrides ]; then \ + mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \ + cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ + fi + + dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search, \ + $(subst ubsan$(UBSAN_SONAME),gcc$(GCC_SONAME),$(p_l)) \ + $(subst ubsan$(UBSAN_SONAME),stdc++$(CXX_SONAME),$(p_l)) \ + ,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_ubsan = $(call __do_ubsan,lib$(1)ubsan$(UBSAN_SONAME),$(1)) + +$(binary_stamp)-libubsan: $(install_stamp) + $(call do_ubsan,) + +$(binary_stamp)-lib64ubsan: $(install_stamp) + $(call do_ubsan,64) + +$(binary_stamp)-lib32ubsan: $(install_stamp) + $(call do_ubsan,32) + +$(binary_stamp)-libn32ubsan: $(install_stamp) + $(call do_ubsan,n32) + +$(binary_stamp)-libx32ubsan: $(install_stamp) + $(call do_ubsan,x32) + +$(binary_stamp)-libhfubsan: $(install_dependencies) + $(call do_ubsan,hf) + +$(binary_stamp)-libsfubsan: $(install_dependencies) + $(call do_ubsan,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-libvtv.mk +++ gcc-7-7.1.0/debian/rules.d/binary-libvtv.mk @@ -0,0 +1,76 @@ +$(lib_binaries) += libvtv +ifeq ($(with_lib64vtv),yes) + $(lib_binaries) += lib64vtv +endif +ifeq ($(with_lib32vtv),yes) + $(lib_binaries) += lib32vtv +endif +ifeq ($(with_libn32vtv),yes) + $(lib_binaries) += libn32vtv +endif +ifeq ($(with_libx32vtv),yes) + $(lib_binaries) += libx32vtv +endif +ifeq ($(with_libhfvtv),yes) + $(lib_binaries) += libhfvtv +endif +ifeq ($(with_libsfvtv),yes) + $(lib_binaries) += libsfvtv +endif + +define __do_vtv + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) $(d_d) + dh_installdirs -p$(p_l) $(usr_lib$(2)) + $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libvtv.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + if [ -f debian/$(p_l).overrides ]; then \ + mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \ + cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ + fi + + dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) + $(call cross_mangle_shlibs,$(p_l)) + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ + $(call shlibdirs_to_search, \ + $(subst vtv$(VTV_SONAME),gcc$(GCC_SONAME),$(p_l)) \ + $(subst vtv$(VTV_SONAME),stdc++$(CXX_SONAME),$(p_l)) \ + ,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_l)) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# ---------------------------------------------------------------------- + +do_vtv = $(call __do_vtv,lib$(1)vtv$(VTV_SONAME),$(1)) + +$(binary_stamp)-libvtv: $(install_stamp) + $(call do_vtv,) + +$(binary_stamp)-lib64vtv: $(install_stamp) + $(call do_vtv,64) + +$(binary_stamp)-lib32vtv: $(install_stamp) + $(call do_vtv,32) + +$(binary_stamp)-libn32vtv: $(install_stamp) + $(call do_vtv,n32) + +$(binary_stamp)-libx32vtv: $(install_stamp) + $(call do_vtv,x32) + +$(binary_stamp)-libhfvtv: $(install_dependencies) + $(call do_vtv,hf) + +$(binary_stamp)-libsfvtv: $(install_dependencies) + $(call do_vtv,sf) --- gcc-7-7.1.0.orig/debian/rules.d/binary-neon.mk +++ gcc-7-7.1.0/debian/rules.d/binary-neon.mk @@ -0,0 +1,47 @@ +arch_binaries := $(arch_binaries) neon + +p_nlgcc = libgcc$(GCC_SONAME)-neon +p_ngomp = libgomp$(GOMP_SONAME)-neon +p_nlobjc = libobjc$(OBJC_SONAME)-neon +p_nflib = libgfortran$(FORTRAN_SONAME)-neon +p_nlcxx = libstdc++$(CXX_SONAME)-neon + +d_nlgcc = debian/$(p_nlgcc) +d_ngomp = debian/$(p_ngomp) +d_nlobjc = debian/$(p_nlobjc) +d_nflib = debian/$(p_nflib) +d_nlcxx = debian/$(p_nlcxx) + +neon_pkgs = -p$(p_nlgcc) -p$(p_ngomp) -p$(p_nlobjc) -p$(p_nflib) -p$(p_nlcxx) + +# ---------------------------------------------------------------------- +$(binary_stamp)-neon: $(install_neon_stamp) + dh_testdir + dh_testroot + + dh_installdirs -p$(p_nlgcc) \ + $(PF)/share/doc \ + lib/neon + dh_installdirs -A -p$(p_ngomp) -p$(p_nlobjc) -p$(p_nflib) -p$(p_nlcxx) \ + $(PF)/share/doc \ + $(PF)/lib/neon + + cp -a $(d_neon)/$(PF)/lib/libgcc*.so.* \ + $(d_nlgcc)/lib/neon/ + cp -a $(d_neon)/$(PF)/lib/libgomp*.so.* \ + $(d_ngomp)/$(PF)/lib/neon/ + cp -a $(d_neon)/$(PF)/lib/libobjc*.so.* \ + $(d_nlobjc)/$(PF)/lib/neon/ + cp -a $(d_neon)/$(PF)/lib/libgfortran*.so.* \ + $(d_nflib)/$(PF)/lib/neon/ + cp -a $(d_neon)/$(PF)/lib/libstdc++*.so.* \ + $(d_nlcxx)/$(PF)/lib/neon/ + + for p in $(p_nlgcc) $(p_ngomp) $(p_nlobjc) $(p_nflib) $(p_nlcxx); do \ + ln -s ../$(p_base) debian/$$p/usr/share/doc/$$p; \ + done + dh_strip $(neon_pkgs) + dh_shlibdeps $(neon_pkgs) + echo $(p_nlgcc) $(p_ngomp) $(p_nlobjc) $(p_nflib) $(p_nlcxx) >> debian/arch_binaries + + touch $@ --- gcc-7-7.1.0.orig/debian/rules.d/binary-nof.mk +++ gcc-7-7.1.0/debian/rules.d/binary-nof.mk @@ -0,0 +1,51 @@ +arch_binaries := $(arch_binaries) nof + +p_nof = gcc$(pkg_ver)-nof +d_nof = debian/$(p_nof) + +dirs_nof = \ + $(docdir) \ + $(usr_lib)/nof +ifeq ($(with_cdev),yes) + dirs_nof += \ + $(gcc_lib_dir)/nof +endif + +ifeq ($(with_cdev),yes) + files_nof = \ + $(libgcc_dir)/libgcc_s_nof.so.$(GCC_SONAME) \ + $(gcc_lib_dir)/libgcc_s_nof.so \ + $(usr_lib)/nof \ + $(gcc_lib_dir)/nof +else + files_nof = \ + $(usr_lib)/libgcc_s_nof.so.$(GCC_SONAME) +endif + +# ---------------------------------------------------------------------- +$(binary_stamp)-nof: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + mv $(d)/$(usr_lib)/libgcc_s_nof.so.$(GCC_SONAME) $(d)/$(libgcc_dir)/. + rm -f $(d)/$(usr_lib)/libgcc_s_nof.so + ln -sf $(libgcc_dir)/libgcc_s_nof.so.$(GCC_SONAME) \ + $(d)/$(gcc_lib_dir)/libgcc_s_nof.so + + rm -rf $(d_nof) + dh_installdirs -p$(p_nof) $(dirs_nof) + $(dh_compat2) dh_movefiles -p$(p_nof) $(files_nof) + debian/dh_doclink -p$(p_nof) $(p_xbase) + dh_strip -p$(p_nof) + dh_shlibdeps -p$(p_nof) + + dh_makeshlibs $(ldconfig_arg) -p$(p_nof) + : # Only keep the shlibs file for the libgcc_s_nof library + fgrep libgcc_s_nof debian/$(p_nof)/DEBIAN/shlibs \ + > debian/$(p_nof)/DEBIAN/shlibs.tmp + mv -f debian/$(p_nof)/DEBIAN/shlibs.tmp debian/$(p_nof)/DEBIAN/shlibs + + echo $(p_nof) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-nvptx.mk +++ gcc-7-7.1.0/debian/rules.d/binary-nvptx.mk @@ -0,0 +1,82 @@ +ifeq ($(with_offload_nvptx),yes) + arch_binaries := $(arch_binaries) nvptx + ifeq ($(with_common_libs),yes) + arch_binaries := $(arch_binaries) nvptx-plugin + endif +endif + +p_nvptx = gcc$(pkg_ver)-offload-nvptx +d_nvptx = debian/$(p_nvptx) + +p_pl_nvptx = libgomp-plugin-nvptx1 +d_pl_nvptx = debian/$(p_pl_nvptx) + +dirs_nvptx = \ + $(docdir)/$(p_xbase)/ \ + $(PF)/bin \ + $(gcc_lexec_dir)/accel + +files_nvptx = \ + $(PF)/bin/$(DEB_TARGET_GNU_TYPE)-accel-nvptx-none-gcc$(pkg_ver) \ + $(gcc_lexec_dir)/accel/nvptx-none + +# not needed: libs moved, headers not needed for lto1 +# $(PF)/nvptx-none + +# are these needed? +# $(PF)/lib/gcc/nvptx-none/$(versiondir)/{include,finclude,mgomp} + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_nvptx += \ + $(PF)/share/man/man1/$(DEB_HOST_GNU_TYPE)-accel-nvptx-none-gcc$(pkg_ver).1 +endif + +$(binary_stamp)-nvptx: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_nvptx) + dh_installdirs -p$(p_nvptx) $(dirs_nvptx) + $(dh_compat2) dh_movefiles --sourcedir=$(d)-nvptx -p$(p_nvptx) \ + $(files_nvptx) + +ifeq ($(GFDL_INVARIANT_FREE),yes) + mkdir -p $(d_nvptx)/usr/share/lintian/overrides + echo '$(p_nvptx) binary: binary-without-manpage' \ + >> $(d_nvptx)/usr/share/lintian/overrides/$(p_nvptx) +endif + + debian/dh_doclink -p$(p_nvptx) $(p_xbase) + + debian/dh_rmemptydirs -p$(p_nvptx) + + dh_strip -p$(p_nvptx) \ + $(if $(unstripped_exe),-X/lto1) + dh_shlibdeps -p$(p_nvptx) + echo $(p_nvptx) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-nvptx-plugin: $(install_dependencies) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_pl_nvptx) + dh_installdirs -p$(p_pl_nvptx) \ + $(docdir) \ + $(usr_lib) + $(dh_compat2) dh_movefiles -p$(p_pl_nvptx) \ + $(usr_lib)/libgomp-plugin-nvptx.so.* + + debian/dh_doclink -p$(p_pl_nvptx) $(p_xbase) + debian/dh_rmemptydirs -p$(p_pl_nvptx) + + dh_strip -p$(p_pl_nvptx) + dh_makeshlibs -p$(p_pl_nvptx) + dh_shlibdeps -p$(p_pl_nvptx) + echo $(p_pl_nvptx) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-objc.mk +++ gcc-7-7.1.0/debian/rules.d/binary-objc.mk @@ -0,0 +1,67 @@ +ifneq ($(DEB_STAGE),rtlibs) + ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf))) + arch_binaries := $(arch_binaries) objc-multi + endif + arch_binaries := $(arch_binaries) objc +endif + +p_objc = gobjc$(pkg_ver)$(cross_bin_arch) +d_objc = debian/$(p_objc) + +p_objc_m= gobjc$(pkg_ver)-multilib$(cross_bin_arch) +d_objc_m= debian/$(p_objc_m) + +dirs_objc = \ + $(docdir)/$(p_xbase)/ObjC \ + $(gcc_lexec_dir) + +files_objc = \ + $(gcc_lexec_dir)/cc1obj + +$(binary_stamp)-objc: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_objc) + dh_installdirs -p$(p_objc) $(dirs_objc) + $(dh_compat2) dh_movefiles -p$(p_objc) $(files_objc) + + cp -p $(srcdir)/libobjc/{README*,THREADS*} \ + $(d_objc)/$(docdir)/$(p_xbase)/ObjC/. + + cp -p $(srcdir)/libobjc/ChangeLog \ + $(d_objc)/$(docdir)/$(p_xbase)/ObjC/changelog.libobjc + +ifeq ($(GFDL_INVARIANT_FREE),yes) + mkdir -p $(d_objc)/usr/share/lintian/overrides + echo '$(p_objc) binary: binary-without-manpage' \ + >> $(d_objc)/usr/share/lintian/overrides/$(p_objc) +endif + + debian/dh_doclink -p$(p_objc) $(p_xbase) + + debian/dh_rmemptydirs -p$(p_objc) + + dh_strip -p$(p_objc) \ + $(if $(unstripped_exe),-X/cc1obj) + dh_shlibdeps -p$(p_objc) + echo $(p_objc) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +$(binary_stamp)-objc-multi: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_objc_m) + dh_installdirs -p$(p_objc_m) $(docdir) + + debian/dh_doclink -p$(p_objc_m) $(p_xbase) + + dh_strip -p$(p_objc_m) + dh_shlibdeps -p$(p_objc_m) + echo $(p_objc_m) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-objcxx.mk +++ gcc-7-7.1.0/debian/rules.d/binary-objcxx.mk @@ -0,0 +1,60 @@ +ifneq ($(DEB_STAGE),rtlibs) + ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf))) + arch_binaries := $(arch_binaries) objcxx-multi + endif + arch_binaries := $(arch_binaries) objcxx +endif + +p_objcx = gobjc++$(pkg_ver)$(cross_bin_arch) +d_objcx = debian/$(p_objcx) + +p_objcx_m = gobjc++$(pkg_ver)-multilib$(cross_bin_arch) +d_objcx_m = debian/$(p_objcx_m) + +dirs_objcx = \ + $(docdir)/$(p_xbase)/Obj-C++ \ + $(gcc_lexec_dir) + +files_objcx = \ + $(gcc_lexec_dir)/cc1objplus + +$(binary_stamp)-objcxx: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_objcx) + dh_installdirs -p$(p_objcx) $(dirs_objcx) + $(dh_compat2) dh_movefiles -p$(p_objcx) $(files_objcx) + + debian/dh_doclink -p$(p_objcx) $(p_xbase) + cp -p $(srcdir)/gcc/objcp/ChangeLog \ + $(d_objcx)/$(docdir)/$(p_xbase)/Obj-C++/changelog + +ifeq ($(GFDL_INVARIANT_FREE),yes) + mkdir -p $(d_objcx)/usr/share/lintian/overrides + echo '$(p_objcx) binary: binary-without-manpage' \ + >> $(d_objcx)/usr/share/lintian/overrides/$(p_objcx) +endif + + debian/dh_rmemptydirs -p$(p_objcx) + + dh_strip -p$(p_objcx) \ + $(if $(unstripped_exe),-X/cc1objplus) + dh_shlibdeps -p$(p_objcx) + echo $(p_objcx) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +$(binary_stamp)-objcxx-multi: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + rm -rf $(d_objcx_m) + debian/dh_doclink -p$(p_objcx_m) $(p_xbase) + debian/dh_rmemptydirs -p$(p_objcx_m) + dh_strip -p$(p_objcx_m) + dh_shlibdeps -p$(p_objcx_m) + echo $(p_objcx_m) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-snapshot.mk +++ gcc-7-7.1.0/debian/rules.d/binary-snapshot.mk @@ -0,0 +1,160 @@ +arch_binaries := $(arch_binaries) snapshot + +ifneq (,$(findstring gcc-snapshot, $(PKGSOURCE))) + p_snap = gcc-snapshot +else ifneq (,$(findstring gcc-linaro, $(PKGSOURCE))) + p_snap = gcc-linaro +else + $(error unknown build for single gcc package) +endif + +ifeq ($(DEB_CROSS),yes) + p_snap := $(p_snap)$(cross_bin_arch) +endif +d_snap = debian/$(p_snap) + +dirs_snap = \ + $(docdir)/$(p_snap) \ + usr/lib + +ifeq ($(with_hppa64),yes) + snapshot_depends = binutils-hppa64 +endif + +# ---------------------------------------------------------------------- +$(binary_stamp)-snapshot: $(install_snap_stamp) + dh_testdir + dh_testroot + mv $(install_snap_stamp) $(install_snap_stamp)-tmp + + rm -rf $(d_snap) + dh_installdirs -p$(p_snap) $(dirs_snap) + + mv $(d)/$(PF) $(d_snap)/usr/lib/ + + find $(d_snap) -name '*.gch' -type d | xargs -r rm -rf + find $(d_snap) -name '*.la' -o -name '*.lai' | xargs -r rm -f + + : # FIXME: libbacktrace is not installed by default + for d in . 32 n32 64 sf hf; do \ + if [ -f $(buildlibdir)/$$d/libbacktrace/.libs/libbacktrace.a ]; then \ + install -m644 $(buildlibdir)/$$d/libbacktrace/.libs/libbacktrace.a \ + $(d_snap)/$(gcc_lib_dir)/$$d; \ + fi; \ + done + if [ -f $(buildlibdir)/libbacktrace/backtrace-supported.h ]; then \ + install -m644 $(buildlibdir)/libbacktrace/backtrace-supported.h \ + $(d_snap)/$(gcc_lib_dir)/include/; \ + install -m644 $(srcdir)/libbacktrace/backtrace.h \ + $(d_snap)/$(gcc_lib_dir)/include/; \ + fi + + rm -rf $(d_snap)/$(PF)/lib/nof + +ifeq ($(with_ada),yes FIXME: apply our ada patches) + dh_link -p$(p_snap) \ + $(gcc_lib_dir)/rts-sjlj/adalib/libgnat.a \ + $(gcc_lib_dir)/rts-sjlj/adalib/libgnat-$(GNAT_VERSION).a + dh_link -p$(p_snap) \ + $(gcc_lib_dir)/rts-sjlj/adalib/libgnarl.a \ + $(gcc_lib_dir)/rts-sjlj/adalib/libgnarl-$(GNAT_VERSION).a + + set -e; \ + for lib in lib{gnat,gnarl}; do \ + vlib=$$lib-$(GNAT_SONAME); \ + mv $(d_snap)/$(gcc_lib_dir)/adalib/$$vlib.so.1 $(d_snap)/$(PF)/$(libdir)/. ; \ + rm -f $(d_snap)/$(gcc_lib_dir)/adalib/$$lib.so.1; \ + dh_link -p$(p_snap) \ + /$(PF)/$(libdir)/$$vlib.so.1 /$(PF)/$(libdir)/$$vlib.so \ + /$(PF)/$(libdir)/$$vlib.so.1 /$(PF)/$(libdir)/$$lib.so \ + /$(PF)/$(libdir)/$$vlib.so.1 /$(gcc_lib_dir)/rts-native/adalib/$$lib.so; \ + done +endif +ifeq ($(with_ada),yes) + ln -sf gcc $(d_snap)/$(PF)/bin/gnatgcc +endif + +ifeq ($(with_hppa64),yes) + : # provide as and ld links + dh_link -p $(p_snap) \ + /usr/bin/hppa64-linux-gnu-as \ + /$(PF)/libexec/gcc/hppa64-linux-gnu/$(GCC_VERSION)/as \ + /usr/bin/hppa64-linux-gnu-ld \ + /$(PF)/libexec/gcc/hppa64-linux-gnu/$(GCC_VERSION)/ld +endif + +ifeq ($(with_check),yes) + dh_installdocs -p$(p_snap) test-summary +# more than one libgo.sum, avoid it + mkdir -p $(d_snap)/$(docdir)/$(p_snap)/test-summaries + cp -p $$(find $(builddir)/gcc/testsuite -maxdepth 2 \( -name '*.sum' -o -name '*.log' \)) \ + $$(find $(buildlibdir)/*/testsuite -maxdepth 1 \( -name '*.sum' -o -name '*.log' \) ! -name 'libgo.*') \ + $(d_snap)/$(docdir)/$(p_snap)/test-summaries/ + ifeq ($(with_go),yes) + cp -p $(buildlibdir)/libgo/libgo.sum \ + $(d_snap)/$(docdir)/$(p_snap)/test-summaries/ + endif + if which xz 2>&1 >/dev/null; then \ + echo -n $(d_snap)/$(docdir)/$(p_snap)/test-summaries/* \ + | xargs -d ' ' -L 1 -P $(USE_CPUS) xz -7v; \ + fi +else + dh_installdocs -p$(p_snap) +endif + if [ -f $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt ]; \ + then \ + cp -p $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt \ + $(d_snap)/$(docdir)/$(p_snap)/libstdc++6_symbols.txt; \ + fi + cp -p debian/README.snapshot \ + $(d_snap)/$(docdir)/$(p_snap)/README.Debian + cp -p debian/README.Bugs \ + $(d_snap)/$(docdir)/$(p_snap)/ + dh_installchangelogs -p$(p_snap) +ifeq ($(DEB_TARGET_ARCH),hppa) + dh_strip -p$(p_snap) -Xdebug -X.o -X.a -X/cgo -Xbin/go -Xbin/gofmt \ + $(if $(unstripped_exe),$(foreach i,cc1 cc1obj cc1objplus cc1plus cc1d f951 go1 jc1 lto1, -X/$(i))) +else + dh_strip -p$(p_snap) -Xdebug -X/cgo -Xbin/go -Xbin/gofmt \ + $(if $(unstripped_exe),$(foreach i,cc1 cc1obj cc1objplus cc1plus cc1d f951 go1 jc1 lto1, -X/$(i))) +endif + dh_compress -p$(p_snap) -X README.Bugs -X.log.xz -X.sum.xz + -find $(d_snap) -type d ! -perm 755 -exec chmod 755 {} \; + dh_fixperms -p$(p_snap) +ifeq ($(with_ada),yes) + find $(d_snap)/$(gcc_lib_dir) -name '*.ali' | xargs -r chmod 444 +endif + + mkdir -p $(d_snap)/usr/share/lintian/overrides + cp -p debian/gcc-snapshot.overrides \ + $(d_snap)/usr/share/lintian/overrides/$(p_snap) + + ( \ + echo 'libgcc_s $(GCC_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ + echo 'libobjc $(OBJC_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ + echo 'libgfortran $(FORTRAN_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ + echo 'libffi $(FFI_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ + echo 'libgomp $(GOMP_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ + echo 'libgnat-$(GNAT_SONAME) 1 ${p_snap} (>= $(DEB_VERSION))'; \ + echo 'libgnarl-$(GNAT_SONAME) 1 ${p_snap} (>= $(DEB_VERSION))'; \ + ) > debian/shlibs.local + + $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) \ + dh_shlibdeps -p$(p_snap) -l$(CURDIR)/$(d_snap)/$(PF)/lib:$(CURDIR)/$(d_snap)/$(PF)/$(if $(filter $(DEB_TARGET_ARCH),amd64 ppc64),lib32,lib64):/usr/$(DEB_TARGET_GNU_TYPE)/lib + -sed -i -e 's/$(p_snap)[^,]*, //g' debian/$(p_snap).substvars + +ifeq ($(with_multiarch_lib),yes) + : # paths needed for relative lookups from startfile_prefixes + for ma in $(xarch_multiarch_names); do \ + mkdir -p $(d_snap)/lib/$$ma; \ + mkdir -p $(d_snap)/usr/lib/$$ma; \ + done +endif + + dh_gencontrol -p$(p_snap) -- $(common_substvars) \ + '-Vsnap:depends=$(snapshot_depends)' '-Vsnap:recommends=$(snapshot_recommends)' + dh_installdeb -p$(p_snap) + dh_md5sums -p$(p_snap) + dh_builddeb -p$(p_snap) + + trap '' 1 2 3 15; touch $@; mv $(install_snap_stamp)-tmp $(install_snap_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-softfloat.mk +++ gcc-7-7.1.0/debian/rules.d/binary-softfloat.mk @@ -0,0 +1,31 @@ +arch_binaries := $(arch_binaries) softfloat + +p_softfloat = gcc$(pkg_ver)-soft-float +d_softfloat = debian/$(p_softfloat) + +dirs_softfloat = \ + $(PFL)/$(libdir) \ + $(gcc_lib_dir) + +files_softfloat = \ + $(PFL)/$(libdir)/soft-float \ + $(gcc_lib_dir)/soft-float + +# ---------------------------------------------------------------------- +$(binary_stamp)-softfloat: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_softfloat) + dh_installdirs -p$(p_softfloat) $(dirs_softfloat) + $(dh_compat2) dh_movefiles -p$(p_softfloat) $(files_softfloat) + rm -rf $(d_softfloat)/$(PFL)/$(libdir)/soft-float/libssp.so* + mv $(d_softfloat)/$(PFL)/$(libdir)/soft-float/libssp.a \ + $(d_softfloat)/$(PFL)/$(libdir)/soft-float/libssp_nonshared.a + debian/dh_doclink -p$(p_softfloat) $(p_xbase) + dh_strip -p$(p_softfloat) + dh_shlibdeps -p$(p_softfloat) + echo $(p_softfloat) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) --- gcc-7-7.1.0.orig/debian/rules.d/binary-source.mk +++ gcc-7-7.1.0/debian/rules.d/binary-source.mk @@ -0,0 +1,52 @@ +indep_binaries := $(indep_binaries) gcc-source + +ifeq ($(BACKPORT),true) + p_source = gcc$(pkg_ver)-$(GCC_VERSION)-source +else + p_source = gcc$(pkg_ver)-source +endif +d_source= debian/$(p_source) + +$(binary_stamp)-gcc-source: $(install_stamp) + dh_testdir + dh_testroot + + dh_installdocs -p$(p_source) + dh_installchangelogs -p$(p_source) + + dh_install -p$(p_source) $(gcc_tarball) usr/src/gcc$(pkg_ver) +ifneq (,$(gdc_tarball)) + dh_install -p$(p_source) $(gdc_tarball) usr/src/gcc$(pkg_ver) +endif + tar cf - $$(find './debian' -mindepth 1 \( \ + -name .svn -prune -o \ + -path './debian/gcc-*' -type d -prune -o \ + -path './debian/cpp-*' -type d -prune -o \ + -path './debian/*fortran*' -type d -prune -o \ + -path './debian/lib*' -type d -prune -o \ + -path './debian/patches/*' -prune -o \ + -path './debian/tmp*' -prune -o \ + -path './debian/files' -prune -o \ + -path './debian/rules.d/*' -prune -o \ + -path './debian/rules.parameters' -prune -o \ + -path './debian/soname-cache' -prune -o \ + -path './debian/*substvars*' -prune -o \ + -path './debian/gcc-snapshot*' -prune -o \ + -path './debian/*[0-9]*.p*' -prune -o \ + -path './debian/*$(pkg_ver)[.-]*' -prune -o \ + -print \) ) \ + | tar -x -C $(d_source)/usr/src/gcc$(pkg_ver) -f - + # FIXME: Remove generated files + find $(d_source)/usr/src/gcc$(pkg_ver) -name '*.debhelper.log' -o -name .svn | xargs rm -rf + + touch $(d_source)/usr/src/gcc$(pkg_ver)/debian/rules.parameters + + dh_link -p$(p_source) \ + /usr/src/gcc$(pkg_ver)/debian/patches /usr/src/gcc$(pkg_ver)/patches + + mkdir -p $(d_source)/usr/share/lintian/overrides + cp -p debian/$(p_source).overrides \ + $(d_source)/usr/share/lintian/overrides/$(p_source) + echo $(p_source) >> debian/indep_binaries + + touch $@ --- gcc-7-7.1.0.orig/debian/rules.defs +++ gcc-7-7.1.0/debian/rules.defs @@ -0,0 +1,1982 @@ +# -*- makefile -*- +# definitions used in more than one Makefile / rules file + +NJOBS := +USE_CPUS := 1 +ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) + USE_CPUS := $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) + NJOBS := -j $(USE_CPUS) +endif + +# common vars +SHELL = /bin/bash -e # brace expansion used in rules file +srcdir = $(CURDIR)/src +builddir = $(CURDIR)/build +builddir_jit = $(CURDIR)/build-jit +builddir_nvptx = $(CURDIR)/build-nvptx +builddir_hppa64 = $(CURDIR)/build-hppa64 +stampdir = stamps + +distribution := $(shell lsb_release -is) +distrelease := $(shell lsb_release -cs) +derivative := $(shell if dpkg-vendor --derives-from Ubuntu; then echo Ubuntu; \ + elif dpkg-vendor --derives-from Debian; then echo Debian; \ + else echo Unknown; fi) + +# On non official archives, "lsb_release -cs" default to "n/a". Assume +# sid in that case +ifeq ($(distrelease),n/a) +distrelease := sid +endif + +on_buildd := $(shell [ -f /CurrentlyBuilding -o "$$LOGNAME" = buildd ] && echo yes) + +# creates {srcdir,builddir}_{hppa64,neon} +$(foreach x,srcdir builddir,$(foreach target,hppa64 neon,$(eval \ + $(x)_$(target) := $($(x))-$(target)))) + +# for architecture dependent variables and changelog vars +vafilt = $(subst $(2)=,,$(filter $(2)=%,$(1))) +# for rules.sonames +vafilt_defined = 1 + +dpkg_target_vars := $(shell (dpkg-architecture | grep -q DEB_TARGET) && echo yes) +ifeq ($(dpkg_target_vars),yes) + DEB_TARGET_ARCH= + DEB_TARGET_ARCH_BITS= + DEB_TARGET_ARCH_CPU= + DEB_TARGET_ARCH_ENDIAN= + DEB_TARGET_ARCH_OS= + DEB_TARGET_GNU_CPU= + DEB_TARGET_GNU_SYSTEM= + DEB_TARGET_GNU_TYPE= + DEB_TARGET_MULTIARCH= +endif + +DPKG_VARS := $(shell dpkg-architecture) +ifeq ($(dpkg_target_vars),yes) + DPKG_VARS := $(filter-out DEB_TARGET_%, $(DPKG_VARS)) +endif +DEB_BUILD_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_ARCH) +DEB_BUILD_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_GNU_TYPE) +DEB_BUILD_MULTIARCH ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_MULTIARCH) +DEB_HOST_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH) +DEB_HOST_GNU_CPU ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_CPU) +DEB_HOST_GNU_SYSTEM ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_SYSTEM) +DEB_HOST_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_TYPE) +DEB_HOST_MULTIARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH) + +ifeq ($(derivative),Ubuntu) + ifeq (,$(filter $(distrelease),dapper hardy lucid precise quantal raring saucy trusty)) + ifeq ($(DEB_BUILD_GNU_TYPE),i486-linux-gnu) + DEB_BUILD_GNU_TYPE = i686-linux-gnu + endif + ifeq ($(DEB_HOST_GNU_TYPE),i486-linux-gnu) + DEB_HOST_GNU_TYPE = i686-linux-gnu + endif + endif +else + ifneq (,$(filter $(distrelease),lenny etch squeeze wheezy)) + # keep dpkg defaults + else ifneq (,$(filter $(distrelease),jessie)) + ifeq ($(DEB_BUILD_GNU_TYPE),i486-linux-gnu) + DEB_BUILD_GNU_TYPE = i586-linux-gnu + endif + ifeq ($(DEB_HOST_GNU_TYPE),i486-linux-gnu) + DEB_HOST_GNU_TYPE = i586-linux-gnu + endif + else + # stretch and newer ... + DEB_BUILD_GNU_TYPE := $(subst i586,i686,$(DEB_BUILD_GNU_TYPE)) + DEB_HOST_GNU_TYPE := $(subst i586,i686,$(DEB_HOST_GNU_TYPE)) + endif +endif + +CHANGELOG_VARS := $(shell dpkg-parsechangelog | \ + sed -n 's/ /_/g;/^[^_]/s/^\([^:]*\):_\(.*\)/\1=\2/p') + +# the name of the source package +PKGSOURCE := $(call vafilt,$(CHANGELOG_VARS),Source) +# those are required here too +SOURCE_VERSION := $(call vafilt,$(CHANGELOG_VARS),Version) +DEB_VERSION := $(strip $(shell echo $(SOURCE_VERSION) | \ + sed -e 's/.*://' -e 's/ds[0-9]*//')) +# epoch used for gcc versions up to 3.3.x, now used for some remaining +# libraries: libgcc1, libobjc1 +EPOCH := 1 +DEB_EVERSION := $(EPOCH):$(DEB_VERSION) +BASE_VERSION := $(shell echo $(DEB_VERSION) | sed -e 's/\([1-9]\).*-.*/\1/') + +ifneq (,$(findstring gcc-snapshot, $(PKGSOURCE))) + single_package = yes + trunk_build = yes +else ifneq (,$(findstring gcc-linaro, $(PKGSOURCE))) + single_package = yes + trunk_build = no +else + # --program-suffix=-$(BASE_VERSION) + versioned_packages := yes +endif + +# push glibc stack traces into stderr +export LIBC_FATAL_STDERR_=1 + +# --------------------------------------------------------------------------- +# set target +# - GNU triplet via DEB_TARGET_GNU_TYPE +# - Debian arch in debian/target +# - Debian arch via DEB_GCC_TARGET or GCC_TARGET +# +# alias +ifdef GCC_TARGET + DEB_GCC_TARGET := $(GCC_TARGET) +endif +ifdef DEB_TARGET_GNU_TYPE + TARGET_VARS := $(shell dpkg-architecture -f -t$(DEB_TARGET_GNU_TYPE) 2>/dev/null) +else + # allow debian/target to be used instead of DEB_GCC_TARGET - this was requested + # by toolchain-source maintainer + DEBIAN_TARGET_FILE := $(strip $(if $(wildcard debian/target),$(shell cat debian/target 2>/dev/null))) + ifndef DEB_TARGET_ARCH + ifneq (,$(DEBIAN_TARGET_FILE)) + DEB_TARGET_ARCH := $(DEBIAN_TARGET_FILE) + else + ifdef DEB_GCC_TARGET + DEB_TARGET_ARCH := $(DEB_GCC_TARGET) + else + DEB_TARGET_ARCH := $(DEB_HOST_ARCH) + endif + endif + endif + TARGET_VARS := $(shell dpkg-architecture -f -a$(DEB_TARGET_ARCH) 2>/dev/null) +endif +ifeq ($(dpkg_target_vars),yes) + TARGET_VARS := $(filter-out DEB_TARGET_%, $(TARGET_VARS)) +endif + +DEB_TARGET_ARCH := $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH) +DEB_TARGET_ARCH_OS := $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_OS) +DEB_TARGET_ARCH_CPU := $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_CPU) +DEB_TARGET_GNU_CPU := $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_CPU) +DEB_TARGET_GNU_TYPE := $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_TYPE) +DEB_TARGET_GNU_SYSTEM := $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_SYSTEM) +DEB_TARGET_MULTIARCH := $(call vafilt,$(TARGET_VARS),DEB_HOST_MULTIARCH) + +ifeq ($(derivative),Ubuntu) + ifeq (,$(filter $(distrelease),dapper lucid)) + ifeq ($(DEB_TARGET_GNU_TYPE),i486-linux-gnu) + DEB_TARGET_GNU_TYPE = i586-linux-gnu + endif + endif +else + ifneq (,$(filter $(distrelease),stretch sid)) + DEB_TARGET_GNU_TYPE := $(subst i586,i686,$(DEB_TARGET_GNU_TYPE)) + i586_symlinks = $(if $(findstring i686,$(DEB_TARGET_GNU_TYPE)),yes) + endif +endif + +ifeq ($(DEB_TARGET_ARCH),) + $(error Invalid architecure.) +endif + +# Force this, people get confused about the default. See #760770. +override with_deps_on_target_arch_pkgs := + +# including unversiond symlinks for binaries +#with_unversioned = yes + +# --------------------------------------------------------------------------- +# cross-compiler config +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_TARGET_GNU_TYPE)) + # cross building a cross compiler, untested. + DEB_CROSS = yes + build_type = cross-build-cross + else + # cross building the native compiler + ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid)) + with_sysroot = / + endif + build_type = cross-build-native + endif +else + ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_TARGET_GNU_TYPE)) + # cross compiler, sets WITH_SYSROOT on it's own + DEB_CROSS = yes + build_type = build-cross + else + # native build + # first ones are wheezy and maverick + ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid)) + with_sysroot = / + endif + build_type = build-native + endif +endif + +# --------------------------------------------------------------------------- +# cross compiler support +ifeq ($(DEB_CROSS),yes) + # TARGET: Alias to DEB_TARGET_ARCH (Debian arch name) + # TP: Target Prefix. Used primarily as a prefix for cross tool + # names (e.g. powerpc-linux-gcc). + # TS: Target Suffix. Used primarily at the end of cross compiler + # package names (e.g. gcc-powerpc). + # LS: Library Suffix. Used primarily at the end of cross compiler + # library package names (e.g. libgcc-powerpc-cross). + # AQ: Arch Qualifier. Used for cross-arch dependencies + DEB_TARGET_ALIAS ?= $(DEB_TARGET_GNU_TYPE) + TARGET := $(DEB_TARGET_ARCH) + TP := $(subst _,-,$(DEB_TARGET_GNU_TYPE))- + TS := -$(subst _,-,$(DEB_TARGET_ALIAS)) + LS := -$(subst _,-,$(DEB_TARGET_ARCH))-cross + AQ := + + cross_bin_arch := -$(subst _,-,$(DEB_TARGET_ALIAS)) + cross_lib_arch := -$(subst _,-,$(DEB_TARGET_ARCH))-cross + cmd_prefix := $(DEB_TARGET_GNU_TYPE)- + + TARGET_ALIAS := $(DEB_TARGET_ALIAS) + + lib_binaries := indep_binaries + cross_shlibdeps = DEB_HOST_ARCH=$(TARGET) ARCH=$(DEB_TARGET_ARCH) MAKEFLAGS="CC=something" + cross_gencontrol = DEB_HOST_ARCH=$(TARGET) + cross_makeshlibs = DEB_HOST_ARCH=$(TARGET) + cross_clean = DEB_HOST_ARCH=$(TARGET) +else + TARGET_ALIAS := $(DEB_TARGET_GNU_TYPE) + + ifeq ($(TARGET_ALIAS),i386-gnu) + TARGET_ALIAS := i586-gnu + endif + + ifeq ($(single_package),yes) + cmd_prefix := + unprefixed_names := + else + cmd_prefix := $(DEB_TARGET_GNU_TYPE)- + unprefixed_names := yes + endif + + #ifeq ($(TARGET_ALIAS),i486-linux-gnu) + # TARGET_ALIAS := i686-linux-gnu + #endif + + TARGET_ALIAS := $(subst i386,i486,$(TARGET_ALIAS)) + + # configure as linux-gnu, not linux + #ifeq ($(findstring linux,$(TARGET_ALIAS))/$(findstring linux-gnu,$(TARGET_ALIAS)),linux/) + # TARGET_ALIAS := $(TARGET_ALIAS)-gnu + #endif + + # configure as linux, not linux-gnu + #TARGET_ALIAS := $(subst linux-gnu,linux,$(TARGET_ALIAS)) + + lib_binaries := arch_binaries + cross_shlibdeps := + cross_gencontrol := + cross_makeshlibs := + # FIXME: Ignore missing symbols for a first build ... + cross_makeshlibs := - + cross_clean := +endif + +printarch: + @echo DEB_TARGET_ARCH: $(DEB_TARGET_ARCH) + @echo DEB_TARGET_ARCH_OS: $(DEB_TARGET_ARCH_OS) + @echo DEB_TARGET_ARCH_CPU: $(DEB_TARGET_ARCH_CPU) + @echo DEB_TARGET_GNU_SYSTEM: $(DEB_TARGET_GNU_SYSTEM) + @echo DEB_TARGET_MULTIARCH: $(DEB_TARGET_MULTIARCH) + @echo MULTIARCH_CONFARG: $(MULTIARCH_CONFARG) + @echo TARGET_ALIAS: $(TARGET_ALIAS) + @echo TP: $(TP) + @echo TS: $(TS) + +# ------------------------------------------------------------------- +# bootstrap options +ifdef WITH_BOOTSTRAP + # "yes" is the default and causes a 3-stage bootstrap. + # "off" runs a complete build with --disable-bootstrap + # "no" means to just build the first stage, and not create the stage1 + # directory. + # "lean" means a lean 3-stage bootstrap, i.e. delete each stage when no + # longer needed. + with_bootstrap = $(WITH_BOOTSTRAP) +endif +ifneq ($(findstring nostrap, $(DEB_BUILD_OPTIONS)),) + with_bootstrap := off +endif + +ifneq ($(findstring gccdebug, $(DEB_BUILD_OPTIONS)),) + with_bootstrap := off + DEB_BUILD_OPTIONS := $(DEB_BUILD_OPTIONS) nostrip + export DEB_BUILD_OPTIONS +endif + +# ------------------------------------------------------------------- +# stage options +ifdef DEB_STAGE + with_cdev := yes + separate_lang := yes + # "stage1" is minimal compiler with static libgcc + # "stage2" is minimal compiler with shared libgcc + # "rtlibs" is a subset of target libraries, without compilers + ifeq ($(DEB_STAGE),stage1) + with_shared_libgcc := no + endif + ifeq ($(DEB_STAGE),stage2) + with_libgcc := yes + with_shared_libgcc := yes + endif + ifeq ($(DEB_STAGE),rtlibs) + with_rtlibs := libgcc libgomp libstdc++ libgfortran libquadmath + ifeq ($(DEB_CROSS),yes) + LS := + TS := + cross_lib_arch := + endif + endif +endif + +ifeq ($(BACKPORT),true) + with_dev := no + with_source := yes + with_base_only := yes +endif + +# ------------------------------------------------------------------- +# sysroot options +ifdef WITH_SYSROOT + with_sysroot = $(WITH_SYSROOT) +endif +ifdef WITH_BUILD_SYSROOT + with_build_sysroot = $(WITH_BUILD_SYSROOT) +endif + +# ------------------------------------------------------------------- +# for components configuration + +COMMA = , +SPACE = $(EMPTY) $(EMPTY) + +# lang= overwrites all of nolang=, overwrites all of WITHOUT_LANG + +DEB_LANG_OPT := $(filter lang=%,$(DEB_BUILD_OPTIONS)) +DEB_LANG := $(strip $(subst $(COMMA), ,$(patsubst lang=%,%,$(DEB_LANG_OPT)))) +DEB_NOLANG_OPT := $(filter nolang=%,$(DEB_BUILD_OPTIONS)) +DEB_NOLANG := $(strip $(subst $(COMMA), ,$(patsubst nolang=%,%,$(DEB_NOLANG_OPT)))) +lfilt = $(strip $(if $(DEB_LANG), \ + $(if $(filter $(1) $(2),$(DEB_LANG)),yes),$(3))) +nlfilt = $(strip $(if $(DEB_NOLANG), \ + $(if $(filter $(1) $(2),$(DEB_NOLANG)),disabled by $(DEB_NOLANG_OPT),$(3)))) +wlfilt = $(strip $(if $(filter $(1) $(2), $(subst $(COMMA), ,$(WITHOUT_LANG))), \ + disabled by WITHOUT_LANG=$(WITHOUT_LANG),$(3))) +envfilt = $(strip $(or $(call lfilt,$(1),$(2)),$(call nlfilt,$(1),$(3)),$(call wlfilt,$(1),$(3)),$(4))) + +# ------------------------------------------------------------------- +# architecture specific config + +# build using fsf or linaro +ifeq ($(distribution),Ubuntu) + ifneq (,$(findstring $(DEB_TARGET_ARCH),arm64 armel armhf)) + with_linaro_branch = yes + endif +endif + +# build using fsf or the ibm branch +ifeq ($(distribution),Ubuntu) + ifneq (,$(findstring $(DEB_TARGET_ARCH),ppc64el)) + #with_ibm_branch = yes + endif +endif + +ifneq (,$(findstring gcc-snapshot, $(PKGSOURCE))) + with_linaro_branch = + with_ibm_branch = +else ifneq (,$(findstring gcc-linaro, $(PKGSOURCE))) + with_ibm_branch = +endif + +# check if we're building for armel or armhf +ifneq (,$(filter %eabihf,$(DEB_TARGET_GNU_SYSTEM))) + float_abi := hard +else ifneq (,$(filter $(distribution)-$(DEB_TARGET_ARCH), Ubuntu-armel)) + ifneq (,$(filter $(distrelease),lucid maverick natty oneiric precise)) + float_abi := softfp + else + float_abi := soft + endif +else ifneq (,$(filter $(DEB_TARGET_ARCH), arm armel)) + float_abi := soft +endif + +# ------------------------------------------------------------------- +# basic config + +# allows to wrote backtraces for ICEs +unstripped_exe = yes + +# common things --------------- +# build common packages, where package names don't differ in different +# gcc versions (fixincludes, ...) +with_common_pkgs := yes +# ... and some libraries, which do not change (libgcc1, libssp0). +with_common_libs := yes +# XXX: should with_common_libs be "yes" only if this is the default compiler +# version on the targeted arch? + +# is this a multiarch-enabled build? +ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick)) + with_multiarch_lib := yes +endif + +ifeq ($(with_multiarch_lib),yes) + ifneq ($(single_package),yes) + ifneq ($(DEB_CROSS),yes) + with_multiarch_cxxheaders := yes + endif + endif +endif + +ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick)) + multiarch_stage1 := yes +endif + +# mapping for the non-default biarch multilib / multiarch names +multiarch_xarch_map = \ + amd64=i386-linux-gnu,x86_64-linux-gnux32 \ + armel=arm-linux-gnueabi \ + armhf=arm-linux-gnueabihf \ + i386=x86_64-linux-gnu,x86_64-linux-gnux32 \ + powerpc=powerpc64-linux-gnu \ + ppc64=powerpc-linux-gnu \ + sparc=sparc64-linux-gnu \ + sparc64=sparc-linux-gnu \ + s390=s390x-linux-gnu \ + s390x=s390-linux-gnu \ + mips=mips64-linux-gnuabin32,mips64-linux-gnuabi64 \ + mipsel=mips64el-linux-gnuabin32,mips64el-linux-gnuabi64 \ + mipsn32=mips-linux-gnu,mips64-linux-gnuabi64 \ + mipsn32el=mipsel-linux-gnu,mips64el-linux-gnuabi64 \ + mips64=mips-linux-gnu,mips64-linux-gnuabin32 \ + mips64el=mipsel-linux-gnu,mips64el-linux-gnuabin32 \ + x32=x86_64-linux-gnu,i386-linux-gnu \ + kfreebsd-amd64=i386-kfreebsd-gnu +xarch_multiarch_names = $(subst $(COMMA),$(SPACE),$(patsubst $(DEB_TARGET_ARCH)=%,%, \ + $(filter $(DEB_TARGET_ARCH)=%,$(multiarch_xarch_map)))) + +multilib_multiarch_map = \ + $(DEB_TARGET_ARCH)/=$(DEB_TARGET_MULTIARCH) \ + amd64/32=i386-linux-gnu \ + amd64/x32=x86_64-linux-gnux32 \ + armel/hf=arm-linux-gnueabihf \ + armhf/sf=arm-linux-gnueabi \ + i386/64=x86_64-linux-gnu \ + i386/x32=x86_64-linux-gnux32 \ + powerpc/64=powerpc64-linux-gnu \ + ppc64/32=powerpc-linux-gnu \ + sparc/64=sparc64-linux-gnu \ + sparc64/32=sparc-linux-gnu \ + s390/64=s390x-linux-gnu \ + s390x/32=s390-linux-gnu \ + mips/n32=mips64-linux-gnuabin32 \ + mips/64=mips64-linux-gnuabi64 \ + mipsel/n32=mips64el-linux-gnuabin32 \ + mipsel/64=mips64el-linux-gnuabi64 \ + mipsn32/32=mips-linux-gnu \ + mipsn32/64=mips64-linux-gnuabi64 \ + mipsn32el/32=mipsel-linux-gnu \ + mipsn32el/64=mips64el-linux-gnuabi64 \ + mips64/32=mips-linux-gnu \ + mips64/n32=mips64-linux-gnuabin32 \ + mips64el/32=mipsel-linux-gnu \ + mips64el/n32=mips64el-linux-gnuabin32 \ + x32/32=i386-linux-gnu \ + x32/64=x86_64-linux-gnu \ + kfreebsd-amd64/32=i386-kfreebsd-gnu +# $(call mlib_to_march,|32|64|n32|x32|hf|sf) +mlib_to_march = $(patsubst $(DEB_TARGET_ARCH)/$(1)=%,%, \ + $(filter $(DEB_TARGET_ARCH)/$(1)=%,$(multilib_multiarch_map))) + +multilib_arch_map = \ + $(DEB_TARGET_ARCH)/=$(DEB_TARGET_ARCH) \ + amd64/32=i386 \ + amd64/x32=x32 \ + armel/hf=armhf \ + armhf/sf=armel \ + i386/64=amd64 \ + i386/x32=x32 \ + powerpc/64=ppc64 \ + ppc64/32=powerpc \ + sparc/64=sparc64 \ + sparc64/32=sparc \ + s390/64=s390x \ + s390x/32=s390 \ + mips/n32=mipsn32 \ + mips/64=mips64 \ + mipsel/n32=mipsn32el \ + mipsel/64=mips64el \ + mipsn32/32=mips \ + mipsn32/64=mips64 \ + mipsn32el/32=mipsel \ + mipsn32el/64=mips64el \ + mips64/32=mips \ + mips64/n32=mipsn32 \ + mips64el/32=mipsel \ + mips64el/n32=mipsn32el \ + x32/32=i386 \ + x32/64=amd64 \ + kfreebsd-amd64/32=kfreebsd-i386 +# $(call mlib_to_arch,|32|64|n32|x32|hf|sf) +mlib_to_arch = $(patsubst $(DEB_TARGET_ARCH)/$(1)=%,%, \ + $(filter $(DEB_TARGET_ARCH)/$(1)=%,$(multilib_arch_map))) + +# build -base packages +with_gccbase := yes +ifeq ($(build_type),build-cross) + ifneq ($(DEB_STAGE),rtlibs) + with_gcclbase := yes + endif +endif + +# build dev packages. +ifneq ($(DEB_STAGE),rtlibs) + with_dev := yes +endif + +with_cpp := yes + +# set lang when built from a different source package. +separate_lang := no + +#no_dummy_cpus := ia64 i386 hppa s390 sparc +#ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(no_dummy_cpus))) +# with_base_only := no +# with_common_libs := yes +# with_common_pkgs := yes +#else +# with_base_only := yes +# with_common_libs := no +# with_common_pkgs := no +# with_dev := no +#endif + +ifeq ($(versioned_packages),yes) + pkg_ver := -$(BASE_VERSION) + PV := $(pkg_ver) +endif + +# ------------------------------------------------------------------- +# configure languages + +# C --------------------------- +enabled_languages := c + +with_jit = yes + +# FIXME: compiler bug +jit_no_cpus := ia64 + +ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(jit_no_cpus))) + with_jit := disabled for cpu $(DEB_TARGET_ARCH_CPU) +endif +ifneq (,$(with_rtlibs)) + with_jit := disabled for rtlibs stage +endif +with_jit := $(call envfilt, jit, , , $(with_jit)) + +ifeq (,$(findstring gcc-,$(PKGSOURCE))) + with_jit := +endif + +ifneq (,$(findstring build-cross, $(build_type))) + with_jit := disabled for cross builds +endif + +ifeq ($(with_jit),yes) + ifeq ($(with_common_libs),yes) + with_libgccjit := yes + endif +endif + +nvptx_archs := amd64 +ifneq (,$(filter $(DEB_TARGET_ARCH),$(nvptx_archs))) + offload_targets += nvptx-none + with_offload_nvptx := yes +endif +ifneq (,$(findstring build-cross, $(build_type))) + with_offload_nvptx := disabled for cross builds +endif + +ifeq ($(single_package),yes) + with_offload_nvptx := disabled for snapshot builds +endif + +with_cc1 := yes +with_cc1 := $(call envfilt, cc1, , , $(with_cc1)) + +ifeq ($(with_cc1),yes) + ifeq ($(with_common_libs),yes) + with_libcc1 := yes + endif + with_libcc1_plugin := yes +endif + +ifneq (,$(with_rtlibs)) + with_libcc1 := disabled for rtlibs stage + with_libcc1_plugin := disabled for rtlibs stage +endif +ifneq (,$(findstring build-cross, $(build_type))) + with_libcc1 := disabled for cross builds +endif + +# Build all packages needed for C development +ifneq ($(with_base_only),yes) + ifeq ($(with_dev),yes) + with_cdev := yes + endif +endif + +ifeq (,$(filter $(DEB_STAGE),stage1 stage2)) +# Ada -------------------- +ada_no_cpus := m32r sh3 sh3eb sh4eb +# no Debian builds ... some of these should exist +ada_no_cpus += m68k # see https://bugs.debian.org/814221 +ada_no_systems := +ada_no_cross := no +ada_no_snap := no +ifeq ($(single_package),yes) + ifneq (,$(filter $(DEB_TARGET_ARCH),powerpcspe)) + #ada_no_cpus += kfreebsd-i386 kfreebsd-amd64 + ada_no_snap := yes + endif +endif + +ifeq ($(with_dev),yes) + ifneq ($(separate_lang),yes) + with_ada := yes + endif +endif +ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(ada_no_cpus))) + with_ada := disabled for cpu $(DEB_TARGET_ARCH_CPU) +endif +ifneq (,$(filter $(DEB_TARGET_ARCH),kfreebsd-i386 kfreebsd-amd64 hurd-i386)) + with_ada := disabled for architecture $(DEB_TARGET_ARCH) +endif +ifeq (,$(findstring cross,$(build_type))) + ifneq (,$(filter $(DEB_TARGET_ARCH),armel)) + with_ada := native gnat disabled for architecture $(DEB_TARGET_ARCH) + endif +endif +ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(ada_no_systems))) + with_ada := disabled for system $(DEB_TARGET_GNU_SYSTEM) +endif +ifeq ($(ada_no_cross)-$(DEB_CROSS),yes-yes) + with_ada := disabled for cross compiler package +endif +ifeq ($(ada_no_snap)-$(single_package),yes-yes) + with_ada := disabled for snapshot build +endif +ifneq (,$(findstring gccgo,$(PKGSOURCE))) + with_ada := +endif +ifneq (,$(filter $(distrelease),lucid)) + with_ada := +endif +with_ada := $(call envfilt, ada, , , $(with_ada)) + +ifeq ($(DEB_STAGE)-$(filter libgnat, $(with_rtlibs)),rtlibs-) + with_ada := disabled for rtlibs stage +endif + +#ifneq ($(single_package),yes) +# with_separate_gnat := yes +#endif + +ifneq ($(with_separate_gnat),yes) + ifeq ($(with_ada),yes) + ifneq (,$(filter $(distrelease),squeeze lucid)) + with_ada := + endif + endif +endif + +ifeq ($(with_ada)-$(with_separate_gnat),yes-yes) + ifneq (,$(findstring gnat,$(PKGSOURCE))) + languages := c + separate_lang := yes + with_mudflap := no + with_gccbase := no + with_cdev := no + with_cc1 := no + with_libcc1 := no + else + debian_extra_langs += ada + with_ada := built from separate source + with_libgnat := built from separate source + endif +endif + +ifeq ($(with_ada),yes) + enabled_languages += ada + with_libgnat := yes + with_gnatsjlj := yes +endif + +# C++ ------------------------- +cxx_no_cpus := avr +ifneq ($(with_base_only),yes) + ifneq ($(separate_lang),yes) + with_cxx := yes + endif +endif +ifneq (,$(findstring $(DEB_TARGET_ARCH_CPU),$(cxx_no_cpus))) + with_cxx := disabled for cpu $(DEB_TARGET_ARCH_CPU) +endif +with_cxx := $(call envfilt, c++, obj-c++, , $(with_cxx)) + +# Set the default libstdc++ ABI. libstdc++ provides both ABI's. +# Existing code still runs with the new c++11 ABI, however link +# errors are seen when one object is compiled with the new std::string in scope, +# another object is compiled with the old std::string in scope. both can link +# to libstdc++.so but not to each other. +# two objects (which might be some system library and a user's program) need to +# agree on the version of std::string they're using + +libstdcxx_abi = new +# backports default to the old ABI +ifneq (,$(filter $(distrelease),squeeze wheezy jessie lucid precise trusty utopic vivid)) + libstdcxx_abi = gcc4-compatible +endif + +# Build all packages needed for C++ development +ifeq ($(with_cxx),yes) + ifeq ($(with_dev),yes) + with_cxxdev := yes + with_libcxxdbg := yes + endif + ifeq ($(with_common_libs),yes) + with_libcxx := yes + endif + + # debugging versions of libstdc++ + ifneq (,$(findstring gcc-, $(PKGSOURCE))) + ifeq ($(with_cxxdev),yes) + with_cxx_debug := yes + debug_no_cpus := + ifneq (,$(findstring $(DEB_TARGET_ARCH_CPU),$(debug_no_cpus))) + with_cxx_debug := disabled for cpu $(DEB_TARGET_GNU_CPU) + endif + endif + endif + with_cxx_debug := $(call envfilt, debug, , , $(with_cxx_debug)) + + enabled_languages += c++ +endif + +# Go ------------------- +# - To build a standalone gccgo package (with no corresponding gcc +# package): with_separate_libgo=yes, with_standalone_go=yes +# - To build the go packages from the gcc source package: +# with_separate_libgo=no, with_standalone_go=no +# - To build gcc and go from separate sources: +# with_separate_libgo=yes, with_standalone_go=no + +go_no_cross := yes +go_no_cross := no + +ifneq (,$(findstring gccgo, $(PKGSOURCE))) + with_separate_libgo := yes + with_standalone_go := yes + with_cc1 := + with_libcc1 := +endif + +go_no_cpus := avr arm hppa sh4 m68k +ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick natty oneiric)) + go_no_cpus := $(filter-out arm, $(go_no_cpus)) +endif +go_no_systems := gnu kfreebsd-gnu + +ifneq ($(with_base_only),yes) + ifneq ($(separate_lang),yes) + with_go := yes + endif +endif +ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(go_no_cpus))) + with_go := disabled for cpu $(DEB_TARGET_ARCH_CPU) +endif +ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(go_no_systems))) + with_go := disabled for system $(DEB_TARGET_GNU_SYSTEM) +endif +ifeq ($(go_no_cross)-$(DEB_CROSS),yes-yes) + with_go := disabled for cross compiler package +endif +ifeq ($(DEB_STAGE)-$(filter libgo, $(with_rtlibs)),rtlibs-) + with_go := disabled for rtlibs stage +endif +with_go := $(call envfilt, go, , , $(with_go)) + +# Build all packages needed for Go development +ifneq (,$(findstring gcc, $(PKGSOURCE))) + ifeq ($(with_go),yes) + with_libgo := yes + enabled_languages += go + endif +endif + +ifeq ($(with_go)-$(with_separate_libgo),yes-yes) + ifneq (,$(findstring gccgo, $(PKGSOURCE))) + languages := c c++ go + separate_lang := yes + with_libgcc := yes + with_shared_libgcc := yes + else + debian_extra_langs += go + with_go := built from separate source + with_libgo := buit from separate source + endif +endif + +# BRIG --------------------------- + +with_brig := no +ifneq (,$(filter $(DEB_TARGET_ARCH),amd64 i386 x32)) + with_brig := yes +endif +with_brig := $(call envfilt, brig, , , $(with_brig)) + +ifeq ($(with_brig),yes) + with_brigdev := yes + with_libhsailrt := yes + enabled_languages += brig +endif + +# D --------------------------- +d_no_cross := yes +d_no_snap := yes +d_no_cpus := s390 + +ifneq ($(single_package),yes) + with_separate_gdc := yes +endif +with_separate_gdc := no + +ifneq ($(separate_lang),yes) + with_d := yes +endif + +ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(d_no_cpus))) + with_d := disabled for cpu $(DEB_TARGET_ARCH_CPU) +endif +ifeq ($(d_no_snap)-$(single_package),yes-yes) + with_d := disabled for snapshot build +endif +ifeq ($(DEB_STAGE)-$(filter libphobos, $(with_rtlibs)),rtlibs-) + with_d := disabled for rtlibs stage +endif +with_d := $(call envfilt, d, , , $(with_d)) + +#with_d := not yet built for GCC 7 + +ifeq ($(with_base_only),yes) + with_d := no +endif + +ifeq ($(with_d)-$(with_separate_gdc),yes-yes) + ifneq (,$(findstring gdc,$(PKGSOURCE))) + languages := c c++ + separate_lang := yes + + # FIXME: language selection needs improvement. + with_go := disabled for d + else + debian_extra_langs += d + with_d := built from separate source + endif +endif + +ifeq ($(with_d),yes) + libphobos_archs = amd64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386 + ifneq (,$(filter $(DEB_TARGET_ARCH), $(libphobos_archs))) + with_libphobos := yes + endif + + libphobos_no_cpus := alpha avr arm64 hppa ia64 m68k \ + mips mipsel mips64 mips64el mipsn32 mipsn32el \ + powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64 + libphobos_no_systems := gnu kfreebsd-gnu + ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(libphobos_no_cpus))) + with_libphobos := disabled for cpu $(DEB_TARGET_ARCH_CPU) + endif + ifneq (,$(filter $(DEB_TARGET_GNU_SYSTEM),$(libphobos_no_systems))) + with_libphobos := disabled for system $(DEB_TARGET_GNU_SYSTEM) + endif + with_libphobosdev := $(with_libphobos) + + enabled_languages += d +endif + +# Fortran 95 ------------------- +fortran_no_cross := yes +fortran_no_cross := no + +ifneq ($(with_base_only),yes) + ifneq ($(separate_lang),yes) + with_fortran := yes + endif +endif +ifeq ($(fortran_no_cross)-$(DEB_CROSS),yes-yes) + with_fortran := disabled for cross compiler package +endif +ifeq ($(DEB_STAGE)-$(filter libgfortran libquadmath, $(with_rtlibs)),rtlibs-) + with_fortran := disabled for rtlibs stage +endif + +with_fortran := $(call envfilt, fortran, , , $(with_fortran)) + +# Build all packages needed for Fortran development +ifeq ($(with_fortran),yes) + ifeq ($(with_dev),yes) + ifneq ($(DEB_STAGE)-$(filter libgfortran libquadmath, $(with_rtlibs)),rtlibs-) + with_fdev := yes + endif + endif + ifeq ($(with_common_libs),yes) + with_libgfortran := yes + endif + enabled_languages += fortran +endif + +# libquadmath ------------------- + +ifneq (,$(findstring $(DEB_TARGET_ARCH_CPU), ia64 i386 i486 i586 i686 amd64)) + # FIXME: upstream build tied to gfortran build + ifeq ($(with_fortran),yes) + with_qmath := yes + ifneq (,$(findstring gcc-7,$(PKGSOURCE))) + ifeq ($(with_common_libs),yes) + with_libqmath := yes + endif + endif + endif +endif + +# ObjC ------------------------ +objc_no_cross := no + +ifneq ($(with_base_only),yes) + ifneq ($(separate_lang),yes) + with_objc := yes + objc_no_archs = + ifneq (,$(filter $(DEB_TARGET_ARCH),$(objc_no_archs))) + with_objc := + endif + endif +endif +ifeq ($(objc_no_cross)-$(DEB_CROSS),yes-yes) + with_objc := disabled for cross compiler package +endif +ifeq ($(DEB_STAGE)-$(filter libobjc, $(with_rtlibs)),rtlibs-) + with_objc := disabled for rtlibs stage +endif +with_objc := $(call envfilt, objc, obj-c++, , $(with_objc)) + +ifeq ($(with_objc),yes) + # the ObjC runtime with garbage collection enabled needs the Boehm GC + with_objc_gc := yes + + # disable ObjC garbage collection library (needs libgc) + libgc_no_cpus := arm64 avr mips mipsel # alpha amd64 arm armel armhf hppa i386 ia64 m68k mips mipsel powerpc ppc64 s390 s390x sparc + libgc_no_systems := knetbsd-gnu + ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(libgc_no_cpus))) + with_objc_gc := disabled for cpu $(DEB_TARGET_ARCH_CPU) + endif + ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(libgc_no_systems))) + with_objc_gc := disabled for system $(DEB_TARGET_GNU_SYSTEM) + endif + + # Build all packages needed for Objective-C development + ifeq ($(with_dev),yes) + with_objcdev := yes + endif + ifeq ($(with_common_libs),yes) + with_libobjc := yes + endif + + enabled_languages += objc +endif + +# ObjC++ ---------------------- +objcxx_no_cross := no + +ifeq ($(with_objc),yes) + ifneq ($(with_base_only),yes) + ifneq ($(separate_lang),yes) + with_objcxx := yes + endif + endif +endif +ifeq ($(objcxx_no_cross)-$(DEB_CROSS),yes-yes) + with_objcxx := disabled for cross compiler package +endif +with_objcxx := $(call envfilt, obj-c++, , c++ objc, $(with_objcxx)) + +ifeq ($(with_objcxx),yes) + enabled_languages += obj-c++ +endif + +# ------------------------------------------------------------------- +# other config + +# not built from the main source package +ifeq (,$(findstring gcc-,$(PKGSOURCE))) + extra_package := yes +endif + +with_nls := yes +ifeq ($(trunk_build),yes) + with_nls := no +endif +with_nls := $(call envfilt, nls, , , $(with_nls)) + +# powerpc nof libraries ----- +with_libnof := no + +ifneq (,$(findstring gcc-7,$(PKGSOURCE))) + ifeq (,$(with_rtlibs)) + with_source := yes + endif +endif +with_source := $(call envfilt, source, , , $(with_source)) + +ifeq ($(with_cdev),yes) + +# ssp & libssp ------------------------- +with_ssp := yes +ssp_no_archs = alpha hppa ia64 m68k +ifneq (, $(filter $(DEB_TARGET_ARCH),$(ssp_no_archs) $(ssp_no_archs:%=uclibc-%))) + with_ssp := not available on $(DEB_TARGET_ARCH) +endif +with_ssp := $(call envfilt, ssp, , , $(with_ssp)) + +ifeq ($(with_ssp),yes) + ifneq ($(derivative),Debian) + ifneq (,$(findstring gcc-7, $(PKGSOURCE))) + with_ssp_default := yes + endif + endif +endif + +# gomp -------------------- +with_gomp := yes +with_gomp := $(call envfilt, gomp, , , $(with_gomp)) +gomp_no_archs = +ifneq (,$(filter $(DEB_TARGET_ARCH),$(gomp_no_archs))) + with_gomp := +endif + +# itm -------------------- +itm_archs = alpha amd64 arm64 i386 x32 ppc64 ppc64el s390x sh4 sparc64 +ifneq (,$(filter $(DEB_TARGET_ARCH),$(itm_archs))) + with_itm := yes +endif +with_itm := $(call envfilt, itm, , , $(with_itm)) + +# atomic -------------------- +with_atomic := yes +atomic_no_archs = +ifneq (,$(filter $(DEB_TARGET_ARCH),$(atomic_no_archs))) + with_atomic := +endif + +# backtrace -------------------- +with_backtrace := yes +backtrace_no_archs = m68k +ifneq (,$(filter $(DEB_TARGET_ARCH),$(backtrace_no_archs))) + with_backtrace := +endif + +# asan / sanitizer -------------------- +with_asan := +with_asan := $(call envfilt, asan, , , $(with_asan)) +asan_archs = amd64 armel armhf arm64 i386 powerpc ppc64 ppc64el x32 sparc sparc64 +ifneq (,$(filter $(DEB_TARGET_ARCH),$(asan_archs))) + with_asan := yes +endif + +# lsan / sanitizer -------------------- +with_lsan := +with_lsan := $(call envfilt, lsan, , , $(with_lsan)) +lsan_archs = amd64 +ifneq (,$(filter $(DEB_TARGET_ARCH),$(lsan_archs))) + with_lsan := yes +endif + +# tsan / sanitizer -------------------- +with_tsan := +with_tsan := $(call envfilt, tsan, , , $(with_tsan)) +tsan_archs = amd64 +ifneq (,$(filter $(DEB_TARGET_ARCH),$(tsan_archs))) + with_tsan := yes +endif + +endif # with_cdev + +# ubsan / sanitizer -------------------- +with_ubsan := +with_ubsan := $(call envfilt, ubsan, , , $(with_ubsan)) +ubsan_archs = amd64 armel armhf arm64 i386 powerpc ppc64 ppc64el x32 sparc sparc64 +ifneq (,$(filter $(DEB_TARGET_ARCH),$(ubsan_archs))) + with_ubsan := yes +endif + +# libvtv -------------------- +with_vtv := +with_vtv := $(call envfilt, vtv, , , $(with_vtv)) +vtv_archs = amd64 i386 x32 +ifneq (,$(filter $(DEB_TARGET_ARCH),$(vtv_archs))) + with_vtv := yes + with_libvtv := yes +endif +# libvtv builds a modified libstdc++, don't enable it by default +with_vtv := +with_libvtv := + +# libcilkrts -------------------- +with_cilkrts := +with_cilkrts := $(call envfilt, cilkrts, , , $(with_cilkrts)) +cilkrts_archs = amd64 i386 x32 armel armhf sparc sparc64 +ifneq (,$(filter $(DEB_TARGET_ARCH),$(cilkrts_archs))) + with_cilkrts := yes +endif + +# libmpx -------------------- +with_mpx := +with_mpx := $(call envfilt, mpx, , , $(with_mpx)) +mpx_archs = amd64 i386 +ifneq (,$(filter $(DEB_TARGET_ARCH),$(mpx_archs))) + # requires newer binutils, or else libmpxwrappers isn't built + ifeq (,$(filter $(distrelease),squeeze lucid precise)) + with_mpx := yes + ifneq (,$(findstring gcc-, $(PKGSOURCE))) + with_libmpx := yes + endif + endif +endif + +# pie by default -------------------- +with_pie := +ifeq ($(distribution),Debian) + ifeq (,$(filter $(distrelease),wheezy squeeze jessie)) + pie_archs = amd64 arm64 armel armhf i386 mips mipsel mips64el \ + ppc64el s390x sparc sparc64 kfreebsd-amd64 kfreebsd-i386 + endif +else ifeq ($(distribution),Ubuntu) + ifeq (,$(filter $(distrelease),lucid precise trusty utopic vivid wily)) + pie_archs = s390x + endif + ifeq (,$(filter $(distrelease),lucid precise trusty utopic vivid wily xenial)) + pie_archs += amd64 ppc64el + endif + ifeq (,$(filter $(distrelease),lucid precise trusty utopic vivid wily xenial yakkety zesty)) + pie_archs += armhf arm64 i386 + endif +endif +ifneq (,$(filter $(DEB_TARGET_ARCH),$(pie_archs))) + with_pie := yes +endif +ifeq ($(trunk_build),yes) + with_pie := disabled for trunk builds +endif + +# gold -------------------- +# armel with binutils 2.20.51 only +gold_archs = amd64 armel armhf i386 powerpc powerpcspe ppc64 ppc64el sparc sparc64 x32 hurd-i386 +ifneq (,$(filter $(DEB_TARGET_ARCH),$(gold_archs))) + with_gold := yes +endif + +# plugins -------------------- +with_plugins := yes +ifneq (,$(with_rtlibs)) + with_plugins := disabled for rtlibs stage +endif + +endif # ifeq (,$(filter $(DEB_STAGE),stage1 stage2)) + +# Don't include docs with GFDL invariant sections +GFDL_INVARIANT_FREE := yes +ifeq ($(derivative),Ubuntu) + GFDL_INVARIANT_FREE := no +endif + +# ------------------------------------------------------------------- +# non-extra config +ifeq ($(extra_package),yes) + ifeq ($(with_separate_libgo),yes) + # package stuff + with_gccbase := yes + with_cdev := no + with_cxx := no + with_cxxdev := no + endif +else + # libssp ------------------ + ifeq ($(with_ssp)-$(with_common_libs),yes-yes) + #ifneq ($(DEB_CROSS),yes) + with_libssp := $(if $(wildcard $(builddir)/gcc/auto-host.h),$(shell if grep -qs '^\#define TARGET_LIBC_PROVIDES_SSP 1' $(builddir)/gcc/auto-host.h; then echo 'libc provides ssp'; else echo 'yes'; fi)) + #endif + with_libssp := libc provides ssp + endif + + # libgomp ----------------- + ifeq ($(with_gomp)-$(with_common_libs),yes-yes) + with_libgomp := yes + endif + + # libitm ----------------- + ifeq ($(with_itm)-$(with_common_libs),yes-yes) + with_libitm := yes + endif + + # libatomic ----------------- + ifeq ($(with_atomic)-$(with_common_libs),yes-yes) + with_libatomic := yes + endif + + # libbacktrace ----------------- + ifeq ($(with_backtrace)-$(with_common_libs),yes-yes) + # currently not a shared library + #with_libbacktrace := yes + endif + + # libasan ----------------- + # asan changes soname in GCC 6 + #ifeq ($(with_asan)-$(with_common_libs),yes-yes) + ifeq ($(with_asan),yes) + with_libasan := yes + endif + #endif + + # liblsan ----------------- + ifeq ($(with_lsan)-$(with_common_libs),yes-yes) + #ifneq ($(DEB_CROSS),yes) + with_liblsan := yes + #endif + endif + + # libtsan ----------------- + ifeq ($(with_tsan)-$(with_common_libs),yes-yes) + with_libtsan := yes + endif + + # libubsan ----------------- + ifeq ($(with_ubsan)-$(with_common_libs),yes-yes) + with_libubsan := yes + endif + + # libvtv ----------------- + ifeq ($(with_vtv)-$(with_common_libs),yes-yes) + with_libvtv := yes + endif + + # libcilkrts ----------------- + ifeq ($(with_cilkrts)-$(with_common_libs),yes-yes) + with_libcilkrts := yes + endif + + # libquadmath ----------------- + ifeq ($(with_qmath)-$(with_common_libs),yes-yes) + with_libqmath := yes + endif + + # fixincludes ------- + ifneq ($(DEB_CROSS),yes) + ifeq ($(with_common_pkgs),yes) + with_fixincl := yes + endif + endif + + # Shared libgcc -------------------- + ifneq ($(DEB_STAGE),stage1) + with_shared_libgcc := yes + ifeq ($(with_common_libs),yes) + with_libgcc := yes + endif + endif + + # libgcc-math -------------------- + with_libgmath := no + ifneq (,$(findstring i486,$(DEB_TARGET_ARCH))) + #with_libgccmath := yes + #with_lib64gmath := yes + #with_libgmathdev := yes + endif + ifeq ($(DEB_TARGET_ARCH),amd64) + #with_libgccmath := yes + #with_lib32gmath := yes + #with_libgmathdev := yes + endif + + # hppa64 build ---------------- + hppa64_no_snap := no + hppa64_archs := hppa + ifneq (,$(filter $(build_type), build-native cross-build-native)) + ifneq (,$(filter $(distrelease),wheezy squeeze jessie lucid precise trusty utopic vivid wily)) + binutils_hppa64 := binutils-hppa64 + else + ifneq ($(single_package),yes) + hppa64_archs += amd64 i386 x32 + endif + binutils_hppa64 := binutils-hppa64-linux-gnu + endif + ifneq (,$(filter $(DEB_TARGET_ARCH),$(hppa64_archs))) + with_hppa64 := yes + endif + endif + ifeq ($(hppa64_no_snap)-$(trunk_build),yes-yes) + with_hppa64 := disabled for snapshot build + endif + with_hppa64 := $(call envfilt, hppa64, , , $(with_hppa64)) + + ifeq ($(DEB_STAGE),rtlibs) + with_libatomic := disabled for rtlibs stage + with_libasan := disabled for rtlibs stage + with_liblsan := disabled for rtlibs stage + with_libtsan := disabled for rtlibs stage + with_libubsan := disabled for rtlibs stage + with_libcilkrts := disabled for rtlibs stage + with_fixincl := disabled for rtlibs stage + with_hppa64 := disabled for rtlibs stage + endif + + # neon build ------------------- + # FIXME: build as a cross compiler to build on armv4 as well + ifneq (,$(findstring gcc-7, $(PKGSOURCE))) + ifeq ($(derivative),Ubuntu) +# neon_archs = armel armhf +# ifneq (, $(filter $(DEB_TARGET_ARCH),$(neon_archs))) +# with_neon = yes +# endif + endif + endif +endif + +# run testsuite --------------- +with_check := yes +# if you don't want to run the gcc testsuite, uncomment the next line +#with_check := disabled by hand +ifeq ($(with_base_only),yes) + with_check := no +endif +ifeq ($(DEB_CROSS),yes) + with_check := disabled for cross compiler package +endif +ifneq (,$(findstring cross-build-,$(build_type))) + with_check := disabled for cross building the compiler +endif +ifneq (,$(with_rtlibs)) + with_check := disabled for rtlibs stage +endif +check_no_cpus := m68k +check_no_systems := gnu kfreebsd-gnu +ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(check_no_cpus))) + with_check := disabled for cpu $(DEB_TARGET_ARCH_CPU) +endif +ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(check_no_systems))) + with_check := disabled for system $(DEB_TARGET_GNU_SYSTEM) +endif +ifeq ($(derivative)-$(DEB_HOST_ARCH),Ubuntu-hppa) + ifneq ($(single_package),yes) + with_check := disabled, testsuite timeouts with expect + endif +endif +ifneq (,$(findstring gdc,$(PKGSOURCE))) + with_check := disabled for D +endif +with_check := $(call envfilt, check, , , $(with_check)) +ifdef WITHOUT_CHECK + with_check := disabled by environment +endif +ifneq ($(findstring nocheck, $(DEB_BUILD_OPTIONS)),) + with_check := disabled by DEB_BUILD_OPTIONS +endif +ifneq (,$(filter $(DEB_HOST_ARCH), hppa mips)) + ifneq ($(single_package),yes) + with_check := disabled for $(DEB_HOST_ARCH), testsuite timeouts with expect + endif +endif +#with_check := disabled for this upload + +# not a dependency on all archs, but if available, use it for the testsuite +ifneq (,$(wildcard /usr/bin/localedef)) + locale_data = generate +endif + +ifneq (,$(filter $(build_type), build-cross cross-build-cross)) + ldconfig_arg = --noscripts +endif + +all_enabled_languages := $(enabled_languages) +languages_without_lang_opt := c++ objc obj-c++ + +debian_extra_langs := $(subst obj-c++,objcp,$(debian_extra_langs)) +export debian_extra_langs + +# multilib +biarch_map := i686=x86_64 powerpc=powerpc64 sparc=sparc64 sparc64=sparc s390=s390x s390x=s390 \ + x86_64=i686 powerpc64=powerpc mips=mips64 mipsel=mips64el \ + mips64=mips mips64el=mipsel mipsn32=mips mipsn32el=mipsel +ifneq (,$(filter $(derivative),Ubuntu)) + ifeq (,$(filter $(distrelease),dapper hardy jaunty karmic lucid)) + biarch_map := $(subst i686=,i486=,$(biarch_map)) + endif +else # Debian + biarch_map := $(subst i686=,i486=,$(biarch_map)) +endif + +ifeq ($(derivative),Ubuntu) + ifeq (,$(filter $(distrelease),dapper hardy jaunty karmic lucid maverick natty)) + biarch_map += arm=arm + endif +endif +biarch_cpu := $(strip $(patsubst $(DEB_TARGET_GNU_CPU)=%,%, \ + $(filter $(DEB_TARGET_GNU_CPU)=%,$(biarch_map)))) + +biarch64 := no +biarch32 := no +biarchn32 := no +biarchx32 := no +biarchhf := no +biarchsf := no +flavours := +define gen_biarch + ifneq (yes,$$(call envfilt, biarch, , ,yes)) + biarch$1archs := + endif + ifneq (,$$(findstring /$$(DEB_TARGET_ARCH)/,$$(biarch$1archs))) + biarch$1 := yes + flavours += $1 + #biarch$1subdir = $$(biarch_cpu)-$$(DEB_TARGET_GNU_SYSTEM) + biarch$1subdir = $1 + ifeq ($$(with_libgcc),yes) + with_lib$1gcc := yes + endif + ifeq ($$(with_cdev),yes) + with_lib$1gccdev := yes + endif + ifeq ($$(with_libcxx),yes) + with_lib$1cxx := yes + endif + ifeq ($$(with_libcxxdbg),yes) + with_lib$1cxxdbg := yes + endif + ifeq ($$(with_cxxdev),yes) + with_lib$1cxxdev := yes + endif + ifeq ($$(with_libobjc),yes) + with_lib$1objc := yes + endif + ifeq ($$(with_objcdev),yes) + with_lib$1objcdev := yes + endif + ifeq ($$(with_libgfortran),yes) + with_lib$1gfortran := yes + endif + ifeq ($$(with_fdev),yes) + with_lib$1gfortrandev := yes + endif + ifeq (,$(filter $1, hf)) + ifeq ($$(with_libphobos),yes) + with_lib$1phobos := yes + endif + ifeq ($$(with_libphobosdev),yes) + with_lib$1phobosdev := yes + endif + endif + ifeq ($$(with_libssp),yes) + with_lib$1ssp := yes + endif + ifeq ($$(with_libgomp),yes) + with_lib$1gomp:= yes + endif + ifeq ($$(with_libitm),yes) + with_lib$1itm:= yes + endif + ifeq ($$(with_libatomic),yes) + with_lib$1atomic:= yes + endif + ifeq ($$(with_libbacktrace),yes) + with_lib$1backtrace:= yes + endif + ifeq ($$(with_libasan),yes) + with_lib$1asan:= yes + endif + ifeq ($$(with_liblsan),yes) + with_lib$1lsan := yes + endif + ifeq ($$(with_libtsan),yes) + with_lib$1tsan:= yes + endif + ifeq ($$(with_libubsan),yes) + with_lib$1ubsan := yes + endif + ifeq ($$(with_libvtv),yes) + with_lib$1vtv := yes + endif + ifeq ($$(with_libcilkrts),yes) + with_lib$1cilkrts := yes + endif + ifeq ($$(with_libmpx),yes) + ifneq (,$(filter $1, 32 64)) + with_lib$1mpx := yes + endif + endif + ifeq ($$(with_libqmath),yes) + with_lib$1qmath := yes + endif + ifeq ($$(with_libgo),yes) + with_lib$1go := yes + endif + ifeq ($$(with_libhsailrt),yes) + with_lib$1hsailrt := yes + endif + + biarch_multidir_names = libiberty libgcc libbacktrace libatomic libgomp + ifneq (,$$(findstring gcc-, $$(PKGSOURCE))) + biarch_multidir_names += libstdc++-v3 libobjc libgfortran libssp \ + zlib libitm libmpx \ + libsanitizer \ + libcilkrts libvtv + ifeq ($$(with_objc_gc),yes) + biarch_multidir_names += boehm-gc + endif + endif + ifneq (,$(findstring yes, $(with_go))) + biarch_multidir_names += libffi + endif + ifeq ($(with_fortran),yes) + biarch_multidir_names += libquadmath + endif + ifeq ($(with_go),yes) + biarch_multidir_names += libgo + endif + ifeq ($(with_brig),yes) + biarch_multidir_names += libhsail-rt + endif + ifeq ($(with_libphobos),yes) + ifeq (,$(filter $1, hf)) + biarch_multidir_names += libphobos + endif + endif + ifneq (,$$(findstring 32,$1)) + TARGET64_MACHINE := $$(strip $$(subst $$(DEB_TARGET_GNU_CPU),$$(biarch_cpu), \ + $$(TARGET_ALIAS))) + TARGET32_MACHINE := $$(TARGET_ALIAS) + else + TARGET64_MACHINE := $$(TARGET_ALIAS) + TARGET64_MACHINE := $$(strip $$(subst $$(DEB_TARGET_GNU_CPU),$$(biarch_cpu), \ + $$(TARGET_ALIAS))) + endif + export TARGET32_MACHINE + export TARGET64_MACHINE + endif +endef +biarch32archs := /amd64/ppc64/kfreebsd-amd64/s390x/sparc64/x32/mipsn32/mipsn32el/mips64/mips64el/ +biarch64archs := /i386/powerpc/sparc/s390/mips/mipsel/mipsn32/mipsn32el/x32/ +biarchn32archs := /mips/mipsel/mips64/mips64el/ +ifeq ($(derivative),Ubuntu) + ifeq (,$(filter $(distrelease),dapper hardy jaunty karmic lucid maverick natty)) + biarchhfarchs := /armel/ + biarchsfarchs := /armhf/ + endif + ifeq (,$(filter $(distrelease),dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal)) + biarchx32archs := /amd64/i386/ + endif +endif +ifeq ($(derivative),Debian) + ifeq (,$(filter $(distrelease),etch squeeze wheezy)) + biarchx32archs := /amd64/i386/ + endif +endif +$(foreach x,32 64 n32 x32 hf sf,$(eval $(call gen_biarch,$(x)))) + +ifeq ($(DEB_TARGET_ARCH),sh4) + biarch_multidir_names=none +endif +export biarch_multidir_names + +#ifeq ($(trunk_build),yes) +# no_biarch_libs := yes +#endif +no_biarch_libs := + +ifeq ($(no_biarch_libs),yes) + with_lib64gcc := no + with_lib64cxx := no + with_lib64cxxdbg := no + with_lib64objc := no + with_lib64ffi := no + with_lib64gfortran := no + with_lib64ssp := no + with_lib64go := no + with_lib64gomp := no + with_lib64itm := no + with_lib64qmath := no + with_lib64atomic := no + with_lib64backtrace := no + with_lib64asan := no + with_lib64lsan := no + with_lib64tsan := no + with_lib64ubsan := no + with_lib64vtv := no + with_lib64cilkrts := no + with_lib64mpx := no + with_lib64gccdev := no + with_lib64cxxdev := no + with_lib64objcdev := no + with_lib64gfortrandev := no + with_lib64phobosdev := no + with_lib64hsailrtdev := no + + with_lib32gcc := no + with_lib32cxx := no + with_lib32cxxdbg := no + with_lib32objc := no + with_lib32ffi := no + with_lib32gfortran := no + with_lib32ssp := no + with_lib32go := no + with_lib32gomp := no + with_lib32itm := no + with_lib32qmath := no + with_lib32atomic := no + with_lib32backtrace := no + with_lib32asan := no + with_lib32lsan := no + with_lib32tsan := no + with_lib32ubsan := no + with_lib32vtv := no + with_lib32cilkrts := no + with_lib32mpx := no + with_lib32gccdev := no + with_lib32cxxdev := no + with_lib32objcdev := no + with_lib32gfortrandev := no + with_lib32phobosdev := no + with_lib32hsailrtdev := no + + with_libn32gcc := no + with_libn32cxx := no + with_libn32cxxdbg := no + with_libn32objc := no + with_libn32ffi := no + with_libn32gfortran := no + with_libn32ssp := no + with_libn32go := no + with_libn32gomp := no + with_libn32itm := no + with_libn32qmath := no + with_libn32atomic := no + with_libn32backtrace := no + with_libn32asan := no + with_libn32lsan := no + with_libn32tsan := no + with_libn32ubsan := no + with_libn32gccdev := no + with_libn32cxxdev := no + with_libn32objcdev := no + with_libn32gfortrandev:= no + with_libn32phobosdev := no + with_libn32hsailrtdev := no + + with_libx32gcc := no + with_libx32cxx := no + with_libx32cxxdbg := no + with_libx32objc := no + with_libx32ffi := no + with_libx32gfortran := no + with_libx32ssp := no + with_libx32go := no + with_libx32gomp := no + with_libx32itm := no + with_libx32qmath := no + with_libx32atomic := no + with_libx32backtrace := no + with_libx32asan := no + with_libx32lsan := no + with_libx32tsan := no + with_libx32ubsan := no + with_libx32vtv := no + with_libx32cilkrts := no + with_libx32gccdev := no + with_libx32cxxdev := no + with_libx32objcdev := no + with_libx32gfortrandev:= no + with_libx32phobosdev := no + with_libx32hsailrtdev := no + + with_libhfgcc := no + with_libhfcxx := no + with_libhfcxxdbg := no + with_libhfobjc := no + with_libhfffi := no + with_libhfgfortran := no + with_libhfssp := no + with_libhfgo := no + with_libhfgomp := no + with_libhfitm := no + with_libhfqmath := no + with_libhfatomic := no + with_libhfbacktrace := no + with_libhfasan := no + with_libhflsan := no + with_libhftsan := no + with_libhfubsan := no + with_libhfgccdev := no + with_libhfcxxdev := no + with_libhfobjcdev := no + with_libhfgfortrandev := no + with_libhfphobosdev := no + with_libhfhsailrtdev := no + + with_libsfgcc := no + with_libsfcxx := no + with_libsfcxxdbg := no + with_libsfobjc := no + with_libsfffi := no + with_libsfgfortran := no + with_libsfssp := no + with_libsfgo := no + with_libsfgomp := no + with_libsfitm := no + with_libsfqmath := no + with_libsfatomic := no + with_libsfbacktrace := no + with_libsfasan := no + with_libsflsan := no + with_libsftsan := no + with_libsfubsan := no + with_libsfgccdev := no + with_libsfcxxdev := no + with_libsfobjcdev := no + with_libsfgfortrandev := no + with_libsfphobosdev := no + with_libsfhsailrtdev := no + + ifeq ($(with_ada)-$(with_separate_gnat),yes-yes) + biarchhf := disabled for Ada + biarchsf := disabled for Ada + endif + +endif + +ifneq (,$(filter yes,$(biarch32) $(biarch64) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf))) + multilib := yes +endif + +multilib_archs = $(sort $(subst /, , $(biarch64archs) $(biarch32archs) $(biarchn32archs) $(biarchx32archs) $(biarchhfarchs) $(biarchsfarchs))) + +biarchsubdirs := \ + $(if $(filter yes,$(biarch64)),$(biarch64subdir),) \ + $(if $(filter yes,$(biarch32)),$(biarch32subdir),) \ + $(if $(filter yes,$(biarchn32)),$(biarchn32subdir),) \ + $(if $(filter yes,$(biarchx32)),$(biarchx32subdir),) \ + $(if $(filter yes,$(biarchhf)),$(biarchhfsubdir),) \ + $(if $(filter yes,$(biarchsf)),$(biarchsfsubdir),) +biarchsubdirs := {$(strip $(shell echo $(biarchsubdirs) | tr " " ","))} + +# GNU locales +force_gnu_locales := yes +locale_no_cpus := +locale_no_systems := +ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(locale_no_systems))) + force_gnu_locales := disabled for system $(DEB_TARGET_GNU_SYSTEM) +endif + +gcc_tarpath := $(firstword $(wildcard gcc-*.tar.* /usr/src/gcc-7/gcc-*.tar.*)) +gcc_tarball := $(notdir $(gcc_tarpath)) +gcc_srcdir := $(subst -dfsg,,$(patsubst %.tar.xz,%,$(patsubst %.tar.lzma,%,$(patsubst %.tar.gz,%,$(gcc_tarball:.tar.bz2=))))) + +ifeq ($(with_d),yes) + gdc_tarpath := $(firstword $(wildcard gdc-*.tar.* /usr/src/gcc-$(BASE_VERSION)/gdc-*.tar.*)) + gdc_tarball := $(notdir $(gdc_tarpath)) + gdc_srcdir := $(patsubst %.tar.xz,%,$(patsubst %.tar.lzma,%,$(patsubst %.tar.gz,%,$(gdc_tarball:.tar.bz2=)))) +endif + +ifeq ($(with_offload_nvptx),yes) + nl_nvptx_tarpath := $(firstword $(wildcard nvptx-newlib-*.tar.* /usr/src/gcc-$(BASE_VERSION)/nvptx-newlib-*.tar.*)) + nl_nvptx_tarball := $(notdir $(nl_nvptx_tarpath)) + nl_nvptx_srcdir := $(patsubst %.tar.xz,%,$(patsubst %.tar.lzma,%,$(patsubst %.tar.gz,%,$(nl_nvptx_tarball:.tar.bz2=)))) +endif + +# NOTE: This is not yet used. when building gdc or gnat using the +# gcc-source package, we don't require an exact binary dependency. +ifneq ($(dir $(gcc_tarpath)),./) + built_using_external_source := yes +else + built_using_external_source := +endif +ifeq ($(DEB_CROSS),yes) + add_built_using = yes +endif +ifeq ($(with_ada)-$(with_separate_gnat),yes-yes) + add_built_using = yes +endif + +unpack_stamp := $(stampdir)/01-unpack-stamp +pre_patch_stamp := $(stampdir)/02-pre-patch-stamp +patch_stamp := $(stampdir)/02-patch-stamp +control_stamp := $(stampdir)/03-control-stamp +configure_stamp := $(stampdir)/04-configure-stamp +build_stamp := $(stampdir)/05-build-stamp +build_arch_stamp := $(stampdir)/05-build-arch-stamp +build_indep_stamp := $(stampdir)/05-build-indep-stamp +build_html_stamp := $(stampdir)/05-build-html-stamp +build_locale_stamp := $(stampdir)/05-build-locale-stamp +build_doxygen_stamp := $(stampdir)/05-build-doxygen-stamp +build_gnatdoc_stamp := $(stampdir)/05-build-gnatdoc-stamp +check_stamp := $(stampdir)/06-check-stamp +check_inst_stamp := $(stampdir)/06-check-inst-stamp +install_stamp := $(stampdir)/07-install-stamp +install_snap_stamp := $(stampdir)/07-install-snap-stamp +binary_stamp := $(stampdir)/08-binary-stamp + +configure_dummy_stamp := $(stampdir)/04-configure-dummy-stamp +build_dummy_stamp := $(stampdir)/05-build-dummy-stamp +install_dummy_stamp := $(stampdir)/07-install-dummy-stamp + +configure_jit_stamp := $(stampdir)/04-configure-jit-stamp +build_jit_stamp := $(stampdir)/05-build-jit-stamp +install_jit_stamp := $(stampdir)/07-install-jit-stamp + +configure_nvptx_stamp := $(stampdir)/04-configure-nvptx-stamp +build_nvptx_stamp := $(stampdir)/05-build-nvptx-stamp +install_nvptx_stamp := $(stampdir)/07-install-nvptx-stamp + +configure_hppa64_stamp := $(stampdir)/04-configure-hppa64-stamp +build_hppa64_stamp := $(stampdir)/05-build-hppa64-stamp +install_hppa64_stamp := $(stampdir)/07-install-hppa64-stamp + +configure_neon_stamp := $(stampdir)/04-configure-neon-stamp +build_neon_stamp := $(stampdir)/05-build-neon-stamp +install_neon_stamp := $(stampdir)/07-install-neon-stamp + +control_dependencies := $(patch_stamp) + +ifeq ($(single_package),yes) + configure_dependencies = $(configure_stamp) + build_dependencies = $(build_stamp) + install_dependencies = $(install_snap_stamp) + ifeq ($(with_check),yes) + check_dependencies += $(check_stamp) + endif +else + ifeq ($(with_base_only),yes) + configure_dependencies = $(configure_dummy_stamp) + build_dependencies = $(build_dummy_stamp) + install_dependencies = $(install_dummy_stamp) + else + configure_dependencies = $(configure_stamp) + build_dependencies = $(build_stamp) + install_dependencies = $(install_stamp) + ifeq ($(with_check),yes) + check_dependencies += $(check_stamp) + endif + endif +endif + +ifeq ($(with_jit),yes) + build_dependencies += $(build_jit_stamp) + install_dependencies += $(install_jit_stamp) +endif + +ifeq ($(with_offload_nvptx),yes) + build_dependencies += $(build_nvptx_stamp) + install_dependencies += $(install_nvptx_stamp) +endif + +ifeq ($(with_neon),yes) + build_dependencies += $(build_neon_stamp) + install_dependencies += $(install_neon_stamp) +endif + +ifeq ($(with_hppa64),yes) + build_dependencies += $(build_hppa64_stamp) + ifneq ($(trunk_build),yes) + install_dependencies += $(install_hppa64_stamp) + endif +endif + +build_dependencies += $(check_dependencies) + +build_arch_dependencies = $(build_dependencies) +build_indep_dependencies = $(build_dependencies) + +ifneq (,$(findstring build-native, $(build_type))) + ifneq ($(single_package),yes) + build_indep_dependencies += $(build_html_stamp) + ifeq ($(with_cxx),yes) + build_indep_dependencies += $(build_doxygen_stamp) + endif + ifeq ($(with_ada),yes) + build_indep_dependencies += $(build_gnatdoc_stamp) + endif + endif +endif + +stamp-dir: + mkdir -p $(stampdir) + +ifeq ($(DEB_CROSS),yes) + define cross_mangle_shlibs + if [ -f debian/$(1)/DEBIAN/shlibs ]; then \ + sed -i s/$(cross_lib_arch)/:$(DEB_TARGET_ARCH)/g debian/$(1)/DEBIAN/shlibs; \ + fi + endef + define cross_mangle_substvars + if [ -f debian/$(1).substvars ]; then \ + sed -i \ + -e 's/:$(DEB_TARGET_ARCH)/$(cross_lib_arch)/g' \ + -e 's/\(libc[.0-9]*-[^:]*\):\([a-z0-9-]*\)/\1-\2-cross/g' \ + $(if $(filter armel,$(DEB_TARGET_ARCH)),-e 's/:armhf/-armhf-cross/g') \ + $(if $(filter armhf,$(DEB_TARGET_ARCH)),-e 's/:armel/-armel-cross/g') \ + debian/$(1).substvars; \ + fi + endef +else + define cross_mangle_shlibs + endef + define cross_mangle_substvars + endef + # precise's dh_shlibdeps doesn't work well for ARM multilibs + # and dh_shlibdeps doesn't work well for cross builds, see #698881. + ifneq (,$(filter $(distrelease),precise quantal raring)) + ifneq (,$(filter $(DEB_TARGET_ARCH), armel armhf arm64)) + ignshld = - + endif + endif +endif +ifeq ($(DEB_STAGE),rtlibs) + define cross_mangle_shlibs + endef + define cross_mangle_substvars + endef +endif + +# takes a *list* of package names as $1, the multilib dirname as $2 +_shlibdirs = \ + $(if $(strip $(1)), \ + $(shell find $(foreach p,$(1),$(CURDIR)/debian/$(p)) \ + -name '*.so.*' -printf '%h ' | uniq)) \ + $(with_build_sysroot)/lib/$(call mlib_to_march,$(2)) \ + $(with_build_sysroot)/usr/lib/$(call mlib_to_march,$(2)) \ + $(with_build_sysroot)$(subst /usr,,/$(usr_lib$(2))) \ + $(with_build_sysroot)/$(usr_lib$(2)) \ + $(if $(filter yes,$(biarchsf) $(biarchhf)), \ + $(with_build_sysroot)/usr/$(call mlib_to_march,$(2))/lib) \ + $(if $(filter yes, $(with_common_libs)),, \ + $(CURDIR)/$(d)/$(usr_lib$(2)) \ + $(CURDIR)/$(d)/usr/$(call mlib_to_march,$(2))/lib) +shlibdirs_to_search = -l$(subst $(SPACE),:,$(foreach d,$(_shlibdirs),$(d))) --- gcc-7-7.1.0.orig/debian/rules.parameters +++ gcc-7-7.1.0/debian/rules.parameters @@ -0,0 +1,42 @@ +# configuration parameters taken from upstream source files +GCC_VERSION := 7.1.0 +NEXT_GCC_VERSION := 7.1.1 +BASE_VERSION := 7 +SOURCE_VERSION := 7.1.0-7ubuntu1 +DEB_VERSION := 7.1.0-7ubuntu1 +DEB_EVERSION := 1:7.1.0-7ubuntu1 +DEB_GDC_VERSION := 7.1.0-7ubuntu1 +DEB_SOVERSION := 5 +DEB_SOEVERSION := 1:5 +DEB_LIBGCC_SOVERSION := +DEB_LIBGCC_VERSION := 1:7.1.0-7ubuntu1 +DEB_STDCXX_SOVERSION := 5 +DEB_GOMP_SOVERSION := 5 +GCC_SONAME := 1 +CXX_SONAME := 6 +FORTRAN_SONAME := 4 +OBJC_SONAME := 4 +GDC_VERSION := 7 +GNAT_VERSION := 7 +GNAT_SONAME := 7 +FFI_SONAME := 7 +SSP_SONAME := 0 +GOMP_SONAME := 1 +ITM_SONAME := 1 +ATOMIC_SONAME := 1 +BTRACE_SONAME := 1 +ASAN_SONAME := 4 +LSAN_SONAME := 0 +TSAN_SONAME := 0 +UBSAN_SONAME := 0 +VTV_SONAME := 0 +CILKRTS_SONAME := 5 +MPX_SONAME := 2 +QUADMATH_SONAME := 0 +GO_SONAME := 11 +CC1_SONAME := 0 +GCCJIT_SONAME := 0 +GPHOBOS_SONAME := 71 +GDRUNTIME_SONAME := 71 +HSAIL_SONAME := 0 +LIBC_DEP := libc6 --- gcc-7-7.1.0.orig/debian/rules.patch +++ gcc-7-7.1.0/debian/rules.patch @@ -0,0 +1,360 @@ +# -*- makefile -*- +# rules to patch the unpacked files in the source directory +# --------------------------------------------------------------------------- +# various rules to unpack addons and (un)apply patches. +# - patch / apply-patches +# - unpatch / reverse-patches + +.NOTPARALLEL: + +patchdir ?= debian/patches +series_file ?= $(patchdir)/series + +# which patches should be applied? + +debian_patches = \ + svn-updates \ + $(if $(with_linaro_branch),gcc-linaro) \ + $(if $(with_linaro_branch),gcc-linaro-no-macros) \ + +# svn-updates \ + +ifneq ($(GFDL_INVARIANT_FREE),yes) + debian_patches += \ + $(if $(with_linaro_branch),gcc-linaro-doc) \ + rename-info-files \ + gcc-fuse-ld-lld-doc \ + +# svn-doc-updates \ +# $(if $(with_linaro_branch),,svn-doc-updates) \ + +else +endif +debian_patches += \ + gcc-gfdl-build + +debian_patches += \ + gcc-textdomain \ + gcc-driver-extra-langs$(if $(with_linaro_branch),-linaro) + +ifneq (,$(filter $(distrelease),etch lenny squeeze wheezy dapper hardy intrepid jaunty karmic lucid)) + debian_patches += gcc-hash-style-both +else + debian_patches += gcc-hash-style-gnu +endif + +debian_patches += \ + libstdc++-pic \ + libstdc++-doclink \ + libstdc++-man-3cxx \ + libstdc++-test-installed \ + alpha-no-ev4-directive \ + note-gnu-stack \ + libgomp-omp_h-multilib \ + pr47818 \ + libgo-testsuite \ + gcc-target-include-asm \ + libgo-revert-timeout-exp \ + libgo-setcontext-config \ + gcc-auto-build \ + kfreebsd-unwind \ + libitm-no-fortify-source \ + sparc64-biarch-long-double-128 \ + gotools-configury \ + pr66368 \ + pr67590 \ + libjit-ldflags \ + PR55947-revert \ + libffi-pax \ + libffi-race-condition \ + gcc-foffload-default \ + gcc-fuse-ld-lld \ + + +# $(if $(filter yes, $(DEB_CROSS)),,gcc-print-file-name) \ +# libstdc++-nothumb-check \ + +hardening_patches = +ifeq ($(with_ssp)-$(with_ssp_default),yes-yes) + hardening_patches += gcc-default-ssp + hardening_patches += gcc-default-format-security + ifeq (,$(filter $(distrelease),dapper hardy lucid maverick natty oneiric precise quantal raring saucy trusty)) + hardening_patches += gcc-default-ssp-strong + endif +endif +ifneq (,$(filter $(derivative),Ubuntu)) + ifneq (,$(findstring gcc-7, $(PKGSOURCE))) + hardening_patches += \ + gcc-default-fortify-source \ + gcc-default-relro \ + testsuite-hardening-format \ + testsuite-hardening-printf-types \ + testsuite-hardening-updates \ + testsuite-glibc-warnings + ifeq ($(with_pie),yes) + hardening_patches += \ + bind_now_when_pie +# else +# hardening_patches += \ +# ignore-pie-specs-when-not-enabled + endif + endif +else ifneq (,$(filter $(derivative),Debian)) + ifneq (,$(findstring gcc-7, $(PKGSOURCE))) +# ifneq ($(with_pie),yes) +# hardening_patches += \ +# ignore-pie-specs-when-not-enabled +# endif + endif +endif + +# FIXME 4.5: Drop and adjust symbols files +ifneq (,$(findstring 4.4, $(PKGSOURCE))) + debian_patches += pr39491 +endif + +debian_patches += ada-arm + +# there should be no harm to always apply these, except for new GCC versions +#ifeq ($(with_ada),yes) + + debian_patches += \ + ada-driver-check \ + ada-gcc-name \ + ada-library-project-files-soname + + # FIXME: needs update + #ada-symbolic-tracebacks \ + + ifeq ($(biarch64),yes) + debian_patches += \ + ada-nobiarch-check + endif + + #ifeq ($(with_libgnat),yes) + debian_patches += \ + ada-link-lib \ + ada-libgnatvsn \ + ada-gnattools-cross \ + ada-tools-move-ldflags \ + ada-acats + #endif + #ifeq ($(with_gnatsjlj),yes) + debian_patches += \ + ada-sjlj + #endif + + debian_patches += ada-link-shlib + debian_patches += ada-lib-info-source-date-epoch +#endif + + +ifeq ($(with_d),yes) + debian_patches += \ + gdc-7 \ + gdc-updates \ + libphobos-zlib \ + gdc-versym-cpu \ + gdc-versym-os \ + gdc-frontend-posix \ + gdc-profiledbuild \ + gdc-sparc-fix \ +# gdc-multiarch + ifneq ($(GFDL_INVARIANT_FREE),yes) + debian_patches += gdc-7-doc + else + debian_patches += gdc-texinfo + endif + ifeq ($(with_libphobos),yes) + debian_patches += gdc-libphobos-build + else + debian_patches += gdc-driver-nophobos + endif + ifeq (,$(filter $(DEB_TARGET_ARCH),amd64 i386)) + debian_patches += disable-gdc-tests + endif +else + debian_patches += gcc-d-lang +endif + +ifeq ($(DEB_TARGET_ARCH),alpha) + debian_patches += alpha-ieee + ifneq ($(GFDL_INVARIANT_FREE),yes) + debian_patches += alpha-ieee-doc + endif +endif + +ifeq ($(DEB_TARGET_ARCH),powerpcspe) + debian_patches += powerpc_remove_many + debian_patches += powerpc_nofprs +endif + +# all patches below this line are applied for gcc-snapshot builds as well + +ifeq ($(single_package),yes) + debian_patches = +endif + +debian_patches += \ + sys-auxv-header \ + libcilkrts-targets \ + +ifeq ($(with_ibm_branch),yes) + debian_patches += ibm-branch +endif + +ifeq ($(with_softfloat),yes) + debian_patches += arm-multilib-soft-float +else ifeq ($(multilib),yes) + ifneq (,$(filter $(distrelease),lucid maverick natty oneiric precise)) + debian_patches += arm-multilib-softfp$(if $(filter yes,$(DEB_CROSS)),-cross) + else + debian_patches += arm-multilib-soft$(if $(filter yes,$(DEB_CROSS)),-cross) + endif +endif +debian_patches += arm-multilib-defaults + +ifeq ($(DEB_CROSS),yes) + debian_patches += cross-fixes + debian_patches += cross-install-location + ifeq ($(with_d),yes) + debian_patches += gdc-cross-install-location + endif +endif + +ifeq ($(DEB_TARGET_ARCH_OS),hurd) + debian_patches += hurd-changes +endif + +debian_patches += gcc-ice-dump +debian_patches += gcc-ice-apport +debian_patches += skip-bootstrap-multilib +debian_patches += libffi-ro-eh_frame_sect +debian_patches += libffi-mips +debian_patches += ada-kfreebsd +debian_patches += ada-drop-termio-h + +# sigaction on sparc changed between glibc 2.19 and 2.21 +ifeq (,$(filter 2.1%, $(shell dpkg-query -l libc-bin | awk '/^.i/ {print $$3}'))) + # keep it, gets remove in GCC from time to time + #debian_patches += pr67899 +endif + +debian_patches += gcc-multiarch +debian_patches += config-ml +ifneq ($(single_package),yes) + ifeq ($(with_multiarch_cxxheaders),yes) + debian_patches += g++-multiarch-incdir + debian_patches += canonical-cpppath + endif +endif +ifneq (,$(filter $(build_type), build-cross cross-build-cross)) + debian_patches += cross-no-locale-include + debian_patches += cross-biarch + ifeq ($(with_libphobos),yes) + debian_patches += gdc-cross-biarch + endif +endif +debian_patches += gcc-multilib-multiarch + +ifneq (,$(filter $(derivative),Ubuntu)) + ifeq (,$(filter $(distrelease),dapper hardy intrepid jaunty karmic lucid maverick)) + debian_patches += gcc-as-needed + ifeq (,$(filter $(distrelease),dapper hardy intrepid jaunty karmic lucid maverick precise trusty utopic vivid wily xenial yakkety)) + debian_patches += gcc-as-needed-gold + endif + endif +else # Debian + #debian_patches += gcc-as-needed +endif + +debian_patches += libgomp-kfreebsd-testsuite +debian_patches += go-testsuite + +# Ada patches needed for both the stable package and snapshot builds +debian_patches += ada-749574 + +# don't remove, this is regularly overwritten, see PR sanitizer/63958. +#debian_patches += libasan-sparc + +# Has to be refreshed manually as described in the header. +debian_patches += ada-changes-in-autogen-output + +series_stamp = $(stampdir)/02-series-stamp +series: $(series_stamp) +$(series_stamp): + echo $(strip $(addsuffix .diff,$(debian_patches))) \ + | sed -r 's/ +/ /g' | tr " " "\n" > $(series_file) +ifneq (,$(strip $(hardening_patches))) + ifneq ($(trunk_build),yes) + echo $(strip $(addsuffix .diff,$(hardening_patches))) \ + | sed -r 's/ +/ /g' | tr " " "\n" >> $(series_file) + endif +endif + sed -r 's/(.)$$/\1 -p1/' -i $(series_file) + touch $@ + +autoconf_files = $(shell lsdiff --no-filename $(foreach patch,$(debian_patches),$(patchdir)/$(patch).diff) \ + | sed -rn '/(configure\.ac|acinclude.m4)$$/s:[^/]+/src/:src/:p' | sort -u) +autoconf_dirs = $(sort $(dir $(autoconf_files))) + +automake_files = $(addprefix ./, $(filter-out none, \ + $(shell lsdiff --no-filename $(foreach patch,$(debian_patches),$(patchdir)/$(patch).diff) \ + | sed -rn '/Makefile\.(am|in)$$/s:[^/]+/src/:src/:p' | sort -u))) + +autoconf_version = 2.64 +ifeq ($(trunk_build),yes) + # The actual version depends on the build-dependencies set by + # variable AUTO_BUILD_DEP in rules.conf. Here, we assume the + # correct version is installed. + #autoconf_version = +endif + +# FIXME: the auto* stuff is done every time for every subdir, which +# leads to build errors. Idea: record the auto* calls in the patch +# files (AUTO ) and run them separately, +# maybe only once per directory). +$(patch_stamp): $(unpack_stamp) $(series_stamp) + sync + QUILT_PATCHES=$(patchdir) \ + quilt --quiltrc /dev/null push -a || test $$? = 2 + +ifneq (,$(filter svn-updates, $(debian_patches))) + awk '/^EOF/ {exit} p==1 {print} /EOF$$/ {p=1}' \ + $(patchdir)/svn-updates.diff > src/LAST_UPDATED +endif + + : # only needed when we have changes, and currently fails with autogen 5.18 + : #cd $(srcdir)/fixincludes && ./genfixes + + sync + echo -n $(autoconf_dirs) | xargs -d ' ' -L 1 -P $(USE_CPUS) -I{} \ + sh -c 'echo "Running autoconf$(autoconf_version) in {}..." ; \ + cd $(CURDIR)/{} && rm -f configure && \ + AUTOM4TE=/usr/bin/autom4te$(autoconf_version) autoconf$(autoconf_version)' + + for i in $(debian_patches) $(hardening_patches); do \ + echo -e "\n$$i:" >> pxxx; \ + sed -n 's/^# *DP: */ /p' $(patchdir)/$$i.diff >> pxxx; \ + done +# -$(srcdir)/move-if-change pxxx $@ + mv pxxx $@ + +unpatch: +ifneq (,$(filter libgo-elf-relocations-sparc64, $(debian_patches))) + # uudecoded in $(patch_stamp) rule + rm -f $(srcdir)/libgo/go/debug/elf/testdata/go-relocation-test-gcc620-sparc64.obj +endif + + QUILT_PATCHES=$(patchdir) \ + quilt --quiltrc /dev/null pop -a -R || test $$? = 2 + rm -rf .pc + +update-patches: $(series_stamp) + export QUILT_PATCHES=$(patchdir); \ + export QUILT_REFRESH_ARGS="--no-timestamps --no-index -pab"; \ + export QUILT_DIFF_ARGS="--no-timestamps --no-index -pab"; \ + while quilt push; do quilt refresh; done + +patch: $(patch_stamp) +.PHONY: patch series quilt autotools --- gcc-7-7.1.0.orig/debian/rules.sonames +++ gcc-7-7.1.0/debian/rules.sonames @@ -0,0 +1,91 @@ +ifneq ($(vafilt_defined),1) + $(error rules.defs must be included before rules.sonames) +endif + +ifeq (,$(wildcard debian/soname-cache)) + SONAME_VARS := $(shell \ + cache=debian/soname-cache; \ + rm -f $$cache; \ + v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \ + $(srcdir)/libstdc++-v3/acinclude.m4`; \ + echo CXX_SONAME=$$v >> $$cache; \ + v=`awk -F= '/^VERSION/ {split($$2,v,":"); print v[1]}' \ + $(srcdir)/libobjc/configure.ac`; \ + echo OBJC_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libgfortran/libtool-version | cut -d: -f1`; \ + echo FORTRAN_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libssp/libtool-version | cut -d: -f1`; \ + echo SSP_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libffi/libtool-version | cut -d: -f1`; \ + echo FFI_SONAME=$$v >> $$cache; \ + v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \ + $(srcdir)/libgomp/configure.ac`; \ + echo GOMP_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libsanitizer/asan/libtool-version | cut -d: -f1`; \ + echo ASAN_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libsanitizer/lsan/libtool-version | cut -d: -f1`; \ + echo LSAN_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libsanitizer/tsan/libtool-version | cut -d: -f1`; \ + echo TSAN_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libsanitizer/ubsan/libtool-version | cut -d: -f1`; \ + echo UBSAN_SONAME=$$v >> $$cache; \ + v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \ + $(srcdir)/libatomic/configure.ac`; \ + v=1; \ + echo ATOMIC_SONAME=$$v >> $$cache; \ + v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \ + $(srcdir)/libbacktrace/configure.ac`; \ + echo BTRACE_SONAME=$$v >> $$cache; \ + v=`tail -1 $(srcdir)/libquadmath/libtool-version | cut -d: -f1`; \ + echo QUADMATH_SONAME=$$v >> $$cache; \ + v=`grep '[^_]Library_Version.*:' $(srcdir)/gcc/ada/gnatvsn.ads \ + | sed -e 's/.*"\([^"]*\)".*/\1/'`; \ + echo GNAT_SONAME=$$v >> $$cache; \ + v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \ + $(srcdir)/libgo/configure.ac`; \ + echo GO_SONAME=$$v >> $$cache; \ + echo ITM_SONAME=1 >> $$cache; \ + v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \ + $(srcdir)/libvtv/configure.ac`; \ + v=0; \ + echo VTV_SONAME=$$v >> $$cache; \ + echo CILKRTS_SONAME=5 >> $$cache; \ + echo CC1_SONAME=0 >> $$cache; \ + echo GCCJIT_SONAME=0 >> $$cache; \ + v=`tail -1 $(srcdir)/libmpx/mpxrt/libtool-version | cut -d: -f1`; \ + echo MPX_SONAME=$$v >> $$cache; \ + echo GPHOBOS_SONAME=71 >> $$cache; \ + echo GDRUNTIME_SONAME=71 >> $$cache; \ + echo HSAIL_SONAME=0 >> $$cache; \ + cat $$cache) +else + SONAME_VARS := $(shell cat debian/soname-cache) +endif +CXX_SONAME = $(call vafilt,$(SONAME_VARS),CXX_SONAME) +OBJC_SONAME = $(call vafilt,$(SONAME_VARS),OBJC_SONAME) +FORTRAN_SONAME = $(call vafilt,$(SONAME_VARS),FORTRAN_SONAME) +SSP_SONAME = $(call vafilt,$(SONAME_VARS),SSP_SONAME) +FFI_SONAME = $(call vafilt,$(SONAME_VARS),FFI_SONAME) +GOMP_SONAME = $(call vafilt,$(SONAME_VARS),GOMP_SONAME) +ATOMIC_SONAME = $(call vafilt,$(SONAME_VARS),ATOMIC_SONAME) +BTRACE_SONAME = $(call vafilt,$(SONAME_VARS),BTRACE_SONAME) +ASAN_SONAME = $(call vafilt,$(SONAME_VARS),ASAN_SONAME) +LSAN_SONAME = $(call vafilt,$(SONAME_VARS),LSAN_SONAME) +TSAN_SONAME = $(call vafilt,$(SONAME_VARS),TSAN_SONAME) +UBSAN_SONAME = $(call vafilt,$(SONAME_VARS),UBSAN_SONAME) +VTV_SONAME = $(call vafilt,$(SONAME_VARS),VTV_SONAME) +CILKRTS_SONAME = $(call vafilt,$(SONAME_VARS),CILKRTS_SONAME) +QUADMATH_SONAME = $(call vafilt,$(SONAME_VARS),QUADMATH_SONAME) +GNAT_SONAME = $(call vafilt,$(SONAME_VARS),GNAT_SONAME) +GO_SONAME = $(call vafilt,$(SONAME_VARS),GO_SONAME) +ITM_SONAME = $(call vafilt,$(SONAME_VARS),ITM_SONAME) +CC1_SONAME = $(call vafilt,$(SONAME_VARS),CC1_SONAME) +GCCJIT_SONAME = $(call vafilt,$(SONAME_VARS),GCCJIT_SONAME) +MPX_SONAME = $(call vafilt,$(SONAME_VARS),MPX_SONAME) +GPHOBOS_SONAME = $(call vafilt,$(SONAME_VARS),GPHOBOS_SONAME) +GDRUNTIME_SONAME= $(call vafilt,$(SONAME_VARS),GDRUNTIME_SONAME) +HSAIL_SONAME = $(call vafilt,$(SONAME_VARS),HSAIL_SONAME) + +# alias +GFORTRAN_SONAME = $(FORTRAN_SONAME) +STDC++_SONAME = $(CXX_SONAME) --- gcc-7-7.1.0.orig/debian/rules.source +++ gcc-7-7.1.0/debian/rules.source @@ -0,0 +1,15 @@ +SOURCE_DIR := $(dir $(lastword $(MAKEFILE_LIST))) +patchdir = $(SOURCE_DIR)/patches + +include $(SOURCE_DIR)/debian/rules.defs +include $(SOURCE_DIR)/debian/rules.patch +include $(SOURCE_DIR)/debian/rules.unpack + +patch-source: $(patch_stamp) + +clean-source: + rm -rf $(stampdir) + rm -rf $(gcc_srcdir) $(gdc_srcdir) + rm -rf bin + rm -rf $(srcdir) + --- gcc-7-7.1.0.orig/debian/rules.unpack +++ gcc-7-7.1.0/debian/rules.unpack @@ -0,0 +1,208 @@ +# -*- makefile -*- +# rules to unpack the source tarballs in $(srcdir); if the source dir already +# exists, the rule exits with an error to prevent deletion of modified +# source files. It has to be deleted manually. + +tarballs = $(gcc_tarball) +ifeq ($(with_d),yes) + tarballs += $(gdc_tarball) +endif +ifeq ($(with_offload_nvptx),yes) + tarballs += $(nl_nvptx_tarball) +endif + +unpack_stamps = $(foreach i,$(tarballs),$(unpack_stamp)-$(i)) + +unpack: stamp-dir $(unpack_stamp) debian-chmod +$(unpack_stamp): $(unpack_stamps) +$(unpack_stamp): $(foreach p,$(debian_tarballs),unpacked-$(p)) + echo -e "\nBuilt from Debian source package $(PKGSOURCE)-$(SOURCE_VERSION)" \ + > pxxx + echo -e "Integrated upstream packages in this version:\n" >> pxxx + for i in $(tarballs); do echo " $$i" >> pxxx; done + mv -f pxxx $@ + +debian-chmod: + @chmod 755 debian/dh_* + +# --------------------------------------------------------------------------- + +gfdl_texinfo_files = \ + gcc/doc/avr-mmcu.texi \ + gcc/doc/bugreport.texi \ + gcc/doc/cfg.texi \ + gcc/doc/collect2.texi \ + gcc/doc/compat.texi \ + gcc/doc/configfiles.texi \ + gcc/doc/configterms.texi \ + gcc/doc/contrib.texi \ + gcc/doc/contribute.texi \ + gcc/doc/cpp.texi \ + gcc/doc/cppenv.texi \ + gcc/doc/cppinternals.texi \ + gcc/doc/cppopts.texi \ + gcc/doc/extend.texi \ + gcc/doc/fragments.texi \ + gcc/doc/frontends.texi \ + gcc/doc/gccint.texi \ + gcc/doc/gcov.texi \ + gcc/doc/gcov-dump.texi \ + gcc/doc/gcov-tool.texi \ + gcc/doc/generic.texi \ + gcc/doc/gimple.texi \ + gcc/doc/gnu.texi \ + gcc/doc/gty.texi \ + gcc/doc/headerdirs.texi \ + gcc/doc/hostconfig.texi \ + gcc/doc/implement-c.texi \ + gcc/doc/implement-cxx.texi \ + gcc/doc/install-old.texi \ + gcc/doc/install.texi \ + gcc/doc/interface.texi \ + gcc/doc/invoke.texi \ + gcc/doc/languages.texi \ + gcc/doc/libgcc.texi \ + gcc/doc/loop.texi \ + gcc/doc/lto.texi \ + gcc/doc/makefile.texi \ + gcc/doc/match-and-simplify.texi \ + gcc/doc/md.texi \ + gcc/doc/objc.texi \ + gcc/doc/optinfo.texi \ + gcc/doc/options.texi \ + gcc/doc/passes.texi \ + gcc/doc/plugins.texi \ + gcc/doc/portability.texi \ + gcc/doc/rtl.texi \ + gcc/doc/service.texi \ + gcc/doc/sourcebuild.texi \ + gcc/doc/standards.texi \ + gcc/doc/tm.texi.in \ + gcc/doc/tm.texi \ + gcc/doc/tree-ssa.texi \ + gcc/doc/trouble.texi \ + gcc/doc/include/gcc-common.texi \ + gcc/doc/include/funding.texi \ + gcc/fortran/gfc-internals.texi \ + gcc/fortran/invoke.texi \ + gcc/fortran/intrinsic.texi \ + + +gfdl_toplevel_texinfo_files = \ + gcc/doc/gcc.texi \ + gcc/ada/gnat-style.texi \ + gcc/ada/gnat_rm.texi \ + gcc/ada/gnat_ugn.texi \ + gcc/fortran/gfortran.texi \ + gcc/go/gccgo.texi \ + libgomp/libgomp.texi \ + libquadmath/libquadmath.texi \ + +gfdl_manpages = \ + gcc/doc/cpp.1 \ + gcc/doc/g++.1 \ + gcc/doc/gc-analyze.1 \ + gcc/doc/gcc.1 \ + gcc/doc/gccgo.1 \ + gcc/doc/gcov.1 \ + gcc/doc/gcov-dump.1 \ + gcc/doc/gcov-tool.1 \ + gcc/doc/gfortran.1 \ + gcc/doc/fsf-funding.7 \ + +# --------------------------------------------------------------------------- +$(unpack_stamp)-$(gcc_tarball): $(gcc_tarpath) + : # unpack gcc tarball + mkdir -p $(stampdir) + if [ -d $(srcdir) ]; then \ + echo >&2 "Source directory $(srcdir) exists. Delete by hand"; \ + false; \ + fi + rm -rf $(gcc_srcdir) + tar -x -f $(gcc_tarpath) + mv $(gcc_srcdir) $(srcdir) + ln -sf libsanitizer $(srcdir)/libasan +ifeq (0,1) + cd $(srcdir) && tar cfj ../gcc-4.1.1-doc.tar.bz2 \ + $(gfdl_texinfo_files) \ + $(gfdl_toplevel_texinfo_files) \ + $(gfdl_manpages) +endif +ifeq ($(GFDL_INVARIANT_FREE),yes) + ifneq ($(single_package),yes) + rm -f $(srcdir)/gcc/doc/*.1 + rm -f $(srcdir)/gcc/doc/fsf-funding.7 + rm -f $(srcdir)/gcc/doc/*.info + rm -f $(srcdir)/gcc/fortran/*.info + rm -f $(srcdir)/libgomp/*.info + for i in $(gfdl_texinfo_files); do \ + if [ -f $(srcdir)/$$i ]; then \ + cp $(SOURCE_DIR)debian/dummy.texi $(srcdir)/$$i; \ + else \ + cp $(SOURCE_DIR)debian/dummy.texi $(srcdir)/$$i; \ + echo >&2 "$$i does not exist, fix debian/rules.unpack"; \ + fi; \ + done + for i in $(gfdl_toplevel_texinfo_files); do \ + n=$$(basename $$i .texi); \ + if [ -f $(srcdir)/$$i ]; then \ + sed "s/@name@/$$n/g" $(SOURCE_DIR)debian/gcc-dummy.texi \ + > $(srcdir)/$$i; \ + else \ + sed "s/@name@/$$n/g" $(SOURCE_DIR)debian/gcc-dummy.texi \ + > $(srcdir)/$$i; \ + echo >&2 "$$i does not exist, fix debian/rules.unpack"; \ + fi; \ + done + for i in $(gfdl_manpages); do \ + touch $(srcdir)/$$i; \ + done + rm -f $(srcdir)/INSTALL/*.html + rm -f $(srcdir)/zlib/contrib/dotzlib/DotZLib.chm + endif +endif + echo "$(gcc_tarball) unpacked." > $@ + +# --------------------------------------------------------------------------- +ifneq (,$(gdc_tarball)) +$(unpack_stamp)-$(gdc_tarball): $(gdc_tarpath) $(unpack_stamp)-$(gcc_tarball) + : # unpack gdc tarball + mkdir -p $(stampdir) + if [ -d $(srcdir)/gcc/d ]; then \ + echo >&2 "Source directory $(srcdir)/gcc/d exists. Delete by hand";\ + false; \ + fi + #rm -rf $(gdc_srcdir) + rm -rf $(srcdir)/gcc/d + rm -rf $(srcdir)/gcc/testsuite/gdc.test + rm -f $(srcdir)/gcc/testsuite/lib/gdc*.exp + rm -rf $(srcdir)/libphobos + tar -x -C $(srcdir) --strip-components=1 -f $(gdc_tarpath) +ifeq ($(GFDL_INVARIANT_FREE),yes-now-purge-gfdl) + ifneq ($(single_package),yes) + for i in gcc/d/gdc.texi; do \ + n=$$(basename $$i .texi); \ + if [ -f $(srcdir)/$$i ]; then \ + sed "s/@name@/$$n/g" $(SOURCE_DIR)debian/gcc-dummy.texi \ + > $(srcdir)/$$i; \ + else \ + echo >&2 "$$i does not exist, fix debian/rules.unpack"; \ + fi; \ + done + for i in gcc/d/gdc.1; do \ + touch $(srcdir)/$$i; \ + done + endif +endif + echo "$(gdc_tarball) unpacked." > $@ +endif + +# --------------------------------------------------------------------------- +ifneq (,$(nl_nvptx_tarball)) +$(unpack_stamp)-$(nl_nvptx_tarball): $(nl_nvptx_tarpath) $(unpack_stamp)-$(gcc_tarball) + : # unpack newlib-nvptx tarball + mkdir -p $(stampdir) + : # rm -rf $(nl_nvptx_srcdir) + tar -x -f $(nl_nvptx_tarpath) + echo "$(nl_nvptx_tarball) unpacked." > $@ +endif --- gcc-7-7.1.0.orig/debian/rules2 +++ gcc-7-7.1.0/debian/rules2 @@ -0,0 +1,2474 @@ +#! /usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +.SUFFIXES: + +include debian/rules.defs +include debian/rules.parameters + +dh_compat2 := $(shell dpkg --compare-versions "$$(dpkg-query -f '$${Version}' -W debhelper)" lt 9.20150811ubuntu2 \ + && echo DH_COMPAT=2) + +# some tools +SHELL = /bin/bash -e # brace expansion in rules file +IR = install -m 644 # Install regular file +IP = install -m 755 # Install program +IS = install -m 755 # Install script + +# kernel-specific ulimit hack +ifeq ($(findstring linux,$(DEB_HOST_GNU_SYSTEM)),linux) + ULIMIT_M = if [ -e /proc/meminfo ]; then \ + m=`awk '/^((Mem|Swap)Free|Cached)/{m+=$$2}END{print int(m*.9)}' \ + /proc/meminfo`; \ + else \ + m=`vmstat --free --swap-free --kilobytes|awk '{m+=$$2}END{print int(m*.9)}'`; \ + fi; \ + echo "Limiting memory for test runs to $${m}kB"; \ + if ulimit -m $$m; then \ + echo " limited to `ulimit -m`kB"; \ + else \ + echo " failed"; \ + fi +else + ULIMIT_M = true +endif + +ifeq ($(locale_data),generate) + SET_LOCPATH = LOCPATH=$(CURDIR)/locales +endif + +SET_PATH = PATH=$(CURDIR)/bin:/usr/$(libdir)/gcc/bin:$$PATH +ifeq ($(trunk_build),yes) + ifneq (,$(findstring sparc64-linux,$(DEB_TARGET_GNU_TYPE))) + SET_PATH = PATH=/usr/lib/gcc-snapshot/bin:$(CURDIR)/bin:/usr/$(libdir)/gcc/bin:$$PATH + endif + ifneq (,$(findstring ppc64-linux,$(DEB_TARGET_GNU_TYPE))) + SET_PATH = PATH=/usr/lib/gcc-snapshot/bin:$(CURDIR)/bin:/usr/$(libdir)/gcc/bin:$$PATH + endif +endif + +# the recipient for the test summaries. Send with: debian/rules mail-summary +S_EMAIL = gcc@packages.debian.org gcc-testresults@gcc.gnu.org + +# build not yet prepared to take variables from the environment +define unsetenv + unexport $(1) + $(1) = +endef +$(foreach v, CPPFLAGS CFLAGS CXXFLAGS DFLAGS FFLAGS FCFLAGS LDFLAGS OBJCFLAGS OBJCXXFLAGS, $(if $(filter environment,$(origin $(v))),$(eval $(call unsetenv, $(v))))) + +CC = $(notdir $(firstword $(wildcard \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-7 \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-6 \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-5 \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc))) +CXX = $(notdir $(firstword $(wildcard \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-g++-7 \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-g++-6 \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-g++-5 \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-g++))) +ifeq ($(with_ada),yes) + GNAT = $(notdir $(firstword $(wildcard \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-gnat-7 \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-gnat-6 \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-gnat-5 \ + /usr/bin/$(DEB_HOST_GNU_TYPE)-gnat /usr/bin/gnatgcc))) + ifeq ($(GNAT),gnatgcc) + CC := $(shell readlink /usr/bin/gnatgcc) + else ifneq (,$(GNAT)) + CC = $(subst gnat,gcc,$(GNAT)) + else ifneq (,$(filter $(distrelease), trusty)) + CC = gcc-4.8 + else ifneq (,$(wildcard /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc)) + CC = $(DEB_HOST_GNU_TYPE)-gcc + else + CC = gcc + endif + CXX = $(subst gcc,g++,$(CC)) +endif + +ifneq (,$(filter $(build_type),cross-build-native cross-build-cross)) + SET_TARGET_TOOLS = \ + CC_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gcc-$(BASE_VERSION) \ + CXX_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-g++-$(BASE_VERSION) \ + GFORTRAN_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gfortran-$(BASE_VERSION) \ + GOC_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gccgo-$(BASE_VERSION) \ + GNAT_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gnat-$(BASE_VERSION) \ + GDC_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gdc-$(BASE_VERSION) +endif + +ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_TARGET_GNU_TYPE)) + CC_FOR_TARGET = $(builddir)/gcc/xgcc -B$(builddir)/gcc/ +else + CC_FOR_TARGET = $(DEB_TARGET_GNU_TYPE)-gcc +endif + +ifneq ($(derivative),Ubuntu) + ifneq (,$(filter $(DEB_TARGET_ARCH), arm armel mips mipsel)) + STAGE1_CFLAGS = -g -O2 + endif +endif + +# work around PR 57689 +ifeq ($(DEB_TARGET_ARCH),ia64) + BOOT_CFLAGS = -g -O1 +endif + +ifeq ($(with_ssp_default),yes) + STAGE1_CFLAGS = -g + ifeq (,$(BOOT_CFLAGS)) + BOOT_CFLAGS = -g -O2 + endif + LIBCFLAGS = -g -O2 + LIBCXXFLAGS = -g -O2 -fno-implicit-templates + # Only use -fno-stack-protector when known to the stage1 compiler. + cc-fno-stack-protector := $(shell if $(CC) $(CFLAGS) -fno-stack-protector \ + -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \ + then echo "-fno-stack-protector"; fi;) + $(foreach var,STAGE1_CFLAGS BOOT_CFLAGS LIBCFLAGS LIBCXXFLAGS,$(eval \ + $(var) += $(cc-fno-stack-protector))) +endif + +# FIXME: passing LDFLAGS for native doesn't do anything +ifneq (,$(filter $(build_type), build-cross cross-build-cross)) + CFLAGS = -g -O2 + LDFLAGS = -Wl,-z,relro + ifeq ($(DEB_TARGET_ARCH),alpha) + LDFLAGS += -Wl,--no-relax + endif +else + BOOT_LDFLAGS = -Wl,-z,relro + ifeq ($(DEB_TARGET_ARCH),alpha) + BOOT_LDFLAGS += -Wl,--no-relax + endif +endif +LDFLAGS_FOR_TARGET = -Wl,-z,relro +ifeq ($(DEB_TARGET_ARCH),alpha) + LDFLAGS := $(filter-out -Wl$(COMMA)--no-relax, $(LDFLAGS)) -Wl,--no-relax +endif + +ifneq (,$(findstring static,$(DEB_BUILD_OPTIONS))) + LDFLAGS += -static +endif + +ifneq ($(findstring gccdebug, $(DEB_BUILD_OPTIONS)),) + CFLAGS = -O0 -g3 -fno-inline + CXXFLAGS = -O0 -g3 -fno-inline + CFLAGS_FOR_BUILD = -O0 -g3 -fno-inline + CXXFLAGS_FOR_BUILD = -O0 -g3 -fno-inline + CFLAGS_FOR_TARGET = -O0 -g3 -fno-inline + CXXFLAGS_FOR_TARGET = -O0 -g3 -fno-inline + BOOT_CFLAGS = + BOOT_LDFLAGS = + STAGE1_CFLAGS = + STAGE1_LDFLAGS = +endif + +# set CFLAGS/LDFLAGS for the configure step only, maybe be modifed for some target +# all other flags are passed to the make step. +pass_vars = $(foreach v,$(1),$(if $($(v)),$(v)="$($(v))")) +flags_to_pass := CFLAGS CXXFLAGS LIBCFLAGS LIBCXXFLAGS LDFLAGS + +docdir = usr/share/doc + +CONFARGS = -v \ + --with-pkgversion='$(distribution)$(if $(with_linaro_branch),/Linaro)$(if $(with_ibm_branch),/IBM)___$(DEB_VERSION)' \ + --with-bugurl='file:///usr/share/doc/$(PKGSOURCE)/README.Bugs' + +CONFARGS += \ + --enable-languages=$(subst $(SPACE),$(COMMA),$(enabled_languages)) \ + --prefix=/$(PF) \ + --with-gcc-major-version-only + +ifeq ($(versioned_packages),yes) + CONFARGS += --program-suffix=-$(BASE_VERSION) +endif +ifeq ($(build_type),build-native) + CONFARGS += --program-prefix=$(cmd_prefix) +endif + +ifneq (,$(filter $(DEB_STAGE),stage1 stage2)) + CONFARGS += \ + --disable-decimal-float \ + --disable-libatomic \ + --disable-libgomp \ + --disable-libmpx \ + --disable-libhsail-rt \ + --disable-libssp \ + --disable-libquadmath \ + --disable-libsanitizer \ + --disable-threads \ + --libexecdir=/$(libexecdir) \ + --libdir=/$(PF)/$(configured_libdir) \ + $(if $(with_build_sysroot),--with-build-sysroot=$(with_build_sysroot)) \ + $(if $(with_sysroot),--with-sysroot=$(with_sysroot)) \ + --enable-linker-build-id + + ifeq ($(with_multiarch_lib),yes) + CONFARGS += \ + --enable-multiarch + endif + + ifeq ($(DEB_STAGE),stage1) + CONFARGS += \ + --disable-shared \ + --with-newlib \ + --without-headers + else + # stage2 + CONFARGS += \ + --enable-shared + endif +else + CONFARGS += \ + --enable-shared \ + --enable-linker-build-id \ + +ifneq ($(single_package),yes) + CONFARGS += \ + --libexecdir=/$(libexecdir) \ + --without-included-gettext \ + --enable-threads=posix \ + --libdir=/$(PF)/$(configured_libdir) +endif + +ifneq ($(with_cpp),yes) + CONFARGS += --disable-cpp +endif + +ifeq ($(with_nls),yes) + CONFARGS += --enable-nls +else + CONFARGS += --disable-nls +endif + +ifeq ($(with_bootstrap),off) + CONFARGS += --disable-bootstrap +else ifneq ($(with_bootstrap),) + CONFARGS += --enable-bootstrap=$(with_bootstrap) +endif + +ifneq ($(with_sysroot),) + CONFARGS += --with-sysroot=$(with_sysroot) +endif +ifneq ($(with_build_sysroot),) + CONFARGS += --with-build-sysroot=$(with_build_sysroot) +endif + +ifeq ($(force_gnu_locales),yes) + CONFARGS += --enable-clocale=gnu +endif + +ifeq ($(with_cxx)-$(with_cxx_debug),yes-yes) + CONFARGS += --enable-libstdcxx-debug +endif +CONFARGS += --enable-libstdcxx-time=yes +CONFARGS += --with-default-libstdcxx-abi=$(libstdcxx_abi) +ifeq ($(libstdcxx_abi),gcc4-compatible) + CONFARGS += --disable-libstdcxx-dual-abi +endif + +ifeq (,$(filter $(DEB_TARGET_ARCH), hurd-i386 kfreebsd-i386 kfreebsd-amd64)) + CONFARGS += --enable-gnu-unique-object +endif + +ifneq ($(with_ssp),yes) + CONFARGS += --disable-libssp +endif + +ifneq ($(with_gomp),yes) + CONFARGS += --disable-libgomp +endif + +ifneq ($(with_itm),yes) + CONFARGS += --disable-libitm +endif + +ifneq ($(with_atomic),yes) + CONFARGS += --disable-libatomic +endif + +ifneq (,$(filter $(DEB_TARGET_ARCH),$(vtv_archs))) + ifeq ($(with_vtv),yes) + CONFARGS += --enable-vtable-verify + else + CONFARGS += --disable-vtable-verify + endif +endif + +ifneq ($(with_asan),yes) + CONFARGS += --disable-libsanitizer +endif + +ifneq ($(with_qmath),yes) + CONFARGS += --disable-libquadmath +endif + +ifeq ($(with_mpx),yes) + CONFARGS += --enable-libmpx +endif + +ifeq ($(with_plugins),yes) + CONFARGS += --enable-plugin +endif + +#ifeq ($(with_gold),yes) +# CONFARGS += --enable-gold --enable-ld=default +#endif + +#CONFARGS += --with-plugin-ld=ld.gold +#CONFARGS += --with-plugin-ld + +# enable pie-by-default on pie_archs +ifeq ($(with_pie),yes) + CONFARGS += --enable-default-pie +endif + +endif # !DEB_STAGE + +CONFARGS += --with-system-zlib + +ifeq ($(with_libphobos),yes) + CONFARGS += --with-target-system-zlib +endif + +ifeq ($(with_objc)-$(with_objc_gc),yes-yes) + CONFARGS += --enable-objc-gc=auto +endif + +ifneq (,$(filter $(DEB_TARGET_GNU_TYPE), i486-linux-gnu i586-linux-gnu i686-linux-gnu)) + ifeq ($(multilib),yes) + ifeq ($(biarch64),yes) + CONFARGS += --enable-targets=all + endif + endif +endif + +ifneq (,$(filter $(DEB_TARGET_GNU_TYPE), x86_64-linux-gnu x86_64-linux-gnux32 x86_64-kfreebsd-gnu s390x-linux-gnu sparc64-linux-gnu)) + ifneq ($(biarch32),yes) + CONFARGS += --disable-multilib + endif +endif + +ifneq (,$(filter $(DEB_TARGET_GNU_TYPE), powerpc-linux-gnu powerpc-linux-gnuspe)) + CONFARGS += --enable-secureplt + ifeq ($(biarch64),yes) + CONFARGS += --disable-softfloat --with-cpu=default32 + ifeq ($(multilib),yes) + CONFARGS += --disable-softfloat \ + --enable-targets=powerpc-linux,powerpc64-linux + endif + else + CONFARGS += --disable-multilib + endif +endif + +ifneq (,$(findstring powerpc64le-linux,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --enable-secureplt + ifneq (,$(filter $(distrelease),jessie trusty utopic vivid wily)) + CONFARGS += --with-cpu=power7 --with-tune=power8 + else + CONFARGS += --with-cpu=power8 + endif + CONFARGS += --enable-targets=powerpcle-linux + CONFARGS += --disable-multilib +endif + +ifneq (,$(findstring powerpc64-linux,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --enable-secureplt + ifeq ($(biarch32),yes) + ifeq ($(multilib),yes) + CONFARGS += --disable-softfloat --enable-targets=powerpc64-linux,powerpc-linux + endif + else + CONFARGS += --disable-multilib + endif + ifeq ($(derivative),Ubuntu) + CONFARGS += --with-cpu-32=power7 --with-cpu-64=power7 + endif +endif + +# FIXME: only needed for isl-0.13 for now +#CONFARGS += --disable-isl-version-check + +ifneq (,$(findstring cross-build-,$(build_type))) + # FIXME: requires isl headers for the target + #CONFARGS += --without-isl + # FIXME: build currently fails build the precompiled headers + CONFARGS += --disable-libstdcxx-pch +endif + +ifeq ($(with_multiarch_lib),yes) + CONFARGS += --enable-multiarch +endif + +ifneq (,$(findstring aarch64,$(DEB_TARGET_GNU_CPU))) + # requires binutils 2.25.90 or newer + ifeq (,$(filter $(distrelease),squeeze precise trusty utopic vivid wily)) + CONFARGS += --enable-fix-cortex-a53-843419 + endif +endif + +ifeq ($(findstring powerpcspe,$(DEB_TARGET_ARCH)),powerpcspe) + CONFARGS += --with-cpu=8548 --enable-e500_double +endif + +ifneq (,$(findstring softfloat,$(DEB_TARGET_GNU_CPU))) + CONFARGS += --with-float=soft +endif + +ifneq (,$(findstring arm-vfp,$(DEB_TARGET_GNU_CPU))) + CONFARGS += --with-fpu=vfp +endif + +ifneq (,$(findstring arm, $(DEB_TARGET_GNU_CPU))) + ifeq ($(multilib),yes) + CONFARGS += --enable-multilib + endif + CONFARGS += --disable-sjlj-exceptions + ifneq (,$(filter %armhf,$(DEB_TARGET_ARCH))) + ifeq ($(distribution),Raspbian) + with_arm_arch = armv6 + with_arm_fpu = vfp + else + with_arm_arch = armv7-a + with_arm_fpu = vfpv3-d16 + endif + else + # armel + ifeq ($(derivative),Debian) + with_arm_arch = armv4t + else ifneq (,$(filter $(distrelease),karmic)) + with_arm_arch = armv6 + with_arm_fpu = vfpv3-d16 + else ifneq (,$(filter $(distrelease),lucid maverick natty oneiric precise)) + with_arm_arch = armv7-a + with_arm_fpu = vfpv3-d16 + else + with_arm_arch = armv5t # starting with quantal + endif + endif + CONFARGS += --with-arch=$(with_arm_arch) + ifneq (,$(with_arm_fpu)) + CONFARGS += --with-fpu=$(with_arm_fpu) + endif + CONFARGS += --with-float=$(float_abi) + ifeq ($(with_arm_thumb),yes) + CONFARGS += --with-mode=thumb + endif +endif + +ifeq ($(DEB_TARGET_GNU_CPU),$(findstring $(DEB_TARGET_GNU_CPU),m68k)) + CONFARGS += --disable-werror +endif +# FIXME: correct fix-warnings.dpatch +ifeq ($(derivative),Ubuntu) + CONFARGS += --disable-werror +else ifeq ($(derivative),Debian) + CONFARGS += --disable-werror +endif + +ifneq (,$(findstring sparc-linux,$(DEB_TARGET_GNU_TYPE))) + ifeq ($(biarch64),yes) + CONFARGS += --enable-targets=all + CONFARGS += --with-cpu-32=ultrasparc + else + CONFARGS += --with-cpu=ultrasparc + endif +endif + +ifneq (,$(findstring sparc64-linux,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --with-cpu-32=ultrasparc + ifeq ($(biarch32),yes) + CONFARGS += --enable-targets=all + endif +endif + +ifneq (,$(findstring ia64-linux,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --with-system-libunwind +endif + +ifneq (,$(findstring sh4-linux,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --with-cpu=sh4 --with-multilib-list=m4,m4-nofpu +endif + +ifneq (,$(findstring m68k-linux,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --disable-multilib +endif + +ifneq (,$(filter tilegx,$(DEB_TARGET_GNU_CPU))) + CONFARGS += --disable-multilib +endif + +ifeq ($(derivative),Ubuntu) + ifneq (,$(findstring s390x-linux,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --with-arch=zEC12 + endif +endif + +ifeq ($(DEB_TARGET_ARCH_OS),linux) + ifneq (,$(findstring $(DEB_TARGET_ARCH), alpha powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64)) + CONFARGS += --with-long-double-128 + endif +endif + +ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 kfreebsd-i386 kfreebsd-amd64)) + ifneq (,$(filter $(derivative),Ubuntu)) + ifneq (,$(filter $(distrelease),dapper hardy)) + CONFARGS += --with-arch-32=i486 + else ifneq (,$(filter $(distrelease),jaunty karmic lucid)) + CONFARGS += --with-arch-32=i586 + else + CONFARGS += --with-arch-32=i686 + endif + else # Debian + ifneq (,$(filter $(distrelease),etch lenny)) + CONFARGS += --with-arch-32=i486 + else ifneq (,$(filter $(distrelease),squeeze wheezy jessie)) + CONFARGS += --with-arch-32=i586 + else + CONFARGS += --with-arch-32=i686 + endif + endif +endif + +ifeq ($(DEB_TARGET_ARCH),amd64) + CONFARGS += --with-abi=m64 +endif +ifeq ($(DEB_TARGET_ARCH),x32) + CONFARGS += --with-abi=mx32 +endif +ifeq ($(multilib),yes) + ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386)) + CONFARGS += --with-multilib-list=m32,m64$(if $(filter yes,$(biarchx32)),$(COMMA)mx32) + else ifeq ($(DEB_TARGET_ARCH),x32) + CONFARGS += --with-multilib-list=mx32,m64,m32 + endif + CONFARGS += --enable-multilib +endif + +ifneq (,$(filter $(DEB_TARGET_ARCH), hurd-i386)) + CONFARGS += --with-arch=i586 +endif + +ifeq ($(DEB_TARGET_ARCH),lpia) + CONFARGS += --with-arch=pentium-m --with-tune=i586 +endif + +ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 hurd-i386 kfreebsd-i386 kfreebsd-amd64)) + CONFARGS += --with-tune=generic +endif + +ifneq (,$(findstring mips-linux,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx + CONFARGS += --with-lxc1-sxc1=no + ifeq ($(multilib),yes) + ifeq ($(biarchn32)-$(biarch64),yes-yes) + CONFARGS += --enable-targets=all + CONFARGS += --with-arch-64=mips64r2 + endif + endif +endif + +ifneq (,$(findstring mipsel-linux,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx + CONFARGS += --with-madd4=no + CONFARGS += --with-lxc1-sxc1=no + ifeq ($(multilib),yes) + ifeq ($(biarchn32)-$(biarch64),yes-yes) + CONFARGS += --enable-targets=all + CONFARGS += --with-arch-64=mips64r2 + endif + endif +endif + +#FIXME: howto for mipsn32? +ifneq (,$(findstring mips64el-linux-gnuabin32,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --with-madd4=no + ifeq ($(multilib),yes) + ifeq ($(biarchn32)-$(biarch32),yes-yes) + CONFARGS += --enable-targets=all + CONFARGS += --with-arch-64=mips64r2 + CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx + endif + endif +endif + +ifneq (,$(findstring mips64-linux-gnuabin32,$(DEB_TARGET_GNU_TYPE))) + ifeq ($(multilib),yes) + ifeq ($(biarchn32)-$(biarch32),yes-yes) + CONFARGS += --enable-targets=all + CONFARGS += --with-arch-64=mips64r2 + CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx + endif + endif +endif + +ifneq (,$(findstring mips64el-linux-gnuabi64,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --with-mips-plt + CONFARGS += --with-arch-64=mips64r2 + CONFARGS += --with-madd4=no + ifeq ($(multilib),yes) + ifeq ($(biarchn32)-$(biarch32),yes-yes) + CONFARGS += --enable-targets=all + CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx + endif + endif +endif + +ifneq (,$(findstring mips64-linux-gnuabi64,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --with-mips-plt + CONFARGS += --with-arch-64=mips64r2 + ifeq ($(multilib),yes) + ifeq ($(biarchn32)-$(biarch32),yes-yes) + CONFARGS += --enable-targets=all + CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx + endif + endif +endif + +ifneq (,$(findstring mips,$(DEB_TARGET_GNU_TYPE))) + ifeq (,$(filter yes,$(biarch32) $(biarchn32) $(biarch64))) + CONFARGS += --disable-multilib + endif +endif + +ifneq (,$(findstring s390-linux,$(DEB_TARGET_GNU_TYPE))) + ifeq ($(multilib),yes) + ifeq ($(biarch64),yes) + CONFARGS += --enable-targets=all + endif + endif +endif + +ifneq (,$(findstring hppa-linux,$(DEB_TARGET_GNU_TYPE))) + CONFARGS += --disable-libstdcxx-pch +endif + +ifneq (,$(offload_targets)) + CONFARGS += \ + --enable-offload-targets=$(subst $(SPACE),$(COMMA),$(offload_targets)) + ifeq ($(with_offload_nvptx),yes) + CONFARGS += --without-cuda-driver + endif +endif + +ifneq (,$(findstring gdc, $(PKGSOURCE))) + CONFARGS += --disable-libquadmath +endif + +ifeq ($(trunk_build),yes) + ifeq ($(findstring --disable-werror, $(CONFARGS)),) + CONFARGS += --disable-werror + endif + CONFARGS += --enable-checking=yes +else + CONFARGS += --enable-checking=release +endif + +CONFARGS += \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --host=$(DEB_HOST_GNU_TYPE) \ + --target=$(TARGET_ALIAS) + +ifeq ($(DEB_CROSS),yes) + CONFARGS += \ + --program-prefix=$(TARGET_ALIAS)- \ + --includedir=/$(PFL)/include +endif + +ifeq ($(with_bootstrap),off) + bootstrap_target = +else ifeq ($(with_bootstrap),) + bootstrap_target = bootstrap + # no profiledbootstrap on the following architectures + # - m68k: we're happy that it builds at all + no_profiled_bs_archs := alpha arm hppa m68k mips mipsel mips64 mips64el \ + powerpcspe s390 sh4 sparc sparc64 + ifeq (,$(filter $(DEB_TARGET_ARCH),$(no_profiled_bs_archs))) + bootstrap_target = profiledbootstrap + endif + ifneq (, $(filter $(PKGSOURCE),gcc-$(BASE_VERSION) gnat-$(BASE_VERSION) gcc-snapshot)) + bootstrap_target = bootstrap + endif + ifneq (,$(DEB_STAGE)) + bootstrap_target = bootstrap + endif + + ifeq ($(derivative),Debian) + # disable profiled bootstrap for backports + ifneq (,$(filter $(distrelease),squeeze wheezy jessie)) + bootstrap_target = bootstrap + endif + # disable profiled bootstrap on slow archs, get to testing first ... + ifneq (,$(filter $(DEB_TARGET_ARCH), arm arm64 armel armhf mips mipsel sparc)) + bootstrap_target = bootstrap + endif + endif + ifeq ($(derivative),Ubuntu) + ifneq (,$(filter $(distrelease),lucid precise trusty utopic vivid wily)) + bootstrap_target = bootstrap + endif + ifeq ($(with_linaro_branch),yes) + bootstrap_target = bootstrap + endif + endif +endif + +DEJAGNU_TIMEOUT=300 +# Increase the timeout for one testrun on slow architectures +ifeq ($(derivative),Debian) + ifneq (,$(findstring $(DEB_TARGET_ARCH),arm64)) + DEJAGNU_TIMEOUT=240 + else ifneq (,$(findstring $(DEB_TARGET_ARCH),arm armel armhf hppa m68k sparc)) + DEJAGNU_TIMEOUT=600 + else ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),amd64 i386 i486 i686 lpia)) + DEJAGNU_TIMEOUT=180 + endif + ifeq ($(DEB_TARGET_GNU_SYSTEM),gnu) + DEJAGNU_TIMEOUT=900 + endif +else ifeq ($(derivative),Ubuntu) + ifneq (,$(findstring $(DEB_TARGET_ARCH),arm64)) + DEJAGNU_TIMEOUT=240 + else ifneq (,$(findstring $(DEB_TARGET_ARCH),armel armhf hppa ia64 sparc)) + DEJAGNU_TIMEOUT=600 + else ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),amd64 i386 i486 i686 lpia)) + DEJAGNU_TIMEOUT=180 + endif +endif + +DEJAGNU_RUNS = +ifneq ($(trunk_build),yes) +ifeq ($(with_ssp),yes) + # the buildds are just slow ... don't check the non-default + ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),sh4 mips)) + DEJAGNU_RUNS = + else ifneq (,$(filter $(DEB_TARGET_ARCH),armel)) + DEJAGNU_RUNS = + else + ifneq ($(single_package),yes) + DEJAGNU_RUNS += $(if $(filter yes,$(with_ssp_default)),-fno-stack-protector,-fstack-protector) + endif + endif + ifeq ($(derivative),Ubuntu) + # the buildds are just slow ... don't check the non-default + ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),ia64 sparc)) + DEJAGNU_RUNS = + endif + # FIXME Ubuntu armel buildd hangs + ifneq (,$(findstring arm, $(DEB_TARGET_GNU_CPU))) + DEJAGNU_RUNS = + endif + endif +endif +endif + +ifeq ($(derivative),Ubuntu) + ifneq (,$(findstring arm, $(DEB_TARGET_GNU_CPU))) + ifeq ($(with_arm_thumb),yes) + #DEJAGNU_RUNS += -marm + else + DEJAGNU_RUNS += -mthumb + endif + endif +endif + +# no b-d on g++-multilib, this is run by the built compiler +abi_run_check = $(strip $(if $(wildcard build/runcheck$(1).out), \ + $(shell cat build/runcheck$(1).out), \ + $(shell CC="$(builddir)/gcc/xg++ -B$(builddir)/gcc/ -static-libgcc $(1)" bash debian/runcheck.sh))) +ifeq ($(biarch32),yes) + DEJAGNU_RUNS += $(call abi_run_check,$(if $(filter $(DEB_TARGET_ARCH_CPU),mips64 mips64el mipsn32 mipsn32el),-mabi=32,-m32)) +endif +ifeq ($(biarch64),yes) + DEJAGNU_RUNS += $(call abi_run_check,$(if $(filter $(DEB_TARGET_ARCH_CPU),mips mipsel),-mabi=64,-m64)) +endif +ifeq ($(biarchn32),yes) + DEJAGNU_RUNS += $(call abi_run_check,-mabi=n32) +endif +ifeq ($(biarchx32),yes) + DEJAGNU_RUNS += $(call abi_run_check,-mx32) +endif + +# gdc is not multilib'd +ifneq (,$(findstring gdc, $(PKGSOURCE))) + DEJAGNU_RUNS = +endif + +# neither is gnat +ifneq (,$(findstring gnat, $(PKGSOURCE))) + DEJAGNU_RUNS = +endif + +ifneq (,$(strip $(value DEJAGNU_RUNS))) + RUNTESTFLAGS = RUNTESTFLAGS="--target_board=unix\{,$(subst $(SPACE),$(COMMA),$(strip $(DEJAGNU_RUNS)))\}" +endif + +# PF is the installation prefix for the package without the leading slash. +# It's "usr" for gcc releases. +ifneq (,$(PF)) + # use value set in the environment +else ifeq ($(trunk_build),yes) + PF = usr/lib/gcc-snapshot +else ifeq ($(PKGSOURCE),gcc-linaro) + PF = usr/lib/gcc-linaro +else + PF = usr +endif + +# PFL is the installation prefix with DEB_TARGET_GNU_TYPE attached for cross builds +ifeq ($(DEB_CROSS),yes) + PFL = $(PF)/$(DEB_TARGET_GNU_TYPE) +else + PFL = $(PF) +endif + +# RPF is the base prefix or installation prefix with DEB_TARGET_GNU_TYPE attached for cross builds +ifeq ($(DEB_CROSS),yes) + RPF = $(PF)/$(DEB_TARGET_GNU_TYPE) +else + RPF = +endif + +ifeq ($(with_multiarch_lib),yes) + ifeq ($(DEB_CROSS),yes) + libdir = lib + else + libdir = lib/$(DEB_TARGET_MULTIARCH) + endif +else + libdir = lib +endif +configured_libdir = lib + +hppa64libexecdir= $(PF)/lib + +# /usr/libexec doesn't follow the FHS +ifeq ($(single_package),yes) + libdir = lib + libexecdir = $(PF)/libexec + versiondir = $(BASE_VERSION) +else + libexecdir = $(PF)/$(configured_libdir) + versiondir = $(BASE_VERSION) +endif +buildlibdir = $(builddir)/$(TARGET_ALIAS) + +# install cross compilers in /usr/lib/gcc-cross, native ones in /usr/lib/gcc +gcc_subdir_name = gcc +ifneq ($(single_package),yes) + ifeq ($(DEB_CROSS),yes) + gcc_subdir_name = gcc-cross + endif +endif + +gcc_lib_dir = $(PF)/$(configured_libdir)/$(gcc_subdir_name)/$(TARGET_ALIAS)/$(versiondir) +gcc_lexec_dir = $(libexecdir)/$(gcc_subdir_name)/$(TARGET_ALIAS)/$(versiondir) + +lib32loc = lib32 +ifneq (,$(findstring mips,$(DEB_TARGET_GNU_TYPE))) +lib32loc = libo32 +endif +lib32 = $(PF)/$(lib32loc) +lib64 = lib64 +libn32 = lib32 +libx32 = libx32 + +p_l= $(1)$(cross_lib_arch) +p_d= $(1)-dbg$(cross_lib_arch) +d_l= debian/$(p_l) +d_d= debian/$(p_d) + +ifeq ($(DEB_CROSS),yes) + usr_lib = $(PFL)/lib +else + usr_lib = $(PFL)/$(libdir) +endif +usr_lib32 = $(PFL)/$(lib32loc) +usr_libn32 = $(PFL)/lib32 +usr_libx32 = $(PFL)/libx32 +usr_lib64 = $(PFL)/lib64 +# FIXME: Move to the new location for native builds too +ifeq ($(DEB_CROSS),yes) + usr_libhf = $(PFL)/libhf + usr_libsf = $(PFL)/libsf +else + usr_libhf = $(PFL)/lib/arm-linux-gnueabihf + usr_libsf = $(PFL)/lib/arm-linux-gnueabi +endif + +ifeq ($(DEB_STAGE)-$(DEB_CROSS),rtlibs-yes) + PFL = $(PF) + RPF = + libdir = lib/$(DEB_TARGET_MULTIARCH) + usr_lib = $(PF)/lib/$(DEB_TARGET_MULTIARCH) +endif + +gcc_lib_dir32 = $(gcc_lib_dir)/$(biarch32subdir) +gcc_lib_dirn32 = $(gcc_lib_dir)/$(biarchn32subdir) +gcc_lib_dirx32 = $(gcc_lib_dir)/$(biarchx32subdir) +gcc_lib_dir64 = $(gcc_lib_dir)/$(biarch64subdir) +gcc_lib_dirhf = $(gcc_lib_dir)/$(biarchhfsubdir) +gcc_lib_dirsf = $(gcc_lib_dir)/$(biarchsfsubdir) + +libgcc_dir = $(RPF)/$(libdir) +# yes, really; lib32gcc_s ends up in usr +libgcc_dir32 = $(PFL)/$(lib32loc) +libgcc_dirn32 = $(RPF)/lib32 +# libx32gcc_s also ends up in usr +libgcc_dirx32 = $(PFL)/libx32 +libgcc_dir64 = $(RPF)/lib64 +# FIXME: Move to the new location for native builds too +ifeq ($(DEB_CROSS),yes) + libgcc_dirhf = $(RPF)/libhf + libgcc_dirsf = $(RPF)/libsf +else + libgcc_dirhf = $(RPF)/lib/arm-linux-gnueabihf + libgcc_dirsf = $(RPF)/lib/arm-linux-gnueabi +endif + +# install_gcc_lib(lib,soname,flavour,package) +define install_gcc_lib + mv $(d)/$(usr_lib$(3))/$(1)*.a debian/$(4)/$(gcc_lib_dir$(3))/ + rm -f $(d)/$(usr_lib$(3))/$(1)*.{la,so} + dh_link -p$(4) \ + /$(usr_lib$(3))/$(1).so.$(2) /$(gcc_lib_dir$(3))/$(1).so + +endef + +checkdirs = $(builddir) +ifeq ($(with_separate_go),yes) + ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION)) + checkdirs = $(buildlibdir)/libgo + endif +endif +ifeq ($(with_separate_gnat),yes) + ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) + checkdirs = $(builddir)/gcc + endif +endif + +# FIXME: MULTIARCH_DIRNAME needed for g++-multiarch-incdir.diff +MULTIARCH_DIRNAME := $(DEB_TARGET_MULTIARCH) +export MULTIARCH_DIRNAME + +default: build + +configure: $(configure_dependencies) + +$(configure_dummy_stamp): + touch $(configure_dummy_stamp) + +$(configure_stamp): + dh_testdir + : # give information about the build process + @echo "------------------------ Build process variables ------------------------" + @echo "Memory on this machine:" + @egrep '^(Mem|Swap)' /proc/meminfo || true + @echo "Number of parallel processes used for the build: $(USE_CPUS)" + @echo "DEB_BUILD_OPTIONS: $$DEB_BUILD_OPTIONS" + @echo "Package source: $(PKGSOURCE)" + @echo "GCC version: $(GCC_VERSION)" + @echo "Base Debian version: $(BASE_VERSION)" + @echo -e "Configured with: $(subst ___, ,$(foreach i,$(CONFARGS),$(i)\n\t))" +ifeq ($(DEB_CROSS),yes) + @echo "Building cross compiler for $(DEB_TARGET_ARCH)" +endif + @echo "Using shell $(SHELL)" + @echo "Architecture: $(DEB_TARGET_ARCH) (GNU: $(TARGET_ALIAS))" + @echo "CPPFLAGS: $(CPPFLAGS)" + @echo "CFLAGS: $(CFLAGS)" + @echo "LDFLAGS: $(LDFLAGS)" + @echo "BOOT_CFLAGS: $(BOOT_CFLAGS)" + @echo "DEBIAN_BUILDARCH: $(DEBIAN_BUILDARCH)" + @echo "Install prefix: /$(PF)" +ifeq ($(biarchn32)-$(biarch64),yes-yes) + @echo "Will build the triarch compilers (o32/n32/64, defaulting to o32)" +else ifeq ($(biarchn32)-$(biarch32),yes-yes) + @echo "Will build the triarch compilers (o32/n32/64, defaulting to 64)" +else ifeq ($(biarch64)-$(biarch32),yes-yes) + @echo "Will build the triarch compilers (x32/64/32, defaulting to x32)" +else ifeq ($(biarch64)-$(biarchx32),yes-yes) + @echo "Will build the triarch compilers (32/64/x32, defaulting to 32bit)" +else ifeq ($(biarch32)-$(biarchx32),yes-yes) + @echo "Will build the triarch compilers (64/32/x32, defaulting to 64bit)" +else + ifeq ($(biarch64),yes) + @echo "Will build the biarch compilers (32/64, defaulting to 32bit)" + else + ifeq ($(biarch32),yes) + @echo "Will build the biarch compilers (64/32, defaulting to 64bit)" + else + @echo "Will not build the biarch compilers" + endif + endif +endif + +ifeq ($(with_cxx),yes) + @echo "Will build the C++ compiler" +else + @echo "Will not build the C++ compiler: $(with_cxx)" +endif +ifeq ($(with_objc),yes) + @echo "Will build the ObjC compiler." + ifeq ($(with_objc_gc),yes) + @echo "Will build the extra ObjC runtime for garbage collection." + else + @echo "Will not build the extra ObjC runtime for garbage collection." + endif +else + @echo "Will not build the ObjC compiler: $(with_objc)" +endif +ifeq ($(with_objcxx),yes) + @echo "Will build the Obj-C++ compiler" +else + @echo "Will not build the Obj-C++ compiler: $(with_objcxx)" +endif +ifeq ($(with_fortran),yes) + @echo "Will build the Fortran 95 compiler." +else + @echo "Will not build the Fortran 95 compiler: $(with_fortran)" +endif +ifeq ($(with_ada),yes) + @echo "Will build the Ada compiler." + ifeq ($(with_libgnat),yes) + @echo "Will build the shared Ada libraries." + else + @echo "Will not build the shared Ada libraries." + endif +else + @echo "Will not build the Ada compiler: $(with_ada)" +endif +ifeq ($(with_go),yes) + @echo "Will build the Go compiler." +else + @echo "Will not build the Go compiler: $(with_go)" +endif +ifeq ($(with_d),yes) + @echo "Will build the D compiler" + ifeq ($(with_libphobos),yes) + @echo "Will build the phobos D runtime library." + else + @echo "Will not build the phobos D runtime library: $(with_libphobos)" + endif +else + @echo "Will not build the D compiler: $(with_d)" +endif +ifeq ($(with_ssp),yes) + @echo "Will build with SSP support." +else + @echo "Will build without SSP support: $(with_ssp)" +endif +ifeq ($(with_check),yes) + @echo "Will run the testsuite." +else + @echo "Will not run the testsuite: $(with_check)" +endif +ifeq ($(with_nls),yes) + @echo "Will enable national language support." +else + @echo "Will disable national language support: $(with_nls)" +endif + @echo "-----------------------------------------------------------------------------" + @echo "" +ifeq ($(with_check),yes) + @if echo "spawn true" | /usr/bin/expect -f - >/dev/null; then \ + : ; \ + else \ + echo "expect is failing on your system with the above error, which means the GCC"; \ + echo "testsuite will fail. Please resolve the above issues and retry the build."; \ + echo "-----------------------------------------------------------------------------"; \ + exit 1; \ + fi +endif + rm -f $(configure_stamp) $(build_stamp) + cat debian/README.Debian $(patch_stamp) > debian/README.Debian.$(DEB_TARGET_ARCH) + + rm -rf $(builddir) + mkdir $(builddir) + + : # some tools like gettext are built with a newer libstdc++ + mkdir -p bin + for i in msgfmt; do \ + install -m755 debian/bin-wrapper.in bin/$$i; \ + done + + : # configure + cd $(builddir) \ + && $(SET_PATH) \ + $(call pass_vars, CC CXX $(flags_to_pass) \ + CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD \ + CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET) \ + $(SET_SHELL) $(SET_TARGET_TOOLS) \ + ../src/configure $(subst ___, ,$(CONFARGS)) + + : # multilib builds without b-d on gcc-multilib (used in FLAGS_FOR_TARGET) + if [ -d /usr/include/$(DEB_TARGET_MULTIARCH)/asm ]; then \ + mkdir -p $(builddir)/sys-include; \ + ln -sf /usr/include/$(DEB_TARGET_MULTIARCH)/asm $(builddir)/sys-include/asm; \ + fi + + touch $(configure_stamp) + +build: $(sort $(build_arch_dependencies) $(build_indep_dependencies)) +build-arch: $(build_arch_dependencies) +build-indep: $(build_indep_dependencies) + +$(build_dummy_stamp): + touch $(build_dummy_stamp) + +$(build_locale_stamp): +ifeq ($(locale_data)-$(with_cxx),generate-yes) + : # build locales needed by libstdc++ testsuite + rm -rf locales + mkdir locales + -USE_CPUS=$(USE_CPUS) sh debian/locale-gen +endif + touch $(build_locale_stamp) + + +$(build_stamp): $(configure_stamp) $(build_locale_stamp) + dh_testdir + rm -f bootstrap-protocol + @echo TTTTT $$(date -R) +ifeq ($(build_type),build-native) + : # build native compiler + ( \ + set +e; \ + $(SET_PATH) \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + $(MAKE) -C $(builddir) $(bootstrap_target) \ + $(call pass_vars, CC $(flags_to_pass) \ + STAGE1_CFLAGS STAGE1_LDFLAGS \ + BOOT_CFLAGS BOOT_LDFLAGS \ + CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD \ + CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET) \ + ; \ + echo $$? > status; \ + ) 2>&1 | tee bootstrap-protocol +else ifneq (,$(filter $(build_type),build-cross cross-build-native cross-build-cross)) + : # build cross compiler for $(TARGET_ALIAS) + ( \ + set +e; \ + $(SET_PATH) \ + $(SET_LOCPATH) \ + $(MAKE) -C $(builddir) \ + $(call pass_vars, BOOT_CFLAGS BOOT_LDFLAGS \ + CFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET) \ + ; \ + echo $$? > status; \ + ) 2>&1 | tee bootstrap-protocol +endif + @echo TTTTT $$(date -R) + s=`cat status`; rm -f status; \ + if [ $$s -ne 0 ] && [ -z "$$NO_CONFIG_LOG_DUMP$$NO_CONFIG_LOG_DUMPS" ]; then \ + for log in $$(find $(builddir) -name config.log); do \ + case "$$log" in */build/build-*|*/stage1-*|*/prev-*) continue; esac; \ + echo LOGFILE START $$log; \ + cat $$log; \ + echo LOGFILE END $$log; \ + done; \ + fi; \ + test $$s -eq 0 + + if [ -f $(srcdir)/contrib/warn_summary ]; then \ + rm -f bootstrap-summary; \ + /bin/sh $(srcdir)/contrib/warn_summary bootstrap-protocol \ + > bootstrap-summary; \ + fi + + touch $(build_stamp) + +ifneq ($(build_type),build-native) + BUILT_CC = $(CC) + BUILT_CXX = $(CXX) +else + BUILT_CC = $(builddir)/gcc/xgcc -B$(builddir)/gcc/ + BUILT_CXX = $(builddir)/gcc/xg++ -B$(builddir)/gcc/ \ + -B$(builddir)/$(TARGET_ALIAS)/libatomic/.libs \ + -B$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/src/.libs \ + -B$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/libsupc++/.libs \ + -I$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/include \ + -I$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/include/$(TARGET_ALIAS) \ + -I$(srcdir)/libstdc++-v3/libsupc++ \ + -L$(builddir)/$(TARGET_ALIAS)/libatomic/.libs \ + -L$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/src/.libs \ + -L$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/libsupc++/.libs +endif + +CONFARGS_JIT := \ + $(filter-out --enable-languages=% \ + --enable-libstdcxx-debug %bootstrap,\ + $(CONFARGS)) \ + --enable-languages=c++,jit \ + --enable-host-shared \ + --disable-bootstrap + +$(configure_jit_stamp): $(build_stamp) + dh_testdir + rm -f $(configure_jit_stamp) $(build_jit_stamp) + rm -rf $(builddir_jit) + mkdir $(builddir_jit) + + : # configure jit + cd $(builddir_jit) && \ + $(SET_PATH) \ + $(SET_SHELL) \ + CC="$(BUILT_CC)" \ + CXX="$(BUILT_CXX)" \ + ../src/configure $(subst ___, ,$(CONFARGS_JIT)) + touch $(configure_jit_stamp) + +$(build_jit_stamp): $(configure_jit_stamp) + $(SET_PATH) \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc \ + biarch_multidir_names=none \ + $(MAKE) -C $(builddir_jit) \ + $(call pass_vars, BOOT_CFLAGS BOOT_LDFLAGS \ + CFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET) + +ifeq ($(with_check),yes) + # FIXME: #782444 + ifeq (,$(filter $(DEB_TARGET_ARCH), kfreebsd-i386 kfreebsd-amd64)) + -$(MAKE) -C $(builddir_jit)/gcc check-jit \ + RUNTESTFLAGS="-v -v" + endif +endif + + touch $(build_jit_stamp) + +CONFARGS_NVPTX := \ + --prefix=/$(PF) \ + --libexecdir=/$(libexecdir) \ + --with-gcc-major-version-only \ + --disable-bootstrap \ + --disable-sjlj-exceptions \ + --enable-newlib-io-long-long \ + --target nvptx-none \ + --enable-as-accelerator-for=$(DEB_TARGET_GNU_TYPE) \ + --enable-languages=c,c++,fortran,lto \ + --enable-checking=release \ + --with-system-zlib \ + --without-isl + +# --with-build-time-tools=/$(PF)/nvptx-none/bin + +CONFARGS_NVPTX += --program-prefix=nvptx-none- +ifeq ($(versioned_packages),yes) + CONFARGS_NVPTX += --program-suffix=-$(BASE_VERSION) +endif + +# FIXME: must not be run in parrallel with jit and hppa64 builds ... +$(configure_nvptx_stamp): $(build_stamp) + dh_testdir + rm -f $(configure_nvptx_stamp) $(build_nvptx_stamp) + rm -rf $(builddir_nvptx) + mkdir $(builddir_nvptx) + ln -sf ../$(nl_nvptx_srcdir)/newlib $(srcdir)/newlib + + : # configure nvptx offload + cd $(builddir_nvptx) && \ + $(SET_PATH) \ + $(SET_SHELL) \ + CC="$(BUILT_CC)" \ + CXX="$(BUILT_CXX)" \ + ../src/configure $(subst ___, ,$(CONFARGS_NVPTX)) + rm -f $(srcdir)/newlib + touch $(configure_nvptx_stamp) + +$(build_nvptx_stamp): $(configure_nvptx_stamp) \ + $(if $(filter yes, $(with_jit)), $(build_jit_stamp)) \ + $(if $(filter yes, $(with_hppa64)), $(build_hppa64_stamp)) + ln -sf ../$(nl_nvptx_srcdir)/newlib $(srcdir)/newlib + + $(SET_PATH) \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc \ + biarch_multidir_names=none \ + $(MAKE) -C $(builddir_nvptx) \ + $(call pass_vars, BOOT_CFLAGS BOOT_LDFLAGS \ + CFLAGS_FOR_TARGET) + +ifeq ($(with_check),yes) +# -$(MAKE) -C $(builddir_nvptx)/gcc check-jit \ +# RUNTESTFLAGS="-v -v" +endif + rm -f $(srcdir)/newlib + touch $(build_nvptx_stamp) + +ifeq ($(versioned_packages),yes) + hppa64_configure_flags += --program-suffix=-$(BASE_VERSION) +endif + +$(configure_hppa64_stamp): $(build_stamp) + dh_testdir + rm -f $(configure_hppa64_stamp) $(build_hppa64_stamp) + rm -rf $(builddir_hppa64) + mkdir $(builddir_hppa64) + : # configure hppa64 + cd $(builddir_hppa64) && \ + $(SET_PATH) \ + $(SET_SHELL) \ + CC="$(BUILT_CC)" \ + CXX="$(BUILT_CXX)" \ + $(call pass_vars, $(flags_to_pass)) \ + ../src/configure \ + --enable-languages=c \ + --prefix=/$(PF) \ + --libexecdir=/$(hppa64libexecdir) \ + --with-gcc-major-version-only \ + --disable-shared \ + --disable-nls \ + --disable-threads \ + --disable-libatomic \ + --disable-libgomp \ + --disable-libitm \ + --disable-libssp \ + --disable-libquadmath \ + --enable-plugin \ + --with-system-zlib \ + --with-as=/usr/bin/hppa64-linux-gnu-as \ + --with-ld=/usr/bin/hppa64-linux-gnu-ld \ + --includedir=/usr/hppa64-linux-gnu/include \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --host=$(DEB_HOST_GNU_TYPE) \ + --target=hppa64-linux-gnu + touch $(configure_hppa64_stamp) + +$(build_hppa64_stamp): $(configure_hppa64_stamp) + $(SET_PATH) \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc \ + $(MAKE) -C $(builddir_hppa64) \ + $(call pass_vars, \ + CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET) + touch $(build_hppa64_stamp) + +$(configure_neon_stamp): $(build_stamp) + dh_testdir + rm -f $(configure_neon_stamp) $(build_neon_stamp) + rm -rf $(builddir_neon) + mkdir $(builddir_neon) + : # configure neon + cd $(builddir_neon) && \ + $(SET_PATH) \ + $(SET_SHELL) \ + $(call pass_vars, $(flags_to_pass)) \ + CC="$(builddir)/gcc/xg++ -B$(builddir)/gcc/" \ + ../src/configure \ + --disable-bootstrap \ + --enable-languages=c,c++,objc,fortran \ + --prefix=/$(PF) \ + --libexecdir=/$(libexecdir) \ + --program-suffix=-$(BASE_VERSION) \ + --disable-nls \ + --enable-plugin \ + --with-arch=armv7-a --with-tune=cortex-a8 \ + --with-float=$(float_abi) --with-fpu=neon \ + --host=arm-linux-gnueabi \ + --build=arm-linux-gnueabi \ + --target=arm-linux-gnueabi + touch $(configure_neon_stamp) + +$(build_neon_stamp): $(configure_neon_stamp) + $(SET_PATH) \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + $(MAKE) -C $(builddir_neon) \ + $(call pass_vars, BOOT_CFLAGS BOOT_LDFLAGS \ + CFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET) + touch $(build_neon_stamp) + + +ifeq ($(with_ada),yes) + MANUALS = \ + $(srcdir)/gcc/ada/gnat_ugn.texi \ + $(srcdir)/gcc/ada/gnat_rm.texi +endif +MANUALS += \ + $(srcdir)/gcc/doc/gccint.texi \ + $(srcdir)/gcc/doc/gcc.texi \ + $(srcdir)/gcc/doc/cpp.texi \ + $(srcdir)/gcc/doc/cppinternals.texi +ifeq ($(with_fortran),yes) + MANUALS += $(srcdir)/gcc/fortran/gfortran.texi +endif +ifeq ($(with_ada),yes) + MANUALS += $(srcdir)/gcc/ada/gnat-style.texi +endif +ifeq ($(with_gomp),yes) + MANUALS += $(srcdir)/libgomp/libgomp.texi +endif +ifeq ($(with_itm),yes) + MANUALS += $(srcdir)/libitm/libitm.texi +endif +ifeq ($(with_qmath),yes) + MANUALS += $(srcdir)/libquadmath/libquadmath.texi +endif +ifeq ($(with_go),yes) + MANUALS += $(srcdir)/gcc/go/gccgo.texi +endif + +html-docs: $(build_html_stamp) +#$(build_html_stamp): $(stampdir)/05-build-html-split +$(build_html_stamp): $(stampdir)/05-build-html-nosplit + +html-makeinfo-split: $(stampdir)/05-build-html-split +$(stampdir)/05-build-html-split: $(build_stamp) + mkdir -p html + rm -f html/*.html + cd $(builddir)/gcc; \ + echo -n $(MANUALS) | xargs -d ' ' -L 1 -P $(USE_CPUS) -I{} \ + sh -c 'outname=`basename {} .texi`.html; \ + outname=`basename {} .texi`; \ + echo "generating $$outname ..."; \ + makeinfo --html --number-sections \ + -I $(srcdir)/gcc/doc/include -I `dirname {}` \ + -I $(srcdir)/gcc/p/doc \ + -I $(srcdir)/gcc/p/doc/generated \ + -I $(builddir)/gcc \ + -I $(buildlibdir)/libquadmath \ + -o $${outname} \ + {}' + touch $@ + +html-makeinfo-nosplit: $(stampdir)/05-build-html-nosplit +$(stampdir)/05-build-html-nosplit: $(build_stamp) + mkdir -p html + rm -f html/*.html + cd $(builddir)/gcc; \ + echo -n $(MANUALS) | xargs -d ' ' -L 1 -P $(USE_CPUS) -I{} \ + sh -c 'outname=`basename {} .texi`.html; \ + echo "generating $$outname ..."; \ + makeinfo --html --number-sections --no-split \ + -I $(srcdir)/gcc/doc/include -I `dirname {}` \ + -I $(srcdir)/gcc/p/doc \ + -I $(srcdir)/gcc/p/doc/generated \ + -I $(builddir)/gcc \ + -I $(buildlibdir)/libquadmath \ + -o $(CURDIR)/html/$${outname} \ + {}' + touch $@ + +# start the script only on architectures known to have slow autobuilders ... +logwatch_archs := alpha arm m68k mips mipsel mips64el sparc +ifeq ($(DEB_HOST_GNU_CPU), $(findstring $(DEB_HOST_GNU_CPU),$(logwatch_archs))) + start_logwatch = yes +endif +ifeq ($(DEB_HOST_GNU_SYSTEM),gnu) + start_logwatch = yes +endif + +check: $(check_stamp) +$(check_stamp): $(filter $(build_stamp) $(build_jit_stamp) $(build_hppa64_stamp), $(build_dependencies)) + rm -f test-protocol + rm -f $(builddir)/runcheck* + + -chmod 755 $(srcdir)/contrib/test_summary + + : # needed for the plugin tests to succeed + ln -sf gcc $(builddir)/prev-gcc + ln -sf $(DEB_TARGET_GNU_TYPE) $(builddir)/prev-$(DEB_TARGET_GNU_TYPE) + +ifneq ($(with_common_libs),yes) + ifeq ($(with_cxx),yes) + : # libstdc++6 built from newer gcc-X source, run testsuite against the installed lib + + sed 's/-L[^ ]*//g' $(buildlibdir)/libstdc++-v3/scripts/testsuite_flags \ + > $(buildlibdir)/libstdc++-v3/scripts/testsuite_flags.installed + -$(ULIMIT_M); \ + set +e; \ + for d in $(buildlibdir)/libstdc++-v3/testsuite; do \ + echo "Running testsuite in $$d ..."; \ + TEST_INSTALLED=1 \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + $(SET_PATH) \ + DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ + DEB_GCC_NO_O3=1 \ + $(MAKE) -k -C $$d $(NJOBS) check $(RUNTESTFLAGS); \ + done 2>&1 | tee test-protocol2 + + BOOT_CFLAGS="$(BOOT_CFLAGS)" \ + $(srcdir)/contrib/test_summary -m "$(S_EMAIL)" > raw-test-summary + -( \ + sed -n '/^Mail/s/.*"\([^"][^"]*\)".*/\1/p' raw-test-summary; \ + awk '/^cat/, /^EOF/' raw-test-summary | grep -v EOF; \ + ) > libstdc++-test-summary + echo 'BEGIN installed libstdc++-v3 test-summary' + cat libstdc++-test-summary + echo 'END installed libstdc++-v3 test-summary' + find $(buildlibdir)/libstdc++-v3/testsuite -name '*.log' -o -name '*.sum' \ + | xargs -r rm -f + endif +endif + +ifeq ($(start_logwatch),yes) + : # start logwatch script for regular output during test runs + chmod +x debian/logwatch.sh + -debian/logwatch.sh -t 900 -p $(builddir)/logwatch.pid \ + -m '\ntestsuite still running ...\n' \ + test-protocol \ + $(builddir)/gcc/testsuite/gcc/gcc.log \ + $(builddir)/gcc/testsuite/g++/g++.log \ + $(builddir)/gcc/testsuite/gfortran/gfortran.log \ + $(builddir)/gcc/testsuite/objc/objc.log \ + $(builddir)/gcc/testsuite/obj-c++/obj-c++.log \ + $(builddir)/gcc/testsuite/gnat/gnat.log \ + $(builddir)/gcc/testsuite/ada/acats/acats.log \ + $(builddir)/gcc/testsuite/gfortran/gfortran.log \ + $(builddir)/gcc/p/test/test_log \ + $(buildlibdir)/libstdc++-v3/testsuite/libstdc++.log \ + $(buildlibdir)/libgomp/testsuite/libgomp.log \ + $(buildlibdir)/libffi/testsuite/libffi.log \ + & +endif + +ifeq ($(with_ada),yes) + chmod +x debian/acats-killer.sh + -debian/acats-killer.sh -p $(builddir)/acats-killer.pid \ + $(builddir)/gcc/testsuite/ada/acats/acats.log \ + $(builddir)/gcc/testsuite/g++.log \ + & +endif + + -$(ULIMIT_M); \ + set +e; \ + for d in $(checkdirs); do \ + echo "Running testsuite in $$d ..."; \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + $(SET_PATH) \ + EXTRA_TEST_PFLAGS=-g0 \ + DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ + DEB_GCC_NO_O3=1 \ + $(MAKE) -k -C $$d $(NJOBS) check $(RUNTESTFLAGS); \ + done 2>&1 | tee test-protocol + + -ps aux | fgrep logwatch | fgrep -v fgrep + -if [ -f $(builddir)/logwatch.pid ]; then \ + kill -1 `cat $(builddir)/logwatch.pid`; \ + sleep 1; \ + kill -9 `cat $(builddir)/logwatch.pid`; \ + rm -f $(builddir)/logwatch.pid; \ + fi + -ps aux | fgrep logwatch | fgrep -v fgrep + +ifeq ($(with_ada),yes) + -if [ -f $(builddir)/acats-killer.pid ]; then \ + kill -1 `cat $(builddir)/acats-killer.pid`; \ + sleep 1; \ + kill -9 `cat $(builddir)/acats-killer.pid`; \ + rm -f $(builddir)/acats-killer.pid; \ + fi +endif + + if [ -x $(srcdir)/contrib/test_summary ]; then \ + rm -f test-summary; \ + ( \ + cd $(builddir); \ + echo '' > ts-include; \ + echo '' >> ts-include; \ + if [ -f $(builddir)/gcc/.bad_compare ]; then \ + echo 'Bootstrap comparison failure:' >> ts-include; \ + cat $(builddir)/gcc/.bad_compare >> ts-include; \ + echo '' >> ts-include; \ + echo '' >> ts-include; \ + fi; \ + echo "Build Dependencies:" >> ts-include; \ + dpkg -l g++-* binutils* `echo '$(LIBC_DEP)' | awk '{print $$1}'` \ + libgmp*-dev libmpfr-dev libmpc-dev libisl-dev \ + | fgrep -v '' >> ts-include; \ + echo '' >> ts-include; \ + cat ../$(patch_stamp) >> ts-include; \ + BOOT_CFLAGS="$(BOOT_CFLAGS)" \ + $(srcdir)/contrib/test_summary \ + -i ts-include -m "$(S_EMAIL)" \ + ) > raw-test-summary; \ + if [ -n "$(testsuite_tarball)" ]; then \ + echo "Test suite used: $(testsuite_srcdir)" > test-summary; \ + echo " Do not interpret the results on its own" >> test-summary; \ + echo " but compare them with the results from" >> test-summary; \ + echo " the gcc-snapshot package." >> test-summary; \ + fi; \ + sed -n '/^Mail/s/.*"\([^"][^"]*\)".*/\1/p' raw-test-summary \ + >> test-summary; \ + awk '/^cat/, /^EOF/' raw-test-summary | grep -v EOF >> test-summary; \ + if [ -f bootstrap-summary -a "$(bootstrap_target)" != profiledbootstrap ]; then \ + echo '' >> test-summary; \ + cat bootstrap-summary >> test-summary; \ + fi; \ + echo 'BEGIN test-summary'; \ + cat test-summary; \ + echo 'END test-summary'; \ + fi +ifeq ($(with_d),yes) + : # the D test failures for the non-default multilibs are known, ignore them + egrep -v '^(FAIL|UNRESOLVED): (runnable|fail_c|comp)' test-summary > test-summary.tmp + mv -f test-summary.tmp test-summary +endif + + touch $(check_stamp) + +$(check_inst_stamp): $(check_stamp) + rm -f test-inst-protocol + +ifeq ($(start_logwatch),yes) + : # start logwatch script for regular output during test runs + chmod +x debian/logwatch.sh + -debian/logwatch.sh -t 900 -p $(builddir)/logwatch-inst.pid \ + -m '\ntestsuite (3.3) still running ...\n' \ + test-inst-protocol \ + check-inst/{gcc,g++,g77,objc}.log \ + & +endif + + rm -rf check-inst + mkdir check-inst + + echo "Running testsuite ..." + -$(ULIMIT_M) ; \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + EXTRA_TEST_PFLAGS=-g0 \ + DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ + cd check-inst && $(srcdir)/contrib/test_installed \ + --with-gcc=gcc-3.3 --with-g++=g++-3.3 --with-g77=g77-3.3 \ + 2>&1 | tee test-inst-protocol + + -ps aux | fgrep logwatch | fgrep -v fgrep + if [ -f $(builddir)/logwatch-inst.pid ]; then \ + kill -1 `cat $(builddir)/logwatch-inst.pid`; \ + else \ + true; \ + fi + -ps aux | fgrep logwatch | fgrep -v fgrep + + -chmod 755 $(srcdir)/contrib/test_summary + if [ -x $(srcdir)/contrib/test_summary ]; then \ + rm -f test-inst-summary; \ + ( \ + cd check-inst; \ + echo '' > ts-include; \ + echo '' >> ts-include; \ + echo "Build Dependencies:" >> ts-include; \ + dpkg -l g++-* binutils* `echo '$(LIBC_DEP)' | awk '{print $$1}'` \ + libgmp*-dev libmpfr-dev libmpc-dev libisl*-dev \ + | fgrep -v '' >> ts-include; \ + echo '' >> ts-include; \ + echo 'Results for the installed GCC-3.3 compilers' >> ts-include; \ + $(srcdir)/contrib/test_summary \ + -i ts-include -m "$(S_EMAIL)" \ + ) > raw-test-inst-summary; \ + sed -n '/^Mail/s/.*"\([^"][^"]*\)".*/\1/p' raw-test-inst-summary \ + >> test-inst-summary; \ + awk '/^cat/, /^EOF/' raw-test-inst-summary \ + | grep -v EOF >> test-inst-summary; \ + echo 'BEGIN test-installed-summary'; \ + cat test-inst-summary; \ + echo 'END test-installed-summary'; \ + fi + + chmod 755 debian/reduce-test-diff.awk + if diff -u test-inst-summary test-summary \ + | debian/reduce-test-diff.awk > diff-summary; \ + then \ + mv -f diff-summary testsuite-comparision; \ + else \ + ( \ + echo "WARNING: New failures in gcc-3.4 compared to gcc-3.3"; \ + echo ''; \ + cat diff-summary; \ + ) > testsuite-comparision; \ + rm -f diff-summary; \ + fi + touch $(check_inst_stamp) + +clean: debian/control + dh_testdir + rm -f pxxx status + rm -f *-summary *-protocol testsuite-comparision summary-diff + rm -f $(srcdir)/gcc/po/*.gmo + rm -f debian/lib{gcc,objc,stdc++}{-v3,[0-9]}*.{{pre,post}{inst,rm},shlibs} + fs=`echo debian/*BV* debian/*CXX* debian/*LC* debian/*MF* | sort -u`; \ + for f in $$fs; do \ + [ -f $$f ] || continue; \ + f2=$$(echo $$f \ + | sed 's/BV/$(BASE_VERSION)/;s/CXX/$(CXX_SONAME)/;s/LC/$(GCC_SONAME)/;s/-CRB/$(cross_bin_arch)/;s/\.in$$//'); \ + rm -f $$f2; \ + done + rm -f debian/lib*gcc1.symbols + rm -f debian/lib*{atomic$(ATOMIC_SONAME),cilkrts$(CILKRTS_SONAME),gfortran$(FORTRAN_SONAME),gomp$(GOMP_SONAME),itm$(ITM_SONAME),mpx$(MPX_SONAME),quadmath$(QUADMATH_SONAME),hsail-rt$(HSAIL_SONAME)}.symbols + find debian -maxdepth 1 -name '*-cross.symbols' -type l | xargs -r rm -f + rm -f debian/gcc-{XX,ar,nm,ranlib}-$(BASE_VERSION).1 + rm -f debian/shlibs.local debian/shlibs.common* debian/substvars.local + rm -f debian/*.debhelper + -[ -d debian/bugs ] && $(MAKE) -C debian/bugs clean + rm -f debian/README.libstdc++-baseline debian/README.Bugs debian/README.Debian.$(DEB_TARGET_ARCH) + rm -f debian/arch_binaries* debian/indep_binaries* + rm -rf bin locales share + rm -rf check-inst + rm -rf .pc + dh_clean +ifneq (,$(filter $(build_type), build-cross cross-build-cross)) + $(cross_clean) dh_clean +endif + +# ----------------------------------------------------------------------------- +# some abbrevations for the package names and directories; +# p_XXX is the package name, d_XXX is the package directory +# these macros are only used in the binary-* targets. + +ifeq ($(versioned_packages),yes) + pkg_ver := -$(BASE_VERSION) +endif + +# if native or rtlibs build +ifeq ($(if $(filter yes,$(DEB_CROSS)),$(if $(filter rtlibs,$(DEB_STAGE)),native,cross),native),native) + p_base = gcc$(pkg_ver)-base + p_lbase = $(p_base) + p_xbase = gcc$(pkg_ver)-base + p_gcc = gcc$(pkg_ver) + p_cpp = cpp$(pkg_ver) + p_cppd = cpp$(pkg_ver)-doc + p_cxx = g++$(pkg_ver) + p_doc = gcc$(pkg_ver)-doc +else + # only triggered if DEB_CROSS set + p_base = gcc$(pkg_ver)$(cross_bin_arch)-base + p_lbase = gcc$(pkg_ver)-cross-base$(GCC_PORTS_BUILD) + p_xbase = gcc$(pkg_ver)$(cross_bin_arch)-base + p_cpp = cpp$(pkg_ver)$(cross_bin_arch) + p_gcc = gcc$(pkg_ver)$(cross_bin_arch) + p_cxx = g++$(pkg_ver)$(cross_bin_arch) +endif +p_hppa64 = gcc$(pkg_ver)-hppa64-linux-gnu + +# needed for shlibs.common* generation +ifeq (,$(p_lgcc)) + p_lgcc = libgcc$(GCC_SONAME)$(cross_lib_arch) +endif +ifeq (,$(p_lib)) + p_lib = libstdc++$(CXX_SONAME)$(cross_lib_arch) +endif + +d = debian/tmp +d_base = debian/$(p_base) +d_xbase = debian/$(p_xbase) +d_gcc = debian/$(p_gcc) +d_cpp = debian/$(p_cpp) +d_cppd = debian/$(p_cppd) +d_cxx = debian/$(p_cxx) +d_doc = debian/$(p_doc) +d_lgcc = debian/$(p_lgcc) +d_hppa64= debian/$(p_hppa64) + +d_neon = debian/tmp-neon + +common_substvars = \ + $(shell awk "{printf \"'-V%s' \", \$$0}" debian/substvars.local) + +ifeq ($(DEB_CROSS),yes) + lib_binaries := indep_binaries +else + lib_binaries := arch_binaries +endif + +# --------------------------------------------------------------------------- + +ifeq ($(single_package),yes) + include debian/rules.d/binary-snapshot.mk +else + +ifneq ($(with_base_only),yes) +ifneq ($(DEB_CROSS),yes) +ifeq ($(with_source),yes) + include debian/rules.d/binary-source.mk +endif +endif +endif + +ifneq ($(BACKPORT),true) + +ifeq ($(with_gccbase),yes) + include debian/rules.d/binary-base.mk +endif + +ifneq ($(with_base_only),yes) + +# always include to get some definitions +include debian/rules.d/binary-libgcc.mk + +ifeq ($(with_libqmath),yes) + include debian/rules.d/binary-libquadmath.mk +endif + +ifeq ($(with_libgmath),yes) + include debian/rules.d/binary-libgccmath.mk +endif + +ifeq ($(with_libgomp),yes) + include debian/rules.d/binary-libgomp.mk +endif + +ifeq ($(with_libitm),yes) + include debian/rules.d/binary-libitm.mk +endif + +ifeq ($(with_libatomic),yes) + include debian/rules.d/binary-libatomic.mk +endif + +ifeq ($(with_libbacktrace),yes) + include debian/rules.d/binary-libbacktrace.mk +endif + +ifeq ($(with_cdev),yes) + include debian/rules.d/binary-cpp.mk +endif + +ifeq ($(with_fixincl),yes) + include debian/rules.d/binary-fixincl.mk +endif + +ifeq ($(with_libssp),yes) + include debian/rules.d/binary-libssp.mk +endif + +ifeq ($(with_objcxx),yes) + include debian/rules.d/binary-objcxx.mk +endif + +ifeq ($(with_objc),yes) + include debian/rules.d/binary-objc.mk + include debian/rules.d/binary-libobjc.mk +endif + +ifeq ($(with_go),yes) + include debian/rules.d/binary-go.mk +endif + +ifeq ($(with_brig),yes) + include debian/rules.d/binary-brig.mk + include debian/rules.d/binary-libhsail.mk +endif + +ifeq ($(with_cxxdev),yes) + include debian/rules.d/binary-cxx.mk +endif +ifeq ($(with_cxx),yes) + include debian/rules.d/binary-libstdcxx.mk +endif + +ifeq ($(with_libasan),yes) + include debian/rules.d/binary-libasan.mk +endif + +ifeq ($(with_liblsan),yes) + include debian/rules.d/binary-liblsan.mk +endif + +ifeq ($(with_libtsan),yes) + include debian/rules.d/binary-libtsan.mk +endif + +ifeq ($(with_libubsan),yes) + include debian/rules.d/binary-libubsan.mk +endif + +ifeq ($(with_libvtv),yes) + include debian/rules.d/binary-libvtv.mk +endif + +ifeq ($(with_libcilkrts),yes) + include debian/rules.d/binary-libcilkrts.mk +endif + +ifeq ($(with_libmpx),yes) + include debian/rules.d/binary-libmpx.mk +endif + +ifeq ($(with_f77),yes) + include debian/rules.d/binary-f77.mk +endif + +ifeq ($(with_fortran),yes) + include debian/rules.d/binary-fortran.mk +endif + +ifeq ($(with_ada),yes) + include debian/rules.d/binary-ada.mk +endif + +ifeq ($(with_d),yes) + include debian/rules.d/binary-d.mk +endif + +ifeq ($(with_libcc1),yes) + include debian/rules.d/binary-libcc1.mk +endif + +ifeq ($(with_jit),yes) + include debian/rules.d/binary-libgccjit.mk +endif + +ifeq ($(with_offload_nvptx),yes) + include debian/rules.d/binary-nvptx.mk +endif + +ifeq ($(with_libnof),yes) + ifeq ($(DEB_TARGET_GNU_CPU),powerpc) + include debian/rules.d/binary-nof.mk + endif +endif + +ifeq ($(with_softfloat),yes) + include debian/rules.d/binary-softfloat.mk +endif + +# gcc must be moved/built after g77 and g++ +ifeq ($(with_cdev),yes) + include debian/rules.d/binary-gcc.mk +endif + +ifeq ($(with_hppa64),yes) + include debian/rules.d/binary-hppa64.mk +endif + +ifeq ($(with_neon),yes) + include debian/rules.d/binary-neon.mk +endif + +endif # with_base_only +endif # BACKPORT +endif # ($(single_package),yes) + +# ---------------------------------------------------------------------- +install: $(install_dependencies) + +$(install_dummy_stamp): $(build_dummy_stamp) + touch $(install_dummy_stamp) + +$(install_snap_stamp): $(build_dependencies) + dh_testdir + dh_testroot + dh_prep + + : # Install directories + rm -rf $(d) + mkdir -p $(d)/$(PF) + +ifeq ($(with_hppa64),yes) + : # Install hppa64 + $(SET_PATH) \ + $(MAKE) -C $(builddir_hppa64) \ + $(call pass_vars, CC $(flags_to_pass)) \ + DESTDIR=$(CURDIR)/$(d) \ + install + + ls -l $(d)/$(PF)/bin + if [ ! -x $(d)/$(PF)/bin/hppa64-linux-gnu-gcc ]; then \ + mv $(d)/$(PF)/bin/hppa64-linux-gnu-gcc-7* $(d)/$(PF)/bin/hppa64-linux-gnu-gcc; \ + else \ + rm -f $(d)/$(PF)/bin/hppa64-linux-gnu-gcc-7*; \ + fi + + for i in ar nm ranlib; do \ + cp debian/gcc-$$i-$(BASE_VERSION).1 \ + $(d)/$(PF)/share/man/man1/hppa64-linux-gnu-gcc-$$i.1; \ + done + + : # remove files not needed from the hppa64 build + rm -rf $(d)/$(PF)/share/info + rm -rf $(d)/$(PF)/share/man + rm -f $(d)/$(PF)/$(libdir)/libiberty.a + rm -f $(d)/$(PF)/bin/*{gcov,gcov-dump,gcov-tool,gccbug,gcc} + + rm -rf $(d)/$(PF)/hppa64-linux-gnu/include + rm -rf $(d)/$(PF)/hppa64-linux-gnu/lib + set -e; \ + cd $(d)/$(PF)/$(libdir)/gcc/hppa64-linux-gnu/$(versiondir)/include-fixed; \ + for i in *; do \ + case "$$i" in \ + README|features.h|syslimits.h|limits.h) ;; \ + linux|$(TARGET_ALIAS)) ;; \ + $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu),$(TARGET_ALIAS))) ;; \ + *) echo "remove include-fixed/$$i"; rm -rf $$i; \ + esac; \ + done +endif + + : # Work around PR lto/41569 + ln -sf gcc $(builddir)/prev-gcc + ln -sf $(DEB_TARGET_GNU_TYPE) $(builddir)/prev-$(DEB_TARGET_GNU_TYPE) + + : # Install everything + $(SET_PATH) \ + $(SET_SHELL) \ + $(MAKE) -C $(builddir) \ + $(call pass_vars, $(flags_to_pass)) \ + DESTDIR=$(CURDIR)/$(d) \ + infodir=/$(PF)/share/info \ + mandir=/$(PF)/share/man \ + install + + ls -l $(d)/$(PF)/bin + + for i in ar nm ranlib; do \ + cp debian/gcc-$$i-$(BASE_VERSION).1 \ + $(d)/$(PF)/share/man/man1/$(cmd_prefix)gcc-$$i.1; \ + done + + if [ ! -x $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc ]; then \ + mv $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc-7* $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc; \ + else \ + rm -f $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc-7*; \ + fi + set -e; \ + cd $(d)/$(gcc_lib_dir)/include-fixed; \ + for i in *; do \ + case "$$i" in \ + README|features.h|syslimits.h|limits.h) ;; \ + linux|$(TARGET_ALIAS)) ;; \ + $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu),$(TARGET_ALIAS))) ;; \ + *) echo "remove include-fixed/$$i"; rm -rf $$i; \ + esac; \ + done + +ifneq ($(configured_libdir),$(libdir)) + for i in debug go pkgconfig '*.so' '*.so.*' '*.a' '*.la' '*.py' '*.spec'; do \ + mv $(d)/$(PF)/$(configured_libdir)/$$i \ + $(d)/$(PF)/$(libdir)/. || true; \ + done +endif + + -ls -l $(d)/usr + if [ -d $(d)/usr/man/man1 ]; then \ + mv $(d)/usr/man/man1/* $(d)/usr/share/man/man1/; \ + fi + + chmod 755 debian/dh_* + touch $(install_snap_stamp) + +$(install_stamp): $(build_stamp) + dh_testdir + dh_testroot + dh_prep -N$(p_hppa64) + + if [ -f $(binary_stamp)-hppa64 ]; then \ + mv $(binary_stamp)-hppa64 saved-stamp-hppa64; \ + fi + rm -f $(binary_stamp)* + if [ -f saved-stamp-hppa64 ]; then \ + mv saved-stamp-hppa64 $(binary_stamp)-hppa64; \ + fi + + : # Install directories + rm -rf $(d) + mkdir -p $(d)/$(libdir) $(d)/$(PF) $(d)/$(PF)/$(libdir)/debug +ifeq ($(biarch32),yes) + mkdir -p $(d)/$(PF)/$(lib32loc)/debug +endif +ifeq ($(biarch64),yes) + mkdir -p $(d)/$(PF)/lib64/debug +endif +ifeq ($(biarchn32),yes) + mkdir -p $(d)/$(PF)/$(libn32)/debug +endif +ifeq ($(biarchx32),yes) + mkdir -p $(d)/$(PF)/libx32/debug +endif + +ifneq (,$(filter $(DEB_TARGET_GNU_CPU),x86_64 sparc64 s390x powerpc64)) +ifneq ($(DEB_TARGET_ARCH),x32) + : # link lib to lib64 and $(PF)/lib to $(PF)/lib64 + : # (this works when CONFARGS contains '--disable-multilib') + ln -s $(configured_libdir) $(d)/lib64 + mkdir -p $(d)/$(PF)/$(configured_libdir) + ln -s $(configured_libdir) $(d)/$(PF)/lib64 +endif +endif +ifeq ($(DEB_TARGET_ARCH),x32) + : # link lib to libx32 and $(PF)/lib to $(PF)/libx32 + ln -s $(configured_libdir) $(d)/libx32 + mkdir -p $(d)/$(PF)/$(configured_libdir) + ln -s $(configured_libdir) $(d)/$(PF)/libx32 +endif + + : # Install everything + $(SET_PATH) \ + $(SET_SHELL) \ + $(MAKE) -C $(builddir) \ + $(call pass_vars, $(flags_to_pass)) \ + DESTDIR=$(CURDIR)/$(d) \ + infodir=/$(PF)/share/info \ + mandir=/$(PF)/share/man \ + install + +ifeq ($(DEB_STAGE)-$(DEB_CROSS),rtlibs-yes) + @echo configured_libdir=$(configured_libdir) / libdir=$(libdir) / usr_lib=$(usr_lib) + ls $(d)/$(PF)/$(TARGET_ALIAS)/lib + set -x; \ + if [ -d $(d)/$(PF)/$(TARGET_ALIAS)/lib ]; then \ + cp -a $(d)/$(PF)/$(TARGET_ALIAS)/lib/* $(d)/$(PF)/lib/$(DEB_TARGET_MULTIARCH)/.; \ + fi + for d in $$(cd $(d)/$(PF)/$(TARGET_ALIAS); echo lib?*); do \ + [ -d $(d)/$(PF)/$(TARGET_ALIAS)/$$d ] || continue; \ + cp -a $(d)/$(PF)/$(TARGET_ALIAS)/$$d/* $(d)/$(PF)/$$d/.; \ + done +else + ifneq ($(configured_libdir),$(libdir)) + for i in debug go pkgconfig '*.so' '*.so.*' '*.a' '*.la' '*.o' '*.py' '*.spec'; do \ + mv $(d)/$(PF)/$(configured_libdir)/$$i \ + $(d)/$(PF)/$(libdir)/. || true; \ + done + endif +endif + +ifneq (,$(cmd_prefix)) + for i in $(d)/$(PF)/share/info/$(cmd_prefix)*; do \ + [ -f "$$i" ] || continue; \ + mv $$i $$(echo $$i | sed 's/$(cmd_prefix)//'); \ + done +endif + +ifeq ($(with_libcxxdbg),yes) + : # FIXME: the libstdc++ gdb.py file is installed with a wrong name + for i in $$(find $(d)/$(PF) -name libstdc++_pic.a-gdb.py); do \ + [ -f $$i ] || continue; \ + d=$$(dirname $$i); \ + b=$$(basename $$i); \ + t=$$(cd $$d; echo libstdc++.so.*.*.*)-gdb.py; \ + mv $$i $$d/$$t; \ + done +endif + + if [ -d $(d)/$(PF)/include/cilk ]; then \ + mv $(d)/$(PF)/include/cilk $(d)/$(gcc_lib_dir)/include/. ;\ + fi + + : # remove rpath settings from binaries and shared libs + for i in $$(chrpath -k $(d)/$(PF)/bin/* $(d)/$(PFL)/lib*/lib*.so.* \ + $(d)/$(gcc_lib_dir)/plugin/* \ + $(if $(filter $(with_multiarch_lib),yes), \ + $(d)/$(PF)/lib/$(DEB_TARGET_MULTIARCH)/lib*.so.*) \ + 2>/dev/null | awk -F: '/R(UN)?PATH=/ {print $$1}'); \ + do \ + case "$$i" in ecj1|*gij-*|*libjawt*|*libjvm*) continue; esac; \ + [ -h $$i ] && continue; \ + chrpath --delete $$i; \ + echo "removed RPATH/RUNPATH: $$i"; \ + done + + : # remove '*.la' and '*.lai' files, not shipped in any package. + find $(d) -name '*.la' -o -name '*.lai' | xargs -r rm -f + +ifeq ($(GFDL_INVARIANT_FREE),yes) + for i in gcc gcov; do \ + I=`echo $$i | tr a-z A-Z`; \ + sed -e "s/@NAME@/$$I$(pkg_ver)/g" -e "s/@name@/$$i$(pkg_ver)/g" \ + debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \ + done + + ifeq ($(with_fortran),yes) + for i in g77; do \ + I=`echo $$i | tr a-z A-Z`; \ + sed -e "s/@NAME@/$$I$(pkg_ver)/g" -e "s/@name@/$$i$(pkg_ver)/g" \ + debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \ + done + endif +endif + +ifneq ($(with_libgnat),yes) + rm -f $(d)/$(gcc_lib_dir)/adalib/lib*.so* +endif + +# FIXME: libgnatvsn needs proper configure/Makefile +ifeq ($(DEB_CROSS),yes) + ifeq ($(with_ada),yes) + mv $(d)/$(PF)/lib/libgnatvsn* $(d)/$(usr_lib)/. || true + endif +endif + +# ifeq ($(with_ada),yes) +# : # rename files (versioned ada binaries) +# for i in ; do \ +# mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i-$(GNAT_VERSION); \ +# mv $(d)/$(PF)/share/man/man1/$$i.1 \ +# $(d)/$(PF)/share/man/man1/$$i-$(GNAT_VERSION).1; \ +# done +# for i in $(GNAT_TOOLS); do \ +# mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i-$(GNAT_VERSION); \ +# done +# endif + + for i in ar nm ranlib; do \ + cp debian/gcc-$$i-$(BASE_VERSION).1 \ + $(d)/$(PF)/share/man/man1/$(cmd_prefix)gcc-$$i$(pkg_ver).1; \ + done + + chmod 755 debian/dh_* + +ifneq ($(with_common_libs),yes) +# for native builds, the default ml libs are always available; no need for a placeholder +# apparently this changed with newer dpkg versions (1.18.7?) ... + echo 'libgcc_s $(GCC_SONAME) $(p_lgcc)' > debian/shlibs.common + echo 'libstdc++ $(CXX_SONAME) $(p_lib)' >> debian/shlibs.common + echo 'libquadmath $(QUADMATH_SONAME) libquadmath$(QUADMATH_SONAME)' >> debian/shlibs.common + $(foreach ml,32 64 n32 x32 hf sf, \ + echo 'libgcc_s $(GCC_SONAME) $(subst lib,lib$(ml),$(p_lgcc))' > debian/shlibs.common$(ml); \ + echo 'libstdc++ $(CXX_SONAME) $(subst lib,lib$(ml),$(p_lib))' >> debian/shlibs.common$(ml); \ + echo 'libquadmath $(QUADMATH_SONAME) lib$(ml)quadmath$(QUADMATH_SONAME)' >> debian/shlibs.common$(ml); \ + ) +endif + + @echo XXXXX `date -R` + find $(d) ! -type d -print + @echo XXXXX + touch $(install_stamp) + +$(install_jit_stamp): $(build_jit_stamp) $(install_stamp) + dh_testdir + dh_testroot + rm -rf $(d)-jit + mkdir -p $(d)-jit/$(PF) + + $(SET_PATH) \ + biarch_multidir_names=none \ + $(MAKE) -C $(builddir_jit) \ + CC="$(CC_FOR_TARGET)" \ + $(call pass_vars, $(flags_to_pass)) \ + DESTDIR=$(CURDIR)/$(d)-jit \ + install + + : # copy files to the standard build + cp -a $(d)-jit/$(PF)/include/libgccjit*.h \ + $(d)/$(gcc_lib_dir)/include/. + cp -a $(d)-jit/$(PF)/lib/libgccjit.so* \ + $(d)/$(usr_lib)/. + cp -a $(d)-jit/$(PF)/share/info/libgccjit* \ + $(d)/$(PF)/share/info/. + + @echo XXXXX `date -R` + touch $(install_jit_stamp) + +$(install_nvptx_stamp): $(build_nvptx_stamp) $(install_stamp) \ + $(if $(filter yes, $(with_jit)), $(install_jit_stamp)) \ + $(if $(filter yes, $(with_hppa64)), $(install_hppa64_stamp)) + dh_testdir + dh_testroot + ln -sf ../$(nl_nvptx_srcdir)/newlib $(srcdir)/newlib + rm -rf $(d)-nvptx + mkdir -p $(d)-nvptx/$(PF) + + $(SET_PATH) \ + biarch_multidir_names=none \ + $(MAKE) -C $(builddir_nvptx) \ + CC="$(CC_FOR_TARGET)" \ + $(call pass_vars, $(flags_to_pass)) \ + DESTDIR=$(CURDIR)/$(d)-nvptx \ + install + + find $(d)-nvptx + @echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + rm -rf $(d)-nvptx/$(libexecdir)/$(gcc_subdir_name)/nvptx-none/$(versiondir)/install-tools + rm -rf $(d)-nvptx/$(libexecdir)/$(gcc_subdir_name)/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/{install-tools,plugin,cc1,cc1plus,f951} + rm -rf $(d)-nvptx/$(PF)/share/{info,man/man7,locale} + rm -rf $(d)-nvptx/$(PF)/share/man/man1/*-{gcov,gfortran,g++,cpp}.1 + rm -rf $(d)-nvptx/$(PF)/lib/gcc/nvptx-none/$(versiondir)/{install-tools,plugin} + rm -rf $(d)-nvptx/$(PF)/lib/gcc/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/{install-tools,plugin,include-fixed} + rm -rf $(d)-nvptx/$(PF)/lib/libc[cp]1* + + mv -f $(d)-nvptx/$(PF)/nvptx-none/lib/*.{a,spec} \ + $(d)-nvptx/$(PF)/lib/gcc/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/ + mv -f $(d)-nvptx/$(PF)/nvptx-none/lib/mgomp/*.{a,spec} \ + $(d)-nvptx/$(PF)/lib/gcc/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/mgomp/ + mv -f $(d)-nvptx/$(PF)/lib/gcc/nvptx-none/$(versiondir)/*.a \ + $(d)-nvptx/$(PF)/lib/gcc/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/ + mv -f $(d)-nvptx/$(PF)/lib/gcc/nvptx-none/$(versiondir)/mgomp/*.a \ + $(d)-nvptx/$(PF)/lib/gcc/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/mgomp/ + find $(d)-nvptx -name \*.la | xargs rm -f + rm -rf $(d)-nvptx/$(PF)/nvptx-none/include + -find $(d)-nvptx -type -d -empty -delete + @echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + find $(d)-nvptx + @echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + rm -f $(srcdir)/newlib + @echo XXXXX `date -R` + touch $(install_nvptx_stamp) + +$(install_hppa64_stamp): $(build_hppa64_stamp) + dh_testdir + dh_testroot + rm -rf $(d_hppa64) + mkdir -p $(d_hppa64)/$(PF) + + $(SET_PATH) \ + $(MAKE) -C $(builddir_hppa64) \ + $(call pass_vars, CC $(flags_to_pass)) \ + DESTDIR=$(CURDIR)/$(d_hppa64) \ + install + + : # remove files not needed + rm -rf $(d_hppa64)/$(PF)/info $(d_hppa64)/$(PF)/share/info + rm -rf $(d_hppa64)/$(PF)/man $(d_hppa64)/$(PF)/share/man + rm -rf $(d_hppa64)/$(PF)/lib/gcc/hppa64-linux-gnu/$(BASE_VERSION)/plugin + rm -f $(d_hppa64)/$(PF)/lib/libiberty.a + rm -f $(d_hppa64)/$(PF)/lib/libcc1.* + rm -f $(d_hppa64)/$(PF)/bin/*{gcov,gcov-dump,gcov-tool,gccbug,gcc} + + rm -rf $(d_hppa64)/$(PF)/hppa64-linux-gnu + rm -rf $(d_hppa64)/$(PF)/lib/gcc/hppa64-linux-gnu/$(BASE_VERSION)/install-tools + +ifeq ($(versioned_packages),yes) + for i in cpp gcc-ar gcc-nm gcc-ranlib; do \ + mv -f $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-$$i \ + $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-$$i$(pkg_ver); \ + done +endif + mkdir -p $(d_hppa64)/$(PF)/share/man/man1 + for i in gcc-ar gcc-nm gcc-ranlib; do \ + ln -sf $$i$(pkg_ver).1.gz \ + $(d_hppa64)/$(PF)/share/man/man1/hppa64-linux-gnu-$$i$(pkg_ver).1.gz; \ + done +ifneq ($(GFDL_INVARIANT_FREE),yes) + for i in cpp gcc; do \ + ln -sf $$i$(pkg_ver).1.gz \ + $(d_hppa64)/$(PF)/share/man/man1/hppa64-linux-gnu-$$i$(pkg_ver).1.gz; \ + done +endif + + : # remove '*.la' and '*.lai' files, not shipped in any package. + find $(d_hppa64) -name '*.la' -o -name '*.lai' | xargs -r rm -f + + : # remove rpath settings from binaries and shared libs + for i in $$(chrpath -k $(d_hppa64)/$(PF)/bin/* $(d_hppa64)/$(PFL)/lib*/lib*.so.* \ + $(d_hppa64)/$(gcc_lib_dir)/plugin/* \ + $(if $(filter $(with_multiarch_lib),yes), \ + $(d_hppa64)/$(PF)/lib/$(DEB_TARGET_MULTIARCH)/lib*.so.*) \ + 2>/dev/null | awk -F: '/R(UN)?PATH=/ {print $$1}'); \ + do \ + [ -h $$i ] && continue; \ + chrpath --delete $$i; \ + echo "removed RPATH/RUNPATH: $$i"; \ + done + + touch $(install_hppa64_stamp) + +$(install_neon_stamp): $(build_neon_stamp) + dh_testdir + dh_testroot + rm -rf $(d_neon) + mkdir -p $(d_neon)/$(PF) + + $(SET_PATH) \ + $(MAKE) -C $(builddir_neon) \ + $(call pass_vars, CC $(flags_to_pass)) \ + DESTDIR=$(CURDIR)/$(d_neon) \ + install + touch $(install_neon_stamp) + +# ---------------------------------------------------------------------- +# Build architecture-dependent files here. +debian/arch_binaries.all: $(foreach i,$(arch_binaries),$(binary_stamp)-$(i)) + cd debian; xargs -r du -s < arch_binaries | sort -nr | awk '{print $$2}' \ + > arch_binaries.tmp + mv debian/arch_binaries.tmp debian/arch_binaries + sed -i 's/ /\n/g' debian/arch_binaries.epoch || touch debian/arch_binaries.epoch + cat debian/arch_binaries debian/arch_binaries.epoch > debian/arch_binaries.all + +binary-arch: debian/arch_binaries.all + dh_compress $(foreach p,$(shell echo `cat debian/arch_binaries.all`),-p$(p)) \ + -X.log.xz -X.sum.xz -X.c -X.txt -X.tag -X.map -XREADME.Bugs +ifeq ($(i586_symlinks),yes) + cd debian; \ + for x in $$(find `cat arch_binaries` -type l -name 'i686-*'); do \ + link=$$(echo $$x | sed 's/i686-/i586-/'); \ + tgt=$$(basename $$x); \ + echo "Adding symlink: $$link -> $$tgt"; \ + rm -f $$link; cp -a $$x $$link; \ + done +endif + dh_fixperms $(foreach p,$(shell echo `cat debian/arch_binaries.all`),-p$(p)) + dh_gencontrol $(foreach p,$(shell echo `cat debian/arch_binaries`),-p$(p)) \ + -- -v$(DEB_VERSION) $(common_substvars) + @set -e; \ + pkgs='$(strip $(foreach p,$(shell echo `cat debian/arch_binaries.epoch`),-p$(p)))'; \ + if [ -n "$$pkgs" ]; then \ + echo dh_gencontrol $$pkgs -- -v$(DEB_EVERSION) $(common_substvars); \ + dh_gencontrol $$pkgs -- -v$(DEB_EVERSION) $(common_substvars); \ + fi + dh_installdeb $(foreach p,$(shell echo `cat debian/arch_binaries.all`),-p$(p)) + dh_md5sums $(foreach p,$(shell echo `cat debian/arch_binaries.all`),-p$(p)) + dh_builddeb $(foreach p,$(shell echo `cat debian/arch_binaries.all`),-p$(p)) +ifeq ($(with_check),yes) + @echo Done +# : # Send Email about sucessfull build. +# # cat raw-test-summary | sh; echo "Sent mail to $(S_EMAIL)" +endif + + : # remove empty directories, when all components are in place + -find $(d) -type d -empty -delete + + @echo "Listing installed files not included in any package:" + -find $(d) ! -type d + + @echo XXXXX `date -R` + +# ---------------------------------------------------------------------- +# Build architecture-independent files here. +debian/indep_binaries.all: $(foreach i,$(indep_binaries),$(binary_stamp)-$(i)) + cd debian; xargs -r du -s < indep_binaries | sort -nr | awk '{print $$2}' \ + > indep_binaries.tmp + mv debian/indep_binaries.tmp debian/indep_binaries + sed -i 's/ /\n/g' debian/indep_binaries.epoch || touch debian/indep_binaries.epoch + cat debian/indep_binaries debian/indep_binaries.epoch > debian/indep_binaries.all + +binary-indep: debian/indep_binaries.all + dh_compress $(foreach p,$(shell echo `cat debian/indep_binaries.all`),-p$(p)) \ + -X.log.xz -X.sum.xz -X.c -X.txt -X.tag -X.map -XREADME.Bugs + dh_fixperms $(foreach p,$(shell echo `cat debian/indep_binaries.all`),-p$(p)) + : # the export should be harmless for the binary indep packages of a native build + export DEB_HOST_ARCH=$(TARGET); \ + dh_gencontrol $(foreach p,$(shell echo `cat debian/indep_binaries`),-p$(p)) \ + -- -v$(DEB_VERSION) $(common_substvars) + @set -e; \ + export DEB_HOST_ARCH=$(TARGET); \ + pkgs='$(strip $(foreach p,$(shell echo `cat debian/indep_binaries.epoch`),-p$(p)))'; \ + if [ -n "$$pkgs" ]; then \ + echo dh_gencontrol $$pkgs -- -v$(DEB_EVERSION) $(common_substvars); \ + dh_gencontrol $$pkgs -- -v$(DEB_EVERSION) $(common_substvars); \ + fi + +ifneq (,$(filter $(DEB_TARGET_ARCH), mips mipsel mips64 mips64el mipsn32 mipsn32el)) + for p in `cat debian/indep_binaries debian/indep_binaries.epoch`; do \ + p=$${p#-p*}; \ + case "$$p" in \ + lib64*) echo mangle $$p; sed -i -r '/^(Dep|Rec|Sug)/s/libn?32[^,]+(, *|$$)//g;/^(Dep|Rec|Sug)/s/$(p_lgcc)/$(p_l64gcc)/;/^(Dep|Rec|Sug)/s/ *, *$$//' debian/$$p/DEBIAN/control;; \ + libn32*) echo mangle $$p; sed -i -r '/^(Dep|Rec|Sug)/s/lib64[^,]+(, *|$$)//g;/^(Dep|Rec|Sug)/s/$(p_lgcc)/$(p_ln32gcc)/;/^(Dep|Rec|Sug)/s/ *, *$$//' debian/$$p/DEBIAN/control;; \ + esac; \ + done +endif + + dh_installdeb $(foreach p,$(shell echo `cat debian/indep_binaries.all`),-p$(p)) + dh_md5sums $(foreach p,$(shell echo `cat debian/indep_binaries.all`),-p$(p)) + dh_builddeb $(foreach p,$(shell echo `cat debian/indep_binaries.all`),-p$(p)) + + @echo XXXXX `date -R` + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary +.PRECIOUS: $(stampdir)/%-stamp debian/indep_binaries.all debian/arch_binaries.all --- gcc-7-7.1.0.orig/debian/runcheck.sh +++ gcc-7-7.1.0/debian/runcheck.sh @@ -0,0 +1,23 @@ +#! /bin/sh + +mkdir -p build + +abi=${CC##* } +base=build/runcheck$abi + +cat >$base.c < +int main() +{ + printf("$abi"); + return 0; +} +EOF + + +if ${CC:-gcc} -o $base $base.c 2>/dev/null; then + if [ "$($base 2>&1)" = "$abi" ]; then + printf "%s" $abi > $base.out + printf "%s" $abi + fi +fi --- gcc-7-7.1.0.orig/debian/source/format +++ gcc-7-7.1.0/debian/source/format @@ -0,0 +1 @@ +1.0 --- gcc-7-7.1.0.orig/debian/source/lintian-overrides +++ gcc-7-7.1.0/debian/source/lintian-overrides @@ -0,0 +1,6 @@ +invalid-arch-string-in-source-relation + +quilt-build-dep-but-no-series-file + +# lintian can't handle (>= ${gcc:Version}) +weak-library-dev-dependency --- gcc-7-7.1.0.orig/debian/watch +++ gcc-7-7.1.0/debian/watch @@ -0,0 +1,2 @@ +version=2 +ftp://gcc.gnu.org/pub/gcc/releases/gcc-(6\.[\d\.]*) debian uupdate